AGILESOFTWAREENTWICKLUNGNACHBERTRANDMEYER(AGILE!)
FAKULTÄTINFORMATIONSTECHNIKSTUDIENGANGSOFTWARETECHNIKUNDMEDIENINFORMATIK
22.01.2016
HOCHSCHULEESSLINGEN
WISSENSCHAFTLICHEPRÜFUNG WOJCIECHLESNIANSKI
2
AGENDA
1. WarumeszurAgilitätkommenmusste2. BedeutendeagileTechniken3. AgilesManifest4. AgilePrinzipiennachBertrandMeyer5. Zusammenfassung
183
WARUMESZURAGILITÄTKOMMENMUSSTE
Vorgehensmodelle regeln den organisatorischen Ablauf von Projekten ingeneralisierter Form.
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
VorgehensmodellebeschreibendenLifeCyclederSoftwareentwicklung
Historische Entwicklung:
1. „Vom Hirn ins Terminal“2. Spezifikationsorientiert: Planung für Gesamtsystem im Vordergrund3. Prototyporientiert: Produkt im Vordergrund4. Agil: Inkrementelle Auslieferung in kleinen Teilen
184
WARUMESZURAGILITÄTKOMMENMUSSTE
ÜbergangzuadaptivenSystemen
• KlarerTrendzurVerkürzungderLieferfristen(kurzeZyklen) Requirements ändernsichrelativschnell. DerKundemusseinelaufendeSoftwaresehen,um„seinewahrenAnforderungen“zuerkennen
• AufVeränderungensollteschnellreagiertwerdenkönnen
• BedürfnissederMitarbeiterwurdenzunehmendindenFokusgestellt Selbstbestimmung Meisterschaft Sinnhaftigkeit
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
18
2000 2001 20041997
5
BEDEUTENDEAGILETECHNIKEN
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
FeatureDrivenDevelopment
(FDD)
ExtremeProgramming
(XP)Scrum Crystal
186
BEDEUTENDEAGILETECHNIKENEXTREMEPROGRAMMING (XP)
Ziele:• AbbaudesAufwandsfürSpezifikationen
• Testen• BetonungaufProgrammierung
WichtigePrinzipienvonXP:
• KurzeIterationen• Ablaufgetrieben(UserStories)• Refactoring• KontinuierlicheIntegration• TestDriven Development• Pair‐Programming
XPstellteinenProgrammiererinsZentrum.
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
187
BEDEUTENDEAGILETECHNIKENSCRUM
Idee:„SetzeAnforderungeninkurzenIterationenum“
Ablauf:
WichtigePraktiken:
• SprintPlanning zuBeginn
• „Closed‐window“‐Regel• DailyScrum• SprintReview• EigenverantwortungdesTeams
• „Inspect &Adapt“
Scrum hatVorteilebei„unscharfen“Projekten
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
188
BEDEUTENDEAGILETECHNIKENCRYSTAL
CrystalisttheoretischeineganzeFamilievonEntwicklungsmethoden
DieMitgliederderFamiliesindnachFarbenbenannt
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung WichtigePraktiken:• RegelmäßigeLieferung• VerbesserungdurchReflektion
• OsmotischeKommunikation
CrystalstelltdenMenschenindenMittelpunkt
WichtigeMerkmale:• FokusaufMenschen• Hierarchie• HoheFlexibilität• Nicht„one size fits all“
189
AGILESMANIFEST(FEBRUAR11‐13.2001)
„WirerschließenbessereWege,Softwarezuentwickeln,indemwiresselbsttunundanderendabeihelfen.DurchdieseTätigkeithabenwirdieseWertezuschätzengelernt:
• MenschenundInteraktionen stehenüberProzessenundWerkzeugen
• FunktionierendeSoftware stehtübereinerumfassendenDokumentation
• ZusammenarbeitmitdemKunden stehtüberderVertragsverhandlung
• ReagierenaufVeränderung stehtüberdemBefolgeneinesPlans
Dasheißt,obwohlwirdieWerteaufderrechtenSeitewichtigfinden,schätzenwirdieWerteaufderlinkenSeitehöherein.“
Erstuntezeichner:
• KentBeck• MikeBeedle• ArievanBennekum• AlistairCockburn• WardCunningham• MartinFowler• JamesGrenning• JimHighsmith• AndrewHunt• RonJeffries• JonKern• BrianMarick• RobertC.Martin• SteveMellor• KenSchwaber• JeffSutherland• DaveThomas
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Bewertung
6. Zusammenfassung
WortlautdesagilenManifests
ErstunterzeichnerErstunterzeichner
1810
AGILESMANIFESTBEWERTUNG DURCHMEYER
1. UnserehöchstePrioritätistes,denKundendurchfrüheundkontinuierlicheAuslieferungwertvollerSoftwarezufriedenzustellen.
2. HeißeAnforderungsänderungenselbstspätinderEntwicklungwillkommen.AgileProzessenutzenVeränderungenzumWettbewerbsvorteildesKunden.
3. LieferefunktionierendeSoftwareregelmäßiginnerhalbwenigerWochenoderMonateundbevorzugedabeidiekürzereZeitspanne.
4. FachexpertenundEntwicklermüssenwährenddesProjektestäglichzusammenarbeiten.
5. ErrichteProjekterundummotivierteIndividuen.GibihnendasUmfeldunddieUnterstützung,diesiebenötigen,undvertrauedarauf,dasssiedieAufgabeerledigen.
6. DieeffizientesteundeffektivsteMethode,InformationenanundinnerhalbeinesEntwicklungsteamszuübermitteln,istimGesprächvonAngesichtzuAngesicht.
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
AgilePrinzipien(1)
Platitüde
Praktik
1811
AGILESMANIFESTBEWERTUNG DURCHMEYER
7. FunktionierendeSoftwareistdaswichtigsteFortschrittsmaß.
8. AgileProzesseförderneinenachhaltigeEntwicklung.DieAuftraggeber,EntwicklerundBenutzersollteneingleichmäßigesTempoaufunbegrenzteZeithaltenkönnen.
9. StändigesAugenmerkauftechnischeExzellenzundgutesDesignfördertAgilität.
10. Einfachheit– dieKunst,dieMengenichtgetanerArbeitzumaximieren– istessenziell.
11. DiebestenArchitekturen,AnforderungenundEntwürfeentstehendurchselbstorganisierteTeams(SelbstorganisationderTeamsbeiPlanungundUmsetzung).
12. InregelmäßigenAbständenreflektiertdasTeam,wieeseffektiverwerdenkannundpasstseinVerhaltenentsprechendan.
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
AgilePrinzipien(2)
Platitüde
Praktik
Unwahr
1812
AGILEPRINZIPIENNACHBERTRANDMEYER
1. StelledenKundenindenMittelpunkt2. SelbstorganisationderTeams3. Arbeitenachhaltig4. EntwickledieSoftwareminimalistisch5. AkzeptiereVeränderungen
6. Entwickleiterativ7. BehandleTestsalseineSchlüsselressource8. DrückeAnforderungendurchSzenarienaus
Organisatorisch
Technisch (vonDanielMajorow behandelt)
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
1813
AGILEPRINZIPIENNACHBERTRANDMEYER
SchnellesFeedback
DirektesFeedbackdesKunden
++NurdasProblemdereinbezogenenPersonwirdgelöst
Die„falsche“Personkanneingebundenwerden
‐‐
1.StelledenKundenindenMittelpunkt
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
EinbindungdesKundenbringtVor‐ undNachteile:
1814
AGILEPRINZIPIENNACHBERTRANDMEYER
• Vertrauen,dassdasEntwicklerteamseineArbeitselbstorganisierenkann(DieAufgabendesklassischenManagerswurdenaufdasTeamübertragen)
• DasEntwicklerteamistaufsichalleingestellt,dennochistesnichtunkontrolliert.
• DerManagersolldasTeamindierichtigeRichtunglenken WiedasLenkengeschehensoll,istnichtgenaubeschrieben ErfahreneTeamsbrauchenwenigbisgarkeineLeitung.UnerfahreneTeamshingegenbrauchenmöglicherweiseeinenerfahrenenLeiter.
2.SelbstorganisationderTeams
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
1815
AGILEPRINZIPIENNACHBERTRANDMEYER
NachhaltigeArbeiterreichtdurch:• AngemesseneArbeitsumgebung• „PersönlicheSicherheit“• 20‐Prozent‐Regel*(undähnliches)
3.Arbeitenachhaltig
*EineRegel,welchevonGoogleeingeführtwurdeundbesagt,dassdieMitarbeiterbiszu20%derArbeitszeitfüreigeneProjekteundIdeennutzenkönnen.
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
1816
AGILEPRINZIPIENNACHBERTRANDMEYER
Erzeugenurdieminimale
Funktionalität
Erzeugenurdieminimale
Funktionalität
Nicht„aufblasen“
YAGNI
Erzeugenurdas,was
verlangtwird
Erzeugenurdas,was
verlangtwird
Zusatzarbeitvermeiden,wenndasnichtderInfrastruktur
schadet
KeineverstecktenFeatures
EntwicklenurCodeundTestsEntwicklenurCodeundTests
NurdasNötigstezu
dokumentieren,istschädlich
Architektensindfürdas
Refactoringzuständig
4.EntwickleSoftwareminimalistisch
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
1817
AGILEPRINZIPIENNACHBERTRANDMEYER
• JederrealistischeAnsatzhatRegeln,wieermitVeränderungenumgeht.SolässtbeispielsweiseScrumkeineVeränderungenwährendeinesSprintszu.
• Agilisten sprechenzwarvom„willkommenHeißen“vonVeränderungen,befürwortenjedochTechniken,welchedagegensindundverhöhnendieOOP
5.AkzeptiereVeränderungen
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
1818
ZUSAMMENFASSUNG• Gut,dassesagileMethodengibt
• AgileMethodenentwickelnsichweiter,werdenabergleichzeitig„unschärfer“.SoistbeispielsweiseoftdieManager‐Rollenichtdefiniert.
• EinigeVorteilegegenüberdemklassischenWasserfallmodell…
• …dennochhabenagileMethodendiverse„schädliche“Prinzipien VernachlässigungvonPlanungundDokumentation Gefahr,beijederIterationetwasSichtbaresfürdenKundenliefernzuwollenunddieInfrastrukturzuvernachlässigen
User‐StoriessindkeinErsatzfürRequirements
Übersicht
1. Warumeszur
Agilitätkommen
musste
2. Bedeutendeagile
Techniken
3. AgilesManifest
4. AgilePrinzipien
nachMeyer
5. Zusammenfassung
19
Reservefolie
„While intheory OOdevelopment produces codethat is easyto change,inpractice OOsystems canbe as difficult to change as any other,especiallywhen information hiding is notdeeply understoodand effectively used“
(Poppendiecks – „Leading LeanSoftwareDevelopment“,2010)
ZurückZurück
20ZurückZurück
RESERVEFOLIE
WASSERFALLMODELL