agile vs plan driven
TRANSCRIPT
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 1/23
Agile Software Engineering Agile Software Engineering
A Presentation by: A Presentation by:
Austin Riddle Austin Riddle
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 2/23
Over viewOver view
Agile Methodology Agile Methodology
± ± Concepts and IdeologyConcepts and Ideology
± ± OriginsOrigins
± ± Applicable Domains Applicable Domains
Case StudiesCase Studies
Process ExampleProcess Example
Adoption Detractors Adoption Detractors Agile vs. Plan Driven Processes Agile vs. Plan Driven Processes
Future HeadingsFuture Headings
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 3/23
What is Agile SoftwareWhat is Agile Software
Development?Development?
Easily moved, light, nimble, activeEasily moved, light, nimble, active
software processessoftware processesFitting the process to the projectFitting the process to the project
Avoidance of things that waste time Avoidance of things that waste time
References: [1], [10]References: [1], [10]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 4/23
Agile Software Development Agile Software Development
EcosystemEcosystem
³Chaordic´ Perspective³Chaordic´ Perspective
Collaborative Values and PrinciplesCollaborative Values and Principles
Streamlined MethodologyStreamlined Methodology
Reference: [10]Reference: [10]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 5/23
Agile Software Development Ideals Agile Software Development Ideals
Individuals and interactionsIndividuals and interactions over over process andprocess and
toolstools
Working SoftwareWorking Software over over comprehensivecomprehensive
documentationdocumentation
± ± Rework vs. ReuseRework vs. Reuse
Customer collaborationCustomer collaboration over over contract negotiationcontract negotiation
± ± Solutionsvs. ProductsSolutionsvs. Products
Responding to changeResponding to change over over following a planfollowing a plan
References: [4], [10]References: [4], [10]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 6/23
Substantive DefinitionSubstantive Definition
³the continual readiness of an entity to
rapidly or inherently, proactively or
reactiv
ely, embrace change, through highquality, simplistic, economical components
and relationships with its environment´.
Reference: [6]Reference: [6]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 7/23
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 8/23
Applicable Domains Applicable Domains
MultiMulti--Sized CorporationsSized Corporations
± ± MultiMulti--team environments using overlappingteam environments using overlapping
crosscross--team communitiesteam communities
Government ContractsGovernment Contracts
Most effective for extreme projectsMost effective for extreme projects
Projects that do not work well in rigorousProjects that do not work well in rigorousplanplan--driven processesdriven processes
References: [2], [5], [8], [10], [14]References: [2], [5], [8], [10], [14]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 9/23
Case StudiesCase Studies
Daimler Daimler--Chrysler Embedded SoftwareChrysler Embedded Software
CaribouLake.com DatabaseCaribouLake.com DatabaseNuclear Control Systems Manufacturer Nuclear Control Systems Manufacturer
References: [9], [12], [15]References: [9], [12], [15]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 10/23
Daimler Daimler--Chrysler Case StudyChrysler Case Study
ReasonsReasons1.1. Rising workloadRising workload
2.2. Frequent late changesFrequent late changes
3.3. Difficult time and qualityDifficult time and qualityconstraintsconstraints
4.4. Late deliveryLate delivery
Problem: Customer specific addProblem: Customer specific add--ons a hassleons a hassle
SolutionsSolutions1.1. Implement highest initial value item firstImplement highest initial value item first
2.2. Identify discrepancies of Work Products to SpecificationsIdentify discrepancies of Work Products to Specifications as as
aut omat ed as possibl eaut omat ed as possibl e
3.3. Identify discrepancies of Work Products to SpecificationsIdentify discrepancies of Work Products to Specifications as as
soon as possibl esoon as possibl e
4.4. Fix discrepancies of Work Products to SpecificationsFix discrepancies of Work Products to Specifications as soon as as soon as
possibl e possibl e
Image From: [15]Image From: [15]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 11/23
Daimler Daimler--Chrysler Case StudyChrysler Case Study
ResultsResultsOverall Solution: Combination of classical and agileOverall Solution: Combination of classical and agilepracticespractices ± ± Test First practicesTest First practices
± ± Unit TestingUnit Testing
ChallengesChallenges ± ± No external supportNo external support
± ± Test cases were difficult to scopeTest cases were difficult to scope
± ± Developer transitionsDeveloper transitions
implementimplement-->document>document-->test>test
testtest-->implement>implement-->document>document
EffectsEffects ± ± Substantial increase in flexibility, quality and timelinessSubstantial increase in flexibility, quality and timeliness
± ± Greater acceptance of agile practicesGreater acceptance of agile practices
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 12/23
CaribouLake.com Case StudyCaribouLake.com Case Study
Problem: Database design during shortProblem: Database design during short
development iterationsdevelopment iterations
ReasonsReasons ± ± Traditional upTraditional up--front database developmentfront database development
impracticalimpractical
Late requirements changesLate requirements changes
Database changes more costly than applicationDatabase changes more costly than applicationchangeschanges
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 13/23
CaribouLake.com Case StudyCaribouLake.com Case Study
ResultsResultsSolution: Collaborative schema evolutionSolution: Collaborative schema evolution
± ± Formalized RefactoringFormalized Refactoring
± ± Test SuitesTest Suites ± ± Database coding standardsDatabase coding standards
EffectsEffects
± ± Distributed knowledge of database designDistributed knowledge of database design
± ± Faster developmentFaster development
± ± Leaner database schemaLeaner database schema
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 14/23
Nuclear Control SystemsNuclear Control Systems
Manufacturer Case StudyManufacturer Case StudyProblem: Difficulty replacing old control softwareProblem: Difficulty replacing old control software ± ± Heavyweight waterfall process too inflexibleHeavyweight waterfall process too inflexible
Solution: Independent research and wholesale adoptionSolution: Independent research and wholesale adoptionof agile processesof agile processes ± ± No upfront training of teamNo upfront training of team
± ± Absence of common working area, workstation configurations Absence of common working area, workstation configurationsand an integration and build environmentand an integration and build environment
ResultsResults ± ± Five development iterations producedFive development iterations produced
< 20% projected business value< 20% projected business value ± ± Agile process approach ³canned´ Agile process approach ³canned´
± ± Team was demoralizedTeam was demoralized
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 15/23
Example Process ComparisonExample Process Comparison
Image From: [13]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 16/23
Adoption Detractors Adoption Detractors
Inconsistent and diverse definitionsInconsistent and diverse definitions
Lack of theoretical groundingLack of theoretical grounding
Different way of thinkingDifferent way of thinking
± ± Role changesRole changes ± ± Situational customizationSituational customization
Solid people skills requiredSolid people skills required
Short iterations inhibit longShort iterations inhibit long--term perspectiveterm perspective
RisksRisks ± ± Harder to manage feature creep and customer Harder to manage feature creep and customer expectationsexpectations
± ± Difficult to quantify cost, time, quality.Difficult to quantify cost, time, quality.
References: [1], [3], [6], [7], [13], [16]References: [1], [3], [6], [7], [13], [16]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 17/23
Agile vs. Plan Driven Processes Agile vs. Plan Driven Processes
1.1. Small products andSmall products andteams; scalability limitedteams; scalability limited
2.2. Untested on safetyUntested on safety--critical productscritical products
3.3. Good for dynamic, butGood for dynamic, butexpensive for stableexpensive for stableenvironments.environments.
4.4. Require experiencedRequire experienced Agile personnel Agile personnelthroughoutthroughout
5.5. Personnel thrive onPersonnel thrive onfreedom and chaosfreedom and chaos
1.1. Large products andLarge products andteams; hard to scaleteams; hard to scaledowndown
2.2. Handles highly criticalHandles highly criticalproducts; hard to scaleproducts; hard to scale
downdown3.3. Good for stable, butGood for stable, but
expensive for dynamicexpensive for dynamicenvironmentsenvironments
4.4. Require experiencedRequire experienced
personnel only at start if personnel only at start if stable environmentstable environment
5.5. Personnel thrive onPersonnel thrive onstructure and order structure and order
Reference: [5]Reference: [5]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 18/23
Use of Agile and Plan DrivenUse of Agile and Plan Driven
ProcessesProcessesEach haveEach have
appropriate roles inappropriate roles in
software developmentsoftware development
Most use AgileMost use Agile--PlanPlan
Driven HybridDriven Hybrid
When should each beWhen should each beused?used?
References: [5] (image), [7], [12]References: [5] (image), [7], [12]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 19/23
My Agile SynopsisMy Agile Synopsis
No such thing as Agile hybrid.No such thing as Agile hybrid.
Agility is about flexibility and leanness. Agility is about flexibility and leanness.
Agility != Lack of Structure Agility != Lack of Structure
Change of process control from TopChange of process control from Top--DownDown
to Bottomto Bottom--UpUp
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 20/23
An Eye on the Future An Eye on the Future
Volatility and uncertainty in projectVolatility and uncertainty in projectenvironmentsenvironments
± ± Increased demand for more adaptiveIncreased demand for more adaptive
processesprocesses
More theoretical research in AgileMore theoretical research in AgileMethodsMethods
Combined methods emerging (Agile RUP)Combined methods emerging (Agile RUP)Expanded fields of use (anywhere designExpanded fields of use (anywhere designis present)is present)
References: [1], [3], [5], [6], [7], [11]References: [1], [3], [5], [6], [7], [11]
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 21/23
ReferencesReferences1)1) Abrahamsson, P. et al. New Directions on Agile Methods: A Comparative Analysis. In Abrahamsson, P. et al. New Directions on Agile Methods: A Comparative Analysis. In
P
roceed i ng s of the 25 P
roceed i ng s of the 25
thth
I nt ernati onal Conference on Sof tware Eng i neer i ng I nt ernati onal Conference on Sof tware Eng i neer i ng . IEEE 244. IEEE 244--256,256,Portland,Oregon, May 2003. May be found at:Portland,Oregon, May 2003. May be found at:http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770244abs.htmhttp://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770244abs.htm
2)2) Alleman, G. B. and Henderson, M. Making Agile DevelopmentWork in a Government Contracting Alleman, G. B. and Henderson, M. Making Agile DevelopmentWork in a Government ContractingEnvironment. InEnvironment. In P roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Conference (ADC¶03). Ag il e Devel opment Conference (ADC¶03). IEEE 114IEEE 114--120, Salt120, SaltLake City, Utah, June 2003. May be found at:Lake City, Utah, June 2003. May be found at:http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130114abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130114abs.htm
3)3) Armitage, J. Are Agile Methods Good for Design? Armitage, J. Are Agile Methods Good for Design? I nt er ac ti onsI nt er ac ti ons. ACM 14. ACM 14--23. 11,1 January 2004.23. 11,1 January 2004.May be found at:May be found at: http://portal.acm.org/citation.cfm?id=962342.962352http://portal.acm.org/citation.cfm?id=962342.962352
4)4) Beck, K. et al. Manifesto for Agile Software Development. Last Access: 02Beck, K. et al. Manifesto for Agile Software Development. Last Access: 02--77--2005. May be found2005. May be foundat:at: http://www.agilemanifesto.org/http://www.agilemanifesto.org/
5)5) Boehm, B. and Turner, R. Using Risk to Balance Agile and PlanBoehm, B. and Turner, R. Using Risk to Balance Agile and Plan--Driven Methods.Driven Methods. I EEE Comput er I EEE Comput er ..IEEE 57IEEE 57--66, 36,6, June 2003. May be found at:66, 36,6, June 2003. May be found at:http://csdl.computer.org/comp/mags/co/2003/06/r6057abs.htmhttp://csdl.computer.org/comp/mags/co/2003/06/r6057abs.htm
6)6) Conboy, K. and Fitzgerald, B. Toward a Conceptual Framework of Agile Methods: A Study of Conboy, K. and Fitzgerald, B. Toward a Conceptual Framework of Agile Methods: A Study of Agility in Different Disciplines. In Agility in Different Disciplines. In P roceed i ng s of the 2004 ACM Work shop on I nt erd isc i pli nary P roceed i ng s of the 2004 ACM Work shop on I nt erd isc i pli nary Sof tware Eng i neer i ng Researc hSof tware Eng i neer i ng Researc h. ACM 37. ACM 37--44, Newport Beach, CA. November 2004. May be found44, Newport Beach, CA. November 2004. May be foundat:at: http://portal.acm.org/citation.cfm?id=1029997.1030005http://portal.acm.org/citation.cfm?id=1029997.1030005
7)7) Derbier, G. Agile Development in the Old Economy. InDerbier, G. Agile Development in the Old Economy. In P roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Ag il e Devel opment Conference (ADC¶03).Conference (ADC¶03). IEEE 125IEEE 125--132, Salt Lake City, tah, June 2003. May be found at:132, Salt Lake City, tah, June 2003. May be found at:http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130125abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130125abs.htm
8)8) Green, B. Agile Methods Applied to Embedded Firmware Development. InGreen, B. Agile Methods Applied to Embedded Firmware Development. In P roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Conference (ADC¶04). Ag il e Devel opment Conference (ADC¶04). IEEE 71IEEE 71--77, Salt Lake City, Utah, June 2004. May be77, Salt Lake City, Utah, June 2004. May befound at:found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480071abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480071abs.htm
9)9) Harriman, A., Hodgetts, P. and Leo, M. Emergent Database Design: Liberating DatabaseHarriman, A., Hodgetts, P. and Leo, M. Emergent Database Design: Liberating DatabaseDevelopment with Agile Practices. InDevelopment with Agile Practices. In P roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Conference Ag il e Devel opment Conference(ADC¶04).(ADC¶04). IEEE 100IEEE 100--105, Salt Lake City, Utah, June 2004. May be found at:105, Salt Lake City, Utah, June 2004. May be found at:http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480100abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480100abs.htm
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 22/23
References (Cont.)References (Cont.)10)10) Highsmith, J.What is Agile Software Development?Highsmith, J.What is Agile Software Development? CrossTal k: The Journal of DefenseCrossTal k: The Journal of Defense
Sof tware Eng i neer i ng Sof tware Eng i neer i ng . Oct. 2002. May be found at:. Oct. 2002. May be found at:http://www.stsc.hill.af.mil/crosstalk/2002/10/highsmith.htmlhttp://www.stsc.hill.af.mil/crosstalk/2002/10/highsmith.html
11)11) Hirsch, M. Making RUP Agile. InHirsch, M. Making RUP Agile. In P r ac titi oner s Repor ts of the Conference on Obj ec t Or i ent ed P r ac titi oner s Repor ts of the Conference on Obj ec t Or i ent ed P rogr ammi ng Sy st ems Lang uages and Appli c ati ons (OOP SLA 2002)P rogr ammi ng Sy st ems Lang uages and Appli c ati ons (OOP SLA 2002). ACM 1. ACM 1--28. Seattle,28. Seattle,Washington, November 2002. May be found at:Washington, November 2002. May be found at:http://portal.acm.org/citation.cfm?id=604251.604254http://portal.acm.org/citation.cfm?id=604251.604254
12)12) Hodgetts, P. Refactoring the Development Process: Experiences with the IncrementalHodgetts, P. Refactoring the Development Process: Experiences with the Incremental Adoption of Agile Practices. In Adoption of Agile Practices. In P roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Conference (ADC¶04). Ag il e Devel opment Conference (ADC¶04).IEEE 106IEEE 106--113, Salt Lake City, Utah, June 2004. May be found at:113, Salt Lake City, Utah, June 2004. May be found at:
http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480106abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480106abs.htm13)13) Huo, M. et. al. Software Quality and Agile Methods. InHuo, M. et. al. Software Quality and Agile Methods. In P roceed i ng s of the 28 th Annual P roceed i ng s of the 28 th Annual
I nt ernati onal Comput er Sof tware and Appli c ati ons Conference (COM P SAC'04).I nt ernati onal Comput er Sof tware and Appli c ati ons Conference (COM P SAC'04). IEEE 520IEEE 520--525,525,Hong Kong. September 2004. May be found at:Hong Kong. September 2004. May be found at:http://csdl.computer.org/comp/proceedings/compsac/2004/2209/01/220910520abs.htmhttp://csdl.computer.org/comp/proceedings/compsac/2004/2209/01/220910520abs.htm
14)14) Kähkönen, T. Agile Methods for Large OrganizationsKähkönen, T. Agile Methods for Large Organizations ± ± Building Communities of Practice. InBuilding Communities of Practice. InP roceed i ng s of theP roceed i ng s of the Ag il e Devel opment Conference (ADC¶04). Ag il e Devel opment Conference (ADC¶04). IEEE 2IEEE 2--11, Salt Lake City, Utah,11, Salt Lake City, Utah,June 2004. May be found at:June 2004. May be found at:http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480002abs.htmhttp://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480002abs.htm
15)15) Manhart, P. and Schneider, K. Breaking the Ice for Agile Development of Embedded Software:Manhart, P. and Schneider, K. Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report. In Proceedings of the 26 An Industry Experience Report. In Proceedings of the 26thth International Conference onInternational Conference onSoftware Engineering (ICSE¶04). IEEE 378Software Engineering (ICSE¶04). IEEE 378--386, Edinburgh, Scotland, UK. May 2004. May be386, Edinburgh, Scotland, UK. May 2004. May befound at:found at: http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630378abs.htmhttp://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630378abs.htm
16)16) Schneider, J. and Johnston, L. eXtreme Programming at UniversitiesSchneider, J. and Johnston, L. eXtreme Programming at Universities ± ± An Educational An EducationalPerspective. InPerspective. In P roceed i ng s of the 25 P roceed i ng s of the 25 thth I nt ernati onal Conference on Sof tware Eng i neer i ng I nt ernati onal Conference on Sof tware Eng i neer i ng ..IEEE 594IEEE 594--599, Portland, Oregon, May 2003. May be found at:599, Portland, Oregon, May 2003. May be found at:http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770594abs.htmhttp://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770594abs.htm
8/6/2019 Agile vs Plan Driven
http://slidepdf.com/reader/full/agile-vs-plan-driven 23/23
Questions?Questions?