agile vs plan driven

23
 Agile Software Engineering  Agile Software Engineering  A Presentation by:  A Presentation by:  Austin Riddle  Austin Riddle

Upload: jitender-tanwar

Post on 07-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile vs Plan Driven

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

Page 2: Agile vs Plan Driven

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

Page 3: Agile vs Plan Driven

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]

Page 4: Agile vs Plan Driven

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]

Page 5: Agile vs Plan Driven

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]

Page 6: Agile vs Plan Driven

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]

Page 7: Agile vs Plan Driven

8/6/2019 Agile vs Plan Driven

http://slidepdf.com/reader/full/agile-vs-plan-driven 7/23

Page 8: Agile vs Plan Driven

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]

Page 9: Agile vs Plan Driven

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]

Page 10: Agile vs Plan Driven

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]

Page 11: Agile vs Plan Driven

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

Page 12: Agile vs Plan Driven

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

Page 13: Agile vs Plan Driven

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

Page 14: Agile vs Plan Driven

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

Page 15: Agile vs Plan Driven

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]

Page 16: Agile vs Plan Driven

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]

Page 17: Agile vs Plan Driven

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]

Page 18: Agile vs Plan Driven

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]

Page 19: Agile vs Plan Driven

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

Page 20: Agile vs Plan Driven

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]

Page 21: Agile vs Plan Driven

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

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

Page 22: Agile vs Plan Driven

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

Page 23: Agile vs Plan Driven

8/6/2019 Agile vs Plan Driven

http://slidepdf.com/reader/full/agile-vs-plan-driven 23/23

Questions?Questions?