SlideShare a Scribd company logo
1 of 72
Download to read offline
Rails und Scrum in
großen Projekten
       Ein Einblick in die Praxis




     Phillip Oertel, betterplace.org
 HPI Uni Potsdam, 10. November 2009
Überblick

• Intro
• Scrum
• ein typischer Tag ...
• Ruby, Rails
• Q&A Session
Intro
über mich


• seit 1999 Web-/Software-Entwickler
• Ruby on Rails seit 2005 (~4 Jahre)
• Scrum: 1½ Jahre
über mich


• zuletzt 3 Jahre Rails bei
• jetzt: technischer Leiter bei
großes Projekt?




                               Stand 09.2009
         Rails

     Frontend

       Tester

Product Owner

 Scrum Master

                 0   10   20   30
über Euch

• 5tes Semester
• Aufgabe: ERP-System erstellen
• 13 Wochen-Projekt (80-100 Stunden)
• 13 Teams á 4-8 Studenten
• Projekt hat gerade angefangen
über Euch



 ?
Zahlen, Zahlen, Zahlen.

• „68% aller IT-Projekte scheitern.“
  http://www.silicon.de/cio/strategie/0,39038989,39200412,00/68+prozent+aller+it_projekte+scheitern.htm




• „Konventionelle Projekte scheitern öfter.“
  59% vs. 35% Prozent.
  http://www.computerwoche.de/mittelstand/1907184/index3.html




• „92% would recommend agile to others.“
  http://www.succeedingwithagile.com/wp-content/uploads/2009/10/Reported-Benefits-of-Agile.ppt




                                                                                                          http://fuwatch.wordpress.com
agile ???
Agile Manifesto
Individuals and interactions over processes and tools

Working software over comprehensive documentation

 Customer collaboration over contract negotiation

     Responding to change over following a plan

        that is, why there is value in things on the right, we value the
                            things on the left more.


                                                                           http://agilemanifesto.org
Scrum
SCRUM                            Lernen
                                     selbst rausfinden
 Team                            Anpassen
       Diskussion
                                        Vertrauen
Zusammenarbeit

 Transparenz
    Big Visible Charts            Schlank
                                    Priorisierung
                  Iterativ
                                Fokus
     Mut
                         hohe Eigenverantwortung
Unsicherheit
Scrum-Warnung 1

„You don't see high performing
Scrum teams without XP
engineering practices.“
― Jeff Sutherland und Ron Jeffries




                                     http://blog.crisp.se/henrikkniberg/2007/10/13/1192249140000.html
XP            simplicity
                                      test-first

YAGNI: don‘t add
functionality early          spike solutions

                                    sustainable pace
                  refactor
integrate
  often                             collective
                                    ownership
        pair programming
           move people around           agreed standards
                                               http://www.extremeprogramming.org/rules.html
Scrum-Warnung 2

Kein Prozess und kein Tool der Welt
erlauben es, sich zurückzulehnen und
den Kopf abzuschalten ...
... außer nach
   Feierabend.
Scrum-Warnung 3
• „The good thing about Scrum is it doesn’t
  claim to be right. It claims to be a flexible
  foundation which will get better each iteration.“
  http://blog.brianhartsock.com/2009/11/04/an-outsiders-first-look-at-scrum/




• Nutzt die Retrospektiven, und passt Euer
  Vorgehen an.
• Aber: „understand the rules before you
  break them.“                                http://xprogramming.com/xpmag/jatBaseball
Rollen in Scrum
Rolle: Product Owner

• Holt Anforderungen vom Kunden ab
• bereitet sie für die Programmierung vor
• Priorisiert und stellt dem Team die gerade
  wichtigsten vor
• Nimmt am Sprint-Ende Ergebnisse ab
• zentrale Rolle. Sagt Ja/Nein.
Beispiel:
     Inventar-Software
1. Gegenstände erfassen
  (Name, Kategorie (vorgegeben), eindeutige Id, Kaufdatum, aktueller Standort)

2. Aufkleber drucken
  (eindeutige Id, Name der Firma)

3. Gegenstände auflisten
4. Gegenstände suchen
Achtung:
     Nichtfunktionale
     Anforderungen?
• Bsp: „System muß 1.000 Benutzer
  gleichzeitig verkraften“
• werden in Besprechung mit dem Team
  herausgefunden (z.B. Estimation Meeting)
TIP


• Beginnt früh mit der Anforderung, bei der
  die größte Unsicherheit besteht.
TIP

• Regelmäßige Treffen der Product Owner
  zur Abstimmung: Product Owner Team.
• ein für alle klares Projektziel
• hat auch einen (Teilzeit-)Scrum Master.
Rolle: Scrum Master
• Kennt Scrum und bringt es dem Team bei.
  Ziel: sich selbst überflüssig machen
• Beseitigt aktiv Hindernisse (Impediments)
• Schützt das Team vor Störungen
• „Führt durch Dienen“. Hilft, gleicht aus,
  coacht. Moderiert die Meetings, bereitet sie
  vor und nach.
• Hat keine Macht: entscheidet nicht mit.
Beispiel: Planning Board




                   https://scrumy.com/hpi-demo-1
Beispiel: Planning Board

           L!
        A I
       F
                   https://scrumy.com/hpi-demo-1
Beispiel: Planning Board
Beispiel: Planning Board

                     ‘ IT
                            E !
                      T
                   IN



                    I
            E DO
           R
         U‘



         R
      YO
Rolle: Team (Entwickler)
• Implementieren die Anforderungen
• Planen den Sprint
• Schreiben Unit Tests
• Präsentieren am Sprint-Ende das Ergebnis
• Schätzen den Aufwand der Anforderungen
  (Estimation Meetings)
Rolle: Team (Tester)

• Testet und gibt Feedback
• erstellt automatisierte Akzeptanz-Tests
• erarbeitet mit Product Owner die
  Akzeptanz-Kriterien für Anforderungen
  („Wann ist etwas fertig?“)
Anforderungen mit                                   beschreiben
# The title should describe an activity
Feature: An Admin creates users
# [...]
# The scenario title should say what´s different
Scenario: Add a user
  # put the system in a known state
  Given I am on "the add a user form"
  # describe the key action(s)
  When I enter correct user data
  And I click on the CREATE button
  # observe/test outcomes
  Then I should see "the user detail page“ for the new user




                                                                                          http://cukes.info
                                          http://wiki.github.com/aslakhellesoy/cucumber/given-when-then
                                                                      http://dannorth.net/introducing-bdd
Tip: Scrum of Scrums

• Nach dem Daily Scrum des Teams geht ein
  Entwickler zum „Über-Daily-Scrum“
• dort: „was hat mein Team gemacht ...“, nicht
  „Was habe ich ...“
ein typischer Tag ...
Sprint Planning Board
(c) http://www.flickr.com/photos/e-ality
(c) http://www.flickr.com/photos/e-ality
Red,
 Green,
Refactor!
TIP

• frühzeitig automatisieren (eigenes Team?)
• Ein Build pro Produkt
• Ein Integrations-Build mit allem
Meeten (=Reden)
Ruby
Ruby
offene Klassen
# Inventar-Team programmiert:
class Item
  def current_value
    42
  end
end

# Finanzen-Team programmiert:
class Item
  def current_value
    47.11
  end
end
offene Klassen

# Lösung
module Inventory              module Finance
  class Item                    class Item
    def current_value             def current_value
      42                            47.11
    end                           end
  end                           end
end                           end



assert_equal 42, @item.current_value
Ruby on Rails
Architektur 1:
Namespaces
Archi-Variante 2: Engines
Architektur 3:
      ActiveResource

• „SOA Light“ mit REST-Architektur.
• Jede Anwendung/Dienst (Inventar,
  BenutzerAuth) ist ein eigener Prozess
• zusätzlicher Komplexitätgrad
Architektur 3:
ActiveResource
MVC

• „fat model, skinny controller“
  Geschäftslogik ins Modell

• Controller ist Mediator
• View ist schlank und dumm
Eine kleine Geschichte


 Der Release-Termin von
 Windows 7
 wurde zweimal verschoben.




                             http://www.spiegel.de/spiegel/0,1518,634334,00.html
Eine kleine Geschichte


er wurde zweimal vorverlegt!




                               http://www.spiegel.de/spiegel/0,1518,634334,00.html
Eine kleine Geschichte


Microsoft arbeitet
seit 3 Jahren mit XP,
einem agilen Prozess.




                        http://www.spiegel.de/spiegel/0,1518,634334,00.html
diese Seite wurde absichtlich freigelassen.
Zusammenfassung

• Scrum-Grundregeln umsetzen, dann das
  Vorgehen regelmäßig anpassen

• Rubys Stärken und Schwächen
  kennen und entsprechend arbeiten
• habt nicht die Erwartung, das in eurem
  kurzen Projekt alles auf Anhieb klappt!
Länger so arbeiten?

• betterplace.org
  po@betterplace.org


• XING
  alexander.greim@xing.com
Buchtips
Scrum-Basics
kurz, gut, alles Wesentliche drin

   http://tinyurl.com/2p5fqq
Scrum-Basics und
   kundenorientiertes
Anforderungs-Management

http://tinyurl.com/yfuruxt
gutes deutschsprachiges
       Rails-Buch

http://tinyurl.com/yh6x9jg
Bitte um Feedback!
po@betterplace.org
Extras
Merkmale guter
     Anforderungen
• Unabhängig
• Verhandelbar
• Nützlich
• Schätzbar
• Klein
• Testbar
                      „Scrum“ - Roman Pichler, Seite 44-46
„Why the Waterfall
      model doesn‘t work“
        G N  S
      N IO
     O T „the requirements are reasonably
    R P
  W M well defined“
   SU
A
  S • „changes during development will be small“
    • „system integration is predictable & plannable“
    • „software innovation and R&D are predictable“
                                        „Scaling Software Agility“, Dean Leffingwell, Seite 17-27
„Campus Management“




Erstes Release ca. 2001; Einführung hier WS 2005.
Die Bewertung ist aus dem Sommersemester 2006.

                                                    http://is.gd/4Rco7

More Related Content

What's hot

Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumScrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumRobert Wiechmann
 
Scrum checklist 2013
Scrum checklist 2013Scrum checklist 2013
Scrum checklist 2013Hanser Update
 
Scrum Überblick Teil 1
Scrum Überblick Teil 1Scrum Überblick Teil 1
Scrum Überblick Teil 1Christof Zahn
 
Scrum zum Anfassen
Scrum zum AnfassenScrum zum Anfassen
Scrum zum AnfassenTilman Moser
 
Scrum Überblick Teil 2
Scrum Überblick Teil 2Scrum Überblick Teil 2
Scrum Überblick Teil 2Christof Zahn
 
Scrum und Agile Software Entwicklung
Scrum und Agile Software EntwicklungScrum und Agile Software Entwicklung
Scrum und Agile Software EntwicklungAniello Bove
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshopmrdoubleb
 
Agiles Projektmanagement mit Scrum - Einführung
Agiles Projektmanagement mit Scrum - EinführungAgiles Projektmanagement mit Scrum - Einführung
Agiles Projektmanagement mit Scrum - EinführungAtilla Wohllebe
 
Einführung zur Projektmanagement mit Scrum
Einführung zur Projektmanagement mit Scrum Einführung zur Projektmanagement mit Scrum
Einführung zur Projektmanagement mit Scrum Pierre E. NEIS
 
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumJohannes Diemke
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)Ulf Mewe
 
Product owner: Wunderkind oder Sündenbock? Sibylle Peter
Product owner: Wunderkind oder Sündenbock? Sibylle PeterProduct owner: Wunderkind oder Sündenbock? Sibylle Peter
Product owner: Wunderkind oder Sündenbock? Sibylle PeterCorimbus GmbH
 
Scrum Zertifizierungen
Scrum ZertifizierungenScrum Zertifizierungen
Scrum ZertifizierungenManuel Marsch
 
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-Strategie
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-StrategieScrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-Strategie
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-StrategieBabak Zand
 
Agile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus NotesAgile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus NotesWerner Motzet
 
Scrum - Einführung - Begriffe - Technik
Scrum - Einführung - Begriffe - TechnikScrum - Einführung - Begriffe - Technik
Scrum - Einführung - Begriffe - TechnikManuel Marsch
 
Agiles Projektmanagement mit Scrum
Agiles Projektmanagement mit ScrumAgiles Projektmanagement mit Scrum
Agiles Projektmanagement mit ScrumFlorian Latzel
 

What's hot (20)

Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumScrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
 
Scrum checklist 2013
Scrum checklist 2013Scrum checklist 2013
Scrum checklist 2013
 
Scrum Überblick Teil 1
Scrum Überblick Teil 1Scrum Überblick Teil 1
Scrum Überblick Teil 1
 
Scrum zum Anfassen
Scrum zum AnfassenScrum zum Anfassen
Scrum zum Anfassen
 
Scrum Überblick Teil 2
Scrum Überblick Teil 2Scrum Überblick Teil 2
Scrum Überblick Teil 2
 
Scrum und Agile Software Entwicklung
Scrum und Agile Software EntwicklungScrum und Agile Software Entwicklung
Scrum und Agile Software Entwicklung
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshop
 
Agiles Projektmanagement mit Scrum - Einführung
Agiles Projektmanagement mit Scrum - EinführungAgiles Projektmanagement mit Scrum - Einführung
Agiles Projektmanagement mit Scrum - Einführung
 
Einführung zur Projektmanagement mit Scrum
Einführung zur Projektmanagement mit Scrum Einführung zur Projektmanagement mit Scrum
Einführung zur Projektmanagement mit Scrum
 
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)
 
Scrum im Marketing
Scrum im MarketingScrum im Marketing
Scrum im Marketing
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
Product owner: Wunderkind oder Sündenbock? Sibylle Peter
Product owner: Wunderkind oder Sündenbock? Sibylle PeterProduct owner: Wunderkind oder Sündenbock? Sibylle Peter
Product owner: Wunderkind oder Sündenbock? Sibylle Peter
 
Scrum Zertifizierungen
Scrum ZertifizierungenScrum Zertifizierungen
Scrum Zertifizierungen
 
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-Strategie
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-StrategieScrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-Strategie
Scrum im Content-Marketing: Agiles Projektmanagement für Ihre Content-Strategie
 
Agile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus NotesAgile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus Notes
 
Scrum
ScrumScrum
Scrum
 
Scrum - Einführung - Begriffe - Technik
Scrum - Einführung - Begriffe - TechnikScrum - Einführung - Begriffe - Technik
Scrum - Einführung - Begriffe - Technik
 
Agiles Projektmanagement mit Scrum
Agiles Projektmanagement mit ScrumAgiles Projektmanagement mit Scrum
Agiles Projektmanagement mit Scrum
 

Viewers also liked

Les enjeux du numérique à l'Ecole (mars 2014)
Les enjeux du numérique à l'Ecole (mars 2014)Les enjeux du numérique à l'Ecole (mars 2014)
Les enjeux du numérique à l'Ecole (mars 2014)Elie ALLOUCHE
 
Certification nationale A2-B1 d'allemand session 2016
Certification nationale A2-B1 d'allemand session 2016Certification nationale A2-B1 d'allemand session 2016
Certification nationale A2-B1 d'allemand session 2016Jean-Marc Dubois
 
Journée Agilité à Ei.Cesi (17 avril 2013)
Journée Agilité à Ei.Cesi (17 avril 2013)Journée Agilité à Ei.Cesi (17 avril 2013)
Journée Agilité à Ei.Cesi (17 avril 2013)Fabrice Aimetti
 
2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiquesAsso Asah
 
Engaging Learners with Technology
Engaging Learners with TechnologyEngaging Learners with Technology
Engaging Learners with TechnologyDean Shareski
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Visual thinking usability coffee st gallen 19 03 2015
Visual thinking usability coffee st gallen 19 03 2015Visual thinking usability coffee st gallen 19 03 2015
Visual thinking usability coffee st gallen 19 03 2015soultank AG
 
Brand review sur la location de voitures
Brand review sur la location de voituresBrand review sur la location de voitures
Brand review sur la location de voituresanne-k
 
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008Guillaume Laforge
 
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...Institut de l'Elevage - Idele
 
Caractéristiques et opportunités de la vente alimentaire via Internet
Caractéristiques et opportunités de la vente alimentaire via InternetCaractéristiques et opportunités de la vente alimentaire via Internet
Caractéristiques et opportunités de la vente alimentaire via InternetQualivore Midi-pyrenees
 
Presentation Belle De Mai
Presentation Belle De MaiPresentation Belle De Mai
Presentation Belle De MaiPierre Casanova
 
Essca Angers 01 Avril 2009
Essca Angers 01 Avril 2009Essca Angers 01 Avril 2009
Essca Angers 01 Avril 2009Bourrion Daniel
 
Comment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptanceComment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptanceKhanh Maudoux
 

Viewers also liked (20)

Les enjeux du numérique à l'Ecole (mars 2014)
Les enjeux du numérique à l'Ecole (mars 2014)Les enjeux du numérique à l'Ecole (mars 2014)
Les enjeux du numérique à l'Ecole (mars 2014)
 
Propriété intellectuelle nov 2012
Propriété intellectuelle nov 2012Propriété intellectuelle nov 2012
Propriété intellectuelle nov 2012
 
Certification nationale A2-B1 d'allemand session 2016
Certification nationale A2-B1 d'allemand session 2016Certification nationale A2-B1 d'allemand session 2016
Certification nationale A2-B1 d'allemand session 2016
 
L’e mailing2012
L’e mailing2012L’e mailing2012
L’e mailing2012
 
Journée Agilité à Ei.Cesi (17 avril 2013)
Journée Agilité à Ei.Cesi (17 avril 2013)Journée Agilité à Ei.Cesi (17 avril 2013)
Journée Agilité à Ei.Cesi (17 avril 2013)
 
100 esl-games
100 esl-games100 esl-games
100 esl-games
 
Soft tissue tumor
Soft tissue tumorSoft tissue tumor
Soft tissue tumor
 
2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques2013 Guide IDEAS des bonnes pratiques
2013 Guide IDEAS des bonnes pratiques
 
J2 me
J2 meJ2 me
J2 me
 
Engaging Learners with Technology
Engaging Learners with TechnologyEngaging Learners with Technology
Engaging Learners with Technology
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Visual thinking usability coffee st gallen 19 03 2015
Visual thinking usability coffee st gallen 19 03 2015Visual thinking usability coffee st gallen 19 03 2015
Visual thinking usability coffee st gallen 19 03 2015
 
Brand review sur la location de voitures
Brand review sur la location de voituresBrand review sur la location de voitures
Brand review sur la location de voitures
 
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008
 
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
Les rendez-vous de l’INRA - L'Europe Laitière en 2020 : bilan, perspectives e...
 
Caractéristiques et opportunités de la vente alimentaire via Internet
Caractéristiques et opportunités de la vente alimentaire via InternetCaractéristiques et opportunités de la vente alimentaire via Internet
Caractéristiques et opportunités de la vente alimentaire via Internet
 
Presentation Belle De Mai
Presentation Belle De MaiPresentation Belle De Mai
Presentation Belle De Mai
 
Essca Angers 01 Avril 2009
Essca Angers 01 Avril 2009Essca Angers 01 Avril 2009
Essca Angers 01 Avril 2009
 
Comment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptanceComment mieux vivre avec ses tests d'acceptance
Comment mieux vivre avec ses tests d'acceptance
 
Faire un scan du réseau avec NMAP
Faire un scan du réseau avec NMAPFaire un scan du réseau avec NMAP
Faire un scan du réseau avec NMAP
 

Similar to Rails und Scrum in großen Projekten

Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernSascha Böhr
 
Projekte mittels Scrum und agiler Software Entwicklung meistern
Projekte mittels Scrum und agiler Software Entwicklung meisternProjekte mittels Scrum und agiler Software Entwicklung meistern
Projekte mittels Scrum und agiler Software Entwicklung meisternINM AG
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererTobias Schlüter
 
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo GmbH
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?HOOD Group
 
Scrum - Wissen kompakt
Scrum - Wissen kompaktScrum - Wissen kompakt
Scrum - Wissen kompaktFrank Dostert
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Digicomp Academy AG
 
Agile Projektentwicklung mit SCRUM
Agile Projektentwicklung mit SCRUMAgile Projektentwicklung mit SCRUM
Agile Projektentwicklung mit SCRUMTechDivision GmbH
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Scrum Cheat Sheet (Jan 2012)
Scrum Cheat Sheet (Jan 2012)Scrum Cheat Sheet (Jan 2012)
Scrum Cheat Sheet (Jan 2012)Michael Hübl
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testenoose
 
Agile Ways of Working @ Migros
Agile Ways of Working @ MigrosAgile Ways of Working @ Migros
Agile Ways of Working @ MigrosJoël Krapf
 
WUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick WinsWUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick Winsguest60c1a2
 
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo GmbH
 
20121211 certified-scrum-master-course
20121211 certified-scrum-master-course20121211 certified-scrum-master-course
20121211 certified-scrum-master-courseReto Kuhn
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentralePatric Schmid
 

Similar to Rails und Scrum in großen Projekten (20)

Agilität mit Scrum - Überblick
Agilität mit Scrum - ÜberblickAgilität mit Scrum - Überblick
Agilität mit Scrum - Überblick
 
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
 
Projekte mittels Scrum und agiler Software Entwicklung meistern
Projekte mittels Scrum und agiler Software Entwicklung meisternProjekte mittels Scrum und agiler Software Entwicklung meistern
Projekte mittels Scrum und agiler Software Entwicklung meistern
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?
 
Scrum - Wissen kompakt
Scrum - Wissen kompaktScrum - Wissen kompakt
Scrum - Wissen kompakt
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
 
Agile Projektentwicklung mit SCRUM
Agile Projektentwicklung mit SCRUMAgile Projektentwicklung mit SCRUM
Agile Projektentwicklung mit SCRUM
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Scrum Cheat Sheet (Jan 2012)
Scrum Cheat Sheet (Jan 2012)Scrum Cheat Sheet (Jan 2012)
Scrum Cheat Sheet (Jan 2012)
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testen
 
SCRUM für Projektleiter
SCRUM für ProjektleiterSCRUM für Projektleiter
SCRUM für Projektleiter
 
Agile Ways of Working @ Migros
Agile Ways of Working @ MigrosAgile Ways of Working @ Migros
Agile Ways of Working @ Migros
 
WUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick WinsWUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick Wins
 
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
 
Scrum 2009 10_23
Scrum 2009 10_23Scrum 2009 10_23
Scrum 2009 10_23
 
20121211 certified-scrum-master-course
20121211 certified-scrum-master-course20121211 certified-scrum-master-course
20121211 certified-scrum-master-course
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
 

Rails und Scrum in großen Projekten

  • 1. Rails und Scrum in großen Projekten Ein Einblick in die Praxis Phillip Oertel, betterplace.org HPI Uni Potsdam, 10. November 2009
  • 2. Überblick • Intro • Scrum • ein typischer Tag ... • Ruby, Rails • Q&A Session
  • 4. über mich • seit 1999 Web-/Software-Entwickler • Ruby on Rails seit 2005 (~4 Jahre) • Scrum: 1½ Jahre
  • 5. über mich • zuletzt 3 Jahre Rails bei • jetzt: technischer Leiter bei
  • 6. großes Projekt? Stand 09.2009 Rails Frontend Tester Product Owner Scrum Master 0 10 20 30
  • 7. über Euch • 5tes Semester • Aufgabe: ERP-System erstellen • 13 Wochen-Projekt (80-100 Stunden) • 13 Teams á 4-8 Studenten • Projekt hat gerade angefangen
  • 9. Zahlen, Zahlen, Zahlen. • „68% aller IT-Projekte scheitern.“ http://www.silicon.de/cio/strategie/0,39038989,39200412,00/68+prozent+aller+it_projekte+scheitern.htm • „Konventionelle Projekte scheitern öfter.“ 59% vs. 35% Prozent. http://www.computerwoche.de/mittelstand/1907184/index3.html • „92% would recommend agile to others.“ http://www.succeedingwithagile.com/wp-content/uploads/2009/10/Reported-Benefits-of-Agile.ppt http://fuwatch.wordpress.com
  • 11. Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan that is, why there is value in things on the right, we value the things on the left more. http://agilemanifesto.org
  • 12. Scrum
  • 13. SCRUM Lernen selbst rausfinden Team Anpassen Diskussion Vertrauen Zusammenarbeit Transparenz Big Visible Charts Schlank Priorisierung Iterativ Fokus Mut hohe Eigenverantwortung Unsicherheit
  • 14.
  • 15.
  • 16. Scrum-Warnung 1 „You don't see high performing Scrum teams without XP engineering practices.“ ― Jeff Sutherland und Ron Jeffries http://blog.crisp.se/henrikkniberg/2007/10/13/1192249140000.html
  • 17. XP simplicity test-first YAGNI: don‘t add functionality early spike solutions sustainable pace refactor integrate often collective ownership pair programming move people around agreed standards http://www.extremeprogramming.org/rules.html
  • 18.
  • 19. Scrum-Warnung 2 Kein Prozess und kein Tool der Welt erlauben es, sich zurückzulehnen und den Kopf abzuschalten ...
  • 20. ... außer nach Feierabend.
  • 21. Scrum-Warnung 3 • „The good thing about Scrum is it doesn’t claim to be right. It claims to be a flexible foundation which will get better each iteration.“ http://blog.brianhartsock.com/2009/11/04/an-outsiders-first-look-at-scrum/ • Nutzt die Retrospektiven, und passt Euer Vorgehen an. • Aber: „understand the rules before you break them.“ http://xprogramming.com/xpmag/jatBaseball
  • 23. Rolle: Product Owner • Holt Anforderungen vom Kunden ab • bereitet sie für die Programmierung vor • Priorisiert und stellt dem Team die gerade wichtigsten vor • Nimmt am Sprint-Ende Ergebnisse ab • zentrale Rolle. Sagt Ja/Nein.
  • 24. Beispiel: Inventar-Software 1. Gegenstände erfassen (Name, Kategorie (vorgegeben), eindeutige Id, Kaufdatum, aktueller Standort) 2. Aufkleber drucken (eindeutige Id, Name der Firma) 3. Gegenstände auflisten 4. Gegenstände suchen
  • 25. Achtung: Nichtfunktionale Anforderungen? • Bsp: „System muß 1.000 Benutzer gleichzeitig verkraften“ • werden in Besprechung mit dem Team herausgefunden (z.B. Estimation Meeting)
  • 26. TIP • Beginnt früh mit der Anforderung, bei der die größte Unsicherheit besteht.
  • 27. TIP • Regelmäßige Treffen der Product Owner zur Abstimmung: Product Owner Team. • ein für alle klares Projektziel • hat auch einen (Teilzeit-)Scrum Master.
  • 28. Rolle: Scrum Master • Kennt Scrum und bringt es dem Team bei. Ziel: sich selbst überflüssig machen • Beseitigt aktiv Hindernisse (Impediments) • Schützt das Team vor Störungen • „Führt durch Dienen“. Hilft, gleicht aus, coacht. Moderiert die Meetings, bereitet sie vor und nach. • Hat keine Macht: entscheidet nicht mit.
  • 29. Beispiel: Planning Board https://scrumy.com/hpi-demo-1
  • 30. Beispiel: Planning Board L! A I F https://scrumy.com/hpi-demo-1
  • 32. Beispiel: Planning Board ‘ IT E ! T IN I E DO R U‘ R YO
  • 33. Rolle: Team (Entwickler) • Implementieren die Anforderungen • Planen den Sprint • Schreiben Unit Tests • Präsentieren am Sprint-Ende das Ergebnis • Schätzen den Aufwand der Anforderungen (Estimation Meetings)
  • 34. Rolle: Team (Tester) • Testet und gibt Feedback • erstellt automatisierte Akzeptanz-Tests • erarbeitet mit Product Owner die Akzeptanz-Kriterien für Anforderungen („Wann ist etwas fertig?“)
  • 35. Anforderungen mit beschreiben # The title should describe an activity Feature: An Admin creates users # [...] # The scenario title should say what´s different Scenario: Add a user # put the system in a known state Given I am on "the add a user form" # describe the key action(s) When I enter correct user data And I click on the CREATE button # observe/test outcomes Then I should see "the user detail page“ for the new user http://cukes.info http://wiki.github.com/aslakhellesoy/cucumber/given-when-then http://dannorth.net/introducing-bdd
  • 36. Tip: Scrum of Scrums • Nach dem Daily Scrum des Teams geht ein Entwickler zum „Über-Daily-Scrum“ • dort: „was hat mein Team gemacht ...“, nicht „Was habe ich ...“
  • 38.
  • 43.
  • 44. TIP • frühzeitig automatisieren (eigenes Team?) • Ein Build pro Produkt • Ein Integrations-Build mit allem
  • 46.
  • 47. Ruby
  • 48. Ruby
  • 49.
  • 50. offene Klassen # Inventar-Team programmiert: class Item def current_value 42 end end # Finanzen-Team programmiert: class Item def current_value 47.11 end end
  • 51. offene Klassen # Lösung module Inventory module Finance class Item class Item def current_value def current_value 42 47.11 end end end end end end assert_equal 42, @item.current_value
  • 55. Architektur 3: ActiveResource • „SOA Light“ mit REST-Architektur. • Jede Anwendung/Dienst (Inventar, BenutzerAuth) ist ein eigener Prozess • zusätzlicher Komplexitätgrad
  • 57. MVC • „fat model, skinny controller“ Geschäftslogik ins Modell • Controller ist Mediator • View ist schlank und dumm
  • 58. Eine kleine Geschichte Der Release-Termin von Windows 7 wurde zweimal verschoben. http://www.spiegel.de/spiegel/0,1518,634334,00.html
  • 59. Eine kleine Geschichte er wurde zweimal vorverlegt! http://www.spiegel.de/spiegel/0,1518,634334,00.html
  • 60. Eine kleine Geschichte Microsoft arbeitet seit 3 Jahren mit XP, einem agilen Prozess. http://www.spiegel.de/spiegel/0,1518,634334,00.html
  • 61. diese Seite wurde absichtlich freigelassen.
  • 62. Zusammenfassung • Scrum-Grundregeln umsetzen, dann das Vorgehen regelmäßig anpassen • Rubys Stärken und Schwächen kennen und entsprechend arbeiten • habt nicht die Erwartung, das in eurem kurzen Projekt alles auf Anhieb klappt!
  • 63. Länger so arbeiten? • betterplace.org po@betterplace.org • XING alexander.greim@xing.com
  • 65. Scrum-Basics kurz, gut, alles Wesentliche drin http://tinyurl.com/2p5fqq
  • 66. Scrum-Basics und kundenorientiertes Anforderungs-Management http://tinyurl.com/yfuruxt
  • 67. gutes deutschsprachiges Rails-Buch http://tinyurl.com/yh6x9jg
  • 70. Merkmale guter Anforderungen • Unabhängig • Verhandelbar • Nützlich • Schätzbar • Klein • Testbar „Scrum“ - Roman Pichler, Seite 44-46
  • 71. „Why the Waterfall model doesn‘t work“ G N S N IO O T „the requirements are reasonably R P W M well defined“ SU A S • „changes during development will be small“ • „system integration is predictable & plannable“ • „software innovation and R&D are predictable“ „Scaling Software Agility“, Dean Leffingwell, Seite 17-27
  • 72. „Campus Management“ Erstes Release ca. 2001; Einführung hier WS 2005. Die Bewertung ist aus dem Sommersemester 2006. http://is.gd/4Rco7