agile software development...
TRANSCRIPT
Hans-PetterHalvorsen
AgileSoftwareDevelopment
S.Adams.Dilbert.Available:http://dilbert.com
I’ll go up and find out what they need and the rest of you start coding!
Agile?
3
4
TypicalJobAd
Agilemethodshavebecomeverypopularthesedays!!
TheDevelopmentProcess
5
Design
Implementation
Testing
Requirements
Deployment
InthiscasetheoverallRequirementsaregivenbytheTeacherintheAssignment.Thedetailsarewrittenbyyou!
TheDevelopmentProcessinvolvesdifferentphases,e.g.:
TheRequirementsmaybegivenbytheCustomer
Whenyouarefinished,youdeployandtestthesolutionontheCustomerSite
Makesureeverythingworkasexpected
TheDesignphaseisimportant,butmakesureyouhavetimeleftforalltheothertasksaswell)AretheDesignwrong?Go
backandcorrectit!
Errors?Improveyourcodeandfixthebugs
&Maintenance
Agilemethods
• Scrum• XP(eXtremeProgramming)• LeanSoftwareDevelopment• FeatureDrivenDevelopment(FDD)• TestDrivenDevelopment(TDD)• etc.
6
SoftwareDevelopmentMethods
7
TraditionalPlan-drivenMethods AgileMethods
WaterfallMethod
V-Model
Scrum
eXtremeProgramming
(XP)
LeanSoftwareDevelopment
FeatureDrivenDevelopment(FDD)
Evenifweusedifferentsoftwaredevelopmentmethods,wedealwiththesamephaseslikeRequirements,Design,Coding,TestingandDeployment– buttheymayhavedifferentpriorityandmaybedoneindifferentmannersandorder,etc.
SpiralmodelTestDriven
Development(TDD)
TeamsandRoles
• Customer/Stakeholders• ProjectManager• SoftwareArchitect• UXDesigner• Developer• Tester• etc.
8
UXDesigner Programmer
SoftwareTester
ProjectManager
SoftwareArchitect
Collaboration!
Customer/Stakeholders
Plan-drivenvs.Agile
9
Requirementsspecification
Requirementsengineering
Design andimplementation
Requirements changerequests
Plan-based development
Agile development
Requirementsengineering
Design andimplementation
I.Sommerville,SoftwareEngineering:Pearson,2010.
Agilevs.TraditionalDevelopment
10Wikipedia.(2013).AgileSoftwareDevelopment.Available:http://en.wikipedia.org/wiki/Agile_software_development
Agilevs.Traditional
11EssentialsofSoftwareEngineering,FrankTsui;OrlandoKaram;BarbaraBernal,3ed.,Jones&BartlettLearning.
12
AgileSoftwareDevelopment
O.W
idde
r.(201
3).geek&
poke.A
vailable:http://geek-and
-poke.com
ManifestoforAgileSoftwareDevelopmentWeareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.Throughthisworkwehavecometovalue:• Individualsandinteractionsoverprocesses
andtools• Workingsoftwareovercomprehensive
documentation• Customercollaborationovercontract
negotiation• RespondingtochangeoverfollowingaplanThatis,whilethereisvalueintheitemsontheright,wevaluetheitemsontheleftmore.
13
AgileAlliance.(2013).AgileManifesto.Available:http://agilemanifesto.org
O.W
idde
r.(201
3).geek&
poke.A
vailable:http://geek-and
-poke.com
14Wikipedia.(2013).AgileSoftwareDevelopment.Available:http://en.wikipedia.org/wiki/Agile_software_development
15O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com
AgileDevelopment
Agile
16
• Agroupofsoftwaredevelopmentmethods• Iterativeapproach• Incremental:SoftwareavailabletoCustomersevery2-4weeks
• Self-organizingandcross-functionalTeams• RefactoringExamples:• Scrum• eXtremeProgramming(XP)
17O.W
idde
r.(201
3).geek&
poke.A
vailable:http://geek-and
-poke.com
BurnDownChart• Aburndownchartisagraphicalrepresentationofworklefttodoversustime.• Theoutstandingwork(orbacklog)isoftenontheverticalaxis,withtimealongthe
horizontal.Thatis,itisarunchartofoutstandingwork.• Itisusefulforpredictingwhenalloftheworkwillbecompleted.• ItisoftenusedinagilesoftwaredevelopmentmethodologiessuchasScrum.• However,burndownchartscanbeappliedtoanyprojectcontainingmeasurable
progressovertime.
18
CodeReview&Refactoring
19O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com
Hans-PetterHalvorsen,M.Sc.
eXtremeProgramming
O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com
eXremeProgramming(XP)
21
eXremeProgramming(XP)
• AnAgilemethod• PairProgramming• CodeReviews• Refactoring• UnitTesting• StandupMeetings
22
23
PairProgramming
IsPairProgrammingGoodorBad?• VariousStudiesoftheProductivityofPair
Programming• Study1:Comparablewiththatof2developers
workindependtly• Study2:Asignificantlossinproductivity
comparedwith2developerswprkingalone
Shouldthe2developershavethesameskillsornot?
Newerless,therearebenefits:• CollectiveOwnership• ContinuousinformalReview processbecauseeach
codelineislookedatbyatleast2people• ItsupportsRefactoring,whichisaprocesof
softwareimprovement• Lesstimeisspentonrepairingbugs.• ImprovedCodeQuality• Itreducedtheoverallrisks
I.Sommerville,SoftwareEngineering:Pearson,2010.
O.W
idde
r.(201
3).geek&
poke.A
vailable:http://geek-and
-poke.com
24
Refactoring
25
26
Hans-PetterHalvorsen,M.Sc.
Scrum
Stakeholders
ProductOwner
ScrumMaster
ProductBacklog
DevelopmentTeam3-9persons
SprintBacklog
Sprint
DailyScrumMeetings
SprintReview
Scrum
Scrum
29
DailyScrumMeetings
SprintReview
Scrum• AFrameworkforSoftwareDevelopment• AgileSoftwareDevelopmentmethod• Simpletounderstand• Flexible• Exremelydifficulttomaster!• Self-organizingTeams(3-9persons)• ScrumTeam:– ProductOwner– ScrumMaster– DevelopmentTeam
30
Hans-PetterHalvorsen,M.Sc.
LeanSoftware
Development
LeanSoftwareDevelopment
• BasedontheToyotaProductionSystemandLeanmanufacuring
32
Summary
33
• Youshould“always”RefactoryourCode– evenifyoudon’tdoAgile!
• PairProgrammingcouldbeusefulinsomesituations
• ScrumisprobablythemostpopularAgilemethod
• Agilemeanslessdocumentation• Agileismoreflexiblethantraditionalmethods(likethewaterfall)
References• I.Sommerville,SoftwareEngineering:Pearson,2010.• E.J.BraudeandM.E.Bernstein,SoftwareEngineering.ModernApproaches,2ed.:
Wiley,2011.• Wikipedia.(2013).ScrumDevelopment.Available:
http://en.wikipedia.org/wiki/Scrum_(development)• Wikipedia.(2013).AgileSoftwareDevelopment.Available:
http://en.wikipedia.org/wiki/Agile_software_development• CoreTrek.(2013).Scrumietnøtteskall.Available:http://www.coretrek.no/scrum-i-et-
noetteskall/category642.html• S.Adams.Dilbert.Available:http://dilbert.com• O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com• AgileAlliance.(2013).AgileManifesto.Available:http://agilemanifesto.org• EssentialsofSoftwareEngineering,FrankTsui;OrlandoKaram;BarbaraBernal,3ed.,
Jones&BartlettLearning.
34
Hans-PetterHalvorsen,M.Sc.
UniversityCollegeofSoutheastNorwaywww.usn.no
E-mail:[email protected]:http://home.hit.no/~hansha/