Wissenschaftliche Vertiefung - Agile Softwareentwicklung ... · • Ablaufgetrieben (User Stories)...

Post on 15-Jul-2020

0 views 0 download

Transcript of Wissenschaftliche Vertiefung - Agile Softwareentwicklung ... · • Ablaufgetrieben (User Stories)...

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