AgileDevelopmentStarting at the basicsArne Vandamme
AgileManifestoHowitstarted…In 200117 software developersdiscussedlightweightdevelopmentmethodsand published the“ManifestoforAgile Software Development”2
AgileManifestoIndividuals and interactions over processes and tools3
AgileManifestoIndividuals and interactions over processes and toolsWorking software over comprehensive documentation4
AgileManifestoIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiation5
AgileManifestoIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan6
Agilemanifesto: underlyingprinciplesCustomer satisfaction by rapid delivery of useful softwareWelcome changing requirements, even late in developmentWorking software is delivered frequently (weeks rather than months)Working software is the principal measure of progressSustainable development, able to maintain a constant paceClose, daily cooperation between businesspeople and developersFace-to-face conversation is the best form of communication (co-location)Projects are built around motivated individuals, who should be trustedContinuous attention to technical excellence and good designSimplicitySelf-organizing teamsRegular adaptation to changing circumstances7
Typicallyagile?Smallincrementswith minimal planningVerylittlelong-term planningAdaptive			PredictiveIterationsWaterfallEachiteration is more orless a tinywaterfall…8
Waterfallmethodology9
Iterations10
Mythbusting: planningIn agiledevelopment,planning is not important.11
Mythbusting: planningIn agiledevelopment,planning is not important.Wrong!12
Mythbusting: planningIn agiledevelopment,planning is not important.Wrong!Predictive 	= 	plan-drivenAdaptive	=	planning-driven13
Mythbusting: planningIn agiledevelopment,planning is not important.Wrong!Predictive 	= 	plan-drivenAdaptive	=	planning-drivenContinuous planning!14
Mythbusting: informalAgilemethods are veryinformal:no procedures, nocommitment…15
Mythbusting: informalAgilemethods are veryinformal:no procedures, nocommitment…On the contrary!16
Mythbusting: informalAgilemethods are veryinformal:no procedures, nocommitment…On the contrary!well-definedlightweight steps and proceduresabsolute team commitmentin an iteration17
IterativedevelopmentIterative is not the same asincremental.Incremental: 	addontoIterative:			redo/refineA gooditerativeapproach:Deliversbasicstart-to-endfunctionalityas early as possible.And keepsrefiningituntil the end.18
Example: walkingskeleton19
IterativedevelopmentStart-to-endfunctionalityAs early as possibleKeep refiningKeep changing and improvingquality!Continuously…refactoringtestingintegrating20
Concept: User StoryStart-to-endfunctionality:Focus on the user/stakeholderfunctionality.Requirements as user story…As a <role>, I want <goal/desire> so that <benefit>21
Concept: Definition of DoneWhen is somethingfinished?Traditionally: what are the acceptance criteria?The Definition Of Doneusuallyalsospecifieshow to testthat the item has been delivered.22
Concept: Test-DrivenDevelopmentFocusingon the user story and acceptance criteria and lesson the implementation:Test-DrivendevelopmentWrite a test butnot the implementationCheck that the test failsMake the test succeedbywriting the implementation23
SCRUM24
SCRUM: An overview25
SCRUM: RolesProduct OwnerRepresentsstakeholders and business.Prioritizes the backlog.Scrum MasterFacilitates the SCRUM process.  Removesimpediments.Is not a team lead.Project TeamCross-functional.26
SCRUM: A typical sprintSprint Planning MeetingPO giveswishlistfrom Product BacklogTeam elaboratestasks and estimatesTeam commitson the Sprint BacklogSprint Backlog is fixedduring sprint.27
SCRUM: A typical sprintSprint Planning MeetingDaily ScrumEveryday, same time, same placeIn front of the Scrum boardMax 15 minutesOnly PO, SM or Team mayspeak!Each team membersanswers 3 questions:What have youdoneyesterday?What are you planning to do today?Do you have anyproblemspreventingyoufromaccomplishingyour goal?28
SCRUM: A typical sprintExample Scrum board29
SCRUM: A typical sprintExampleBurndownchart30
SCRUM: A typical sprintSprint Planning MeetingDaily ScrumDemo (Sprint Review)Present the completedwork to the stakeholders31
SCRUM: A typical sprintSprint Planning MeetingDaily ScrumDemo (Sprint Review)RetrospectiveTeam reflectson the past sprintWhat went wellduring the past sprint?Whatcouldbeimproved in the next sprint?Continuousprocessimprovements!32
SCRUM: An overview33
Kanban“signboard”34
Kanban is all about…Creatingvalueas soon as possible.In software: something is typically business valueonlywhenit has been actuallydeployed!2 basicconcepts:	1. Visualize the flow of work2. Limit work in progress35
Kanban: visualizingflow36
Kanban: visualizingflow37
KanbanVisualizing the flow:Visualize bottlenecksLimit WIP in each stage:Avoidtoomuch WIP and notenoughdoneStimulatecollaborationon bottlenecksWorkflow stages betterallowspecialisation.38
A Kanban dailystandupAs a team:What is likely to go on and off the board todayWhat is likely to move on the boardWhere is trafficstuck and howcan we fixit39
RoundupMost agiledevelopmentmethodslike SCRUM and Kanbanare lightweightbut do have a clearprocess and set of rules	and requirea lot of self-disciplineand maturityof all the team members40

Agile development introduction