SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Agile Software Engineering
Overview
Agile Methodology
–   Concepts and Ideology
–   Origins
–   Applicable Domains
Case Studies
Process Example
Adoption Detractors
Agile vs. Plan Driven Processes
Future Headings
What is Agile Software
         Development?

Easily moved, light, nimble, active
software processes
Fitting the process to the project
Avoidance of things that waste time



                                References: [1], [10]
Agile Software Development
           Ecosystem

“Chaordic” Perspective
Collaborative Values and Principles
Streamlined Methodology




                                  Reference: [10]
Agile Software Development Ideals
 Individuals and interactions over process and
 tools
 Working Software over comprehensive
 documentation
 – Rework vs. Reuse
 Customer collaboration over contract negotiation
 – Solutions vs. Products
 Responding to change over following a plan

                                      References: [4], [10]
Substantive Definition
“the continual readiness of an entity to
  rapidly or inherently, proactively or
  reactively, embrace change, through high
  quality, simplistic, economical components
  and relationships with its environment”.




                                     Reference: [6]
Origins and Foundations



                                Scrum




   Crystal Fam.           XP

                  Adaptive SD

                  Agile
                                    PP
                  Agile Modelling




                                         References: [1] (image), [6], [10]
Applicable Domains
Multi-Sized Corporations
– Multi-team environments using overlapping
  cross-team communities
Government Contracts
Most effective for extreme projects
Projects that do not work well in rigorous
plan-driven processes

                            References: [2], [5], [8], [10], [14]
Case Studies

Daimler-Chrysler Embedded Software
CaribouLake.com Database
Nuclear Control Systems Manufacturer




                           References: [9], [12], [15]
Daimler-Chrysler Case Study
Problem: Customer specific add-ons a hassle
Reasons
1. Rising workload
2. Frequent late changes
3. Difficult time and quality
   constraints
4. Late delivery

 Solutions                                                  Image From: [15]
1.   Implement highest initial value item first
2.   Identify discrepancies of Work Products to Specifications as
     automated as possible
3.   Identify discrepancies of Work Products to Specifications as soon
     as possible
4.   Fix discrepancies of Work Products to Specifications as soon as
     possible
Daimler-Chrysler Case Study
              Results
Overall Solution: Combination of classical and agile
practices
– Test First practices
– Unit Testing
Challenges
–   No external support
–   Test cases were difficult to scope
–   Developer transitions
       implement->document->test
       test->implement->document
Effects
– Substantial increase in flexibility, quality and timeliness
– Greater acceptance of agile practices
CaribouLake.com Case Study
Problem: Database design during short
development iterations
Reasons
– Traditional up-front database development
  impractical
    Late requirements changes
    Database changes more costly than application
    changes
CaribouLake.com Case Study
           Results
Solution: Collaborative schema evolution
– Formalized Refactoring
– Test Suites
– Database coding standards
Effects
– Distributed knowledge of database design
– Faster development
– Leaner database schema
Nuclear Control Systems
      Manufacturer Case Study
Problem: Difficulty replacing old control software
– Heavyweight waterfall process too inflexible
Solution: Independent research and wholesale adoption
of agile processes
– No upfront training of team
– Absence of common working area, workstation configurations
  and an integration and build environment
Results
– Five development iterations produced
  < 20% projected business value
– Agile process approach “canned”
– Team was demoralized
Example Process Comparison




                     Image From: [13]
Adoption Detractors
Inconsistent and diverse definitions
Lack of theoretical grounding
Different way of thinking
– Role changes
– Situational customization
Solid people skills required
Short iterations inhibit long-term perspective
Risks
– Harder to manage feature creep and customer
  expectations
– Difficult to quantify cost, time, quality.
                              References: [1], [3], [6], [7], [13], [16]
Agile vs. Plan Driven Processes
1.   Small products and           1. Large products and
     teams; scalability limited        teams; hard to scale
2.   Untested on safety-               down
     critical products            2.   Handles highly critical
3.   Good for dynamic, but             products; hard to scale
     expensive for stable              down
     environments.                3.   Good for stable, but
4.   Require experienced               expensive for dynamic
     Agile personnel                   environments
     throughout                   4.   Require experienced
5.   Personnel thrive on               personnel only at start if
     freedom and chaos                 stable environment
                                  5.   Personnel thrive on
                                       structure and order
                                                        Reference: [5]
Use of Agile and Plan Driven
          Processes
Each have
appropriate roles in
software development
Most use Agile-Plan
Driven Hybrid

When should each be
used?

                       References: [5] (image), [7], [12]
My Agile Synopsis

No such thing as Agile hybrid.
Agility is about flexibility and leanness.
Agility != Lack of Structure
Change of process control from Top-Down
to Bottom-Up
An Eye on the Future
Volatility and uncertainty in project
environments
– Increased demand for more adaptive
  processes
More theoretical research in Agile
Methods
Combined methods emerging (Agile RUP)
Expanded fields of use (anywhere design
is present)
                           References: [1], [3], [5], [6], [7], [11]
References
1)   Abrahamsson, P. et al. New Directions on Agile Methods: A Comparative Analysis. In
     Proceedings of the 25th International Conference on Software Engineering . IEEE 244-256,
     Portland, Oregon, May 2003. May be found at:
     http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770244abs.htm
2)   Alleman, G. B. and Henderson, M. Making Agile Development Work in a Government
     Contracting Environment. In Proceedings of the Agile Development Conference (ADC’03). IEEE
     114-120, Salt Lake City, Utah, June 2003. May be found at:
     http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130114abs.htm
3)   Armitage, J. Are Agile Methods Good for Design? Interactions. ACM 14-23. 11,1 January 2004.
     May be found at: http://portal.acm.org/citation.cfm?id=962342.962352
4)   Beck, K. et al. Manifesto for Agile Software Development. Last Access: 02-7-2005. May be found
     at: http://www.agilemanifesto.org/
5)   Boehm, B. and Turner, R. Using Risk to Balance Agile and Plan-Driven Methods. IEEE
     Computer. IEEE 57-66, 36,6, June 2003. May be found at:
     http://csdl.computer.org/comp/mags/co/2003/06/r6057abs.htm
6)   Conboy, K. and Fitzgerald, B. Toward a Conceptual Framework of Agile Methods: A Study of
     Agility in Different Disciplines. In Proceedings of the 2004 ACM Workshop on Interdisciplinary
     Software Engineering Research. ACM 37-44, Newport Beach, CA. November 2004. May be
     found at: http://portal.acm.org/citation.cfm?id=1029997.1030005
7)   Derbier, G. Agile Development in the Old Economy. In Proceedings of the Agile Development
     Conference (ADC’03). IEEE 125-132, Salt Lake City, tah, June 2003. May be found at:
     http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130125abs.htm
8)   Green, B. Agile Methods Applied to Embedded Firmware Development. In Proceedings of the
     Agile Development Conference (ADC’04). IEEE 71-77, Salt Lake City, Utah, June 2004. May be
     found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480071abs.htm
9)   Harriman, A., Hodgetts, P. and Leo, M. Emergent Database Design: Liberating Database
     Development with Agile Practices. In Proceedings of the Agile Development Conference
     (ADC’04). IEEE 100-105, Salt Lake City, Utah, June 2004. May be found at:
     http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480100abs.htm
References (Cont.)
10)   Highsmith, J. What is Agile Software Development? CrossTalk: The Journal of Defense
      Software Engineering. Oct. 2002. May be found at:
      http://www.stsc.hill.af.mil/crosstalk/2002/10/highsmith.html
11)   Hirsch, M. Making RUP Agile. In Practitioners Reports of the Conference on Object Oriented
      Programming Systems Languages and Applications (OOPSLA 2002) . ACM 1-28. Seattle,
      Washington, November 2002. May be found at: http://portal.acm.org/citation.cfm?
      id=604251.604254
12)   Hodgetts, P. Refactoring the Development Process: Experiences with the Incremental
      Adoption of Agile Practices. In Proceedings of the Agile Development Conference (ADC’04).
      IEEE 106-113, Salt Lake City, Utah, June 2004. May be found at:
      http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480106abs.htm
13)   Huo, M. et. al. Software Quality and Agile Methods. In Proceedings of the 28th Annual
      International Computer Software and Applications Conference (COMPSAC'04). IEEE 520-
      525, Hong Kong. September 2004. May be found at:
      http://csdl.computer.org/comp/proceedings/compsac/2004/2209/01/220910520abs.htm
14)   Kähkönen, T. Agile Methods for Large Organizations – Building Communities of Practice. In
      Proceedings of the Agile Development Conference (ADC’04). IEEE 2-11, Salt Lake City,
      Utah, June 2004. May be found at:
      http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480002abs.htm
15)   Manhart, P. and Schneider, K. Breaking the Ice for Agile Development of Embedded
      Software: An Industry Experience Report. In Proceedings of the 26 th International Conference
      on Software Engineering (ICSE’04). IEEE 378-386, Edinburgh, Scotland, UK. May 2004. May
      be found at: http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630378abs.htm
16)   Schneider, J. and Johnston, L. eXtreme Programming at Universities – An Educational
      Perspective. In Proceedings of the 25th International Conference on Software Engineering .
      IEEE 594-599, Portland, Oregon, May 2003. May be found at:
      http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770594abs.htm
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management ApproachLearn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management ApproachEnterprise Management Associates
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management EnvironmentsBrad Appleton
 
The tension between agile and architecture
The tension between agile and architectureThe tension between agile and architecture
The tension between agile and architecturePeter Hendriks
 
How to become a great DevOps Leader, an ITSM Academy Webinar
How to become a great DevOps Leader, an ITSM Academy WebinarHow to become a great DevOps Leader, an ITSM Academy Webinar
How to become a great DevOps Leader, an ITSM Academy WebinarITSM Academy, Inc.
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive SystemsTom Mueck
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software developmentA B M Moniruzzaman
 
Business Value of Lean Thinking
Business Value of Lean ThinkingBusiness Value of Lean Thinking
Business Value of Lean ThinkingDavid Rico
 
Agile architecture made real
Agile architecture made realAgile architecture made real
Agile architecture made realAlexis Hui
 
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...SmitsMC LLC
 
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORA
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORASummary of Accelerate - 2019 State of Devops report by Google Cloud's DORA
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORARagavendra Prasath
 
G0313036040
G0313036040G0313036040
G0313036040theijes
 
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordAgileLAB
 
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy Webinar
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy WebinarPutting the Pro in Process Design with Donna Knapp - an ITSM Academy Webinar
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy WebinarITSM Academy, Inc.
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Red Gate Software
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6Strongback Consulting
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewDUONG Trong Tan
 

Was ist angesagt? (20)

Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management ApproachLearn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management Environments
 
The tension between agile and architecture
The tension between agile and architectureThe tension between agile and architecture
The tension between agile and architecture
 
RRC RUP
RRC RUPRRC RUP
RRC RUP
 
How to become a great DevOps Leader, an ITSM Academy Webinar
How to become a great DevOps Leader, an ITSM Academy WebinarHow to become a great DevOps Leader, an ITSM Academy Webinar
How to become a great DevOps Leader, an ITSM Academy Webinar
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive Systems
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software development
 
Business Value of Lean Thinking
Business Value of Lean ThinkingBusiness Value of Lean Thinking
Business Value of Lean Thinking
 
Agile architecture made real
Agile architecture made realAgile architecture made real
Agile architecture made real
 
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Agile and DevOps revealed
Agile and DevOps revealed Agile and DevOps revealed
Agile and DevOps revealed
 
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORA
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORASummary of Accelerate - 2019 State of Devops report by Google Cloud's DORA
Summary of Accelerate - 2019 State of Devops report by Google Cloud's DORA
 
G0313036040
G0313036040G0313036040
G0313036040
 
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
 
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy Webinar
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy WebinarPutting the Pro in Process Design with Donna Knapp - an ITSM Academy Webinar
Putting the Pro in Process Design with Donna Knapp - an ITSM Academy Webinar
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Andere mochten auch

Andere mochten auch (17)

Tbmu20130515
Tbmu20130515Tbmu20130515
Tbmu20130515
 
Dot net
Dot netDot net
Dot net
 
人生を劇的に変えるWs1ヶ月後share
人生を劇的に変えるWs1ヶ月後share人生を劇的に変えるWs1ヶ月後share
人生を劇的に変えるWs1ヶ月後share
 
IT Case Study
IT Case StudyIT Case Study
IT Case Study
 
παραδειγμα
παραδειγμαπαραδειγμα
παραδειγμα
 
劇的に変える10月シェア2pdf
劇的に変える10月シェア2pdf劇的に変える10月シェア2pdf
劇的に変える10月シェア2pdf
 
Sdlc
SdlcSdlc
Sdlc
 
Chim
ChimChim
Chim
 
Googleアドセンス3つの疑問 -東京ブロガーミートアップ- #tbmu
Googleアドセンス3つの疑問 -東京ブロガーミートアップ- #tbmuGoogleアドセンス3つの疑問 -東京ブロガーミートアップ- #tbmu
Googleアドセンス3つの疑問 -東京ブロガーミートアップ- #tbmu
 
OST - TCIL final
OST - TCIL finalOST - TCIL final
OST - TCIL final
 
13 m3i
13 m3i13 m3i
13 m3i
 
ΗΓΕΣΙΑ ΧΩΡΙΣ ΤΙΤΛΟ
ΗΓΕΣΙΑ ΧΩΡΙΣ ΤΙΤΛΟΗΓΕΣΙΑ ΧΩΡΙΣ ΤΙΤΛΟ
ΗΓΕΣΙΑ ΧΩΡΙΣ ΤΙΤΛΟ
 
Llt4 pino
Llt4 pinoLlt4 pino
Llt4 pino
 
Test plan
Test planTest plan
Test plan
 
It case study[1]
It case study[1]It case study[1]
It case study[1]
 
U nconference nicola
U nconference nicolaU nconference nicola
U nconference nicola
 
親指シフトの凄さ 俺聞け5
親指シフトの凄さ 俺聞け5親指シフトの凄さ 俺聞け5
親指シフトの凄さ 俺聞け5
 

Ähnlich wie Agile softwareengineering

A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyIAEME Publication
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe
 
Factors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageFactors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageDr. Amarjeet Singh
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar ReportMohit Kumar
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesAbdul Basit
 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed AgileVernon Stinebaker
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptRedHeart11
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesSean Flores
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdfssuser516737
 
An Agile Software Development Framework
An Agile Software Development FrameworkAn Agile Software Development Framework
An Agile Software Development FrameworkWaqas Tariq
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumIOSR Journals
 
Extending Agile to Suite Big Projects
Extending Agile to Suite Big ProjectsExtending Agile to Suite Big Projects
Extending Agile to Suite Big ProjectsAmin Bandeali
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processijseajournal
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Agile and UX Design_2015
Agile and UX Design_2015Agile and UX Design_2015
Agile and UX Design_2015drewert
 

Ähnlich wie Agile softwareengineering (20)

A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile Environment
 
Ch04
Ch04Ch04
Ch04
 
Factors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageFactors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile Usage
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development Methodologies
 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed Agile
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
Overview Agile Methods
Overview Agile MethodsOverview Agile Methods
Overview Agile Methods
 
Agile
AgileAgile
Agile
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And Practices
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf
5469-1697007625142-Annexure 1 - Pharmaceutical Industry.pdf
 
An Agile Software Development Framework
An Agile Software Development FrameworkAn Agile Software Development Framework
An Agile Software Development Framework
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of Scrum
 
Extending Agile to Suite Big Projects
Extending Agile to Suite Big ProjectsExtending Agile to Suite Big Projects
Extending Agile to Suite Big Projects
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum process
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Agile and UX Design_2015
Agile and UX Design_2015Agile and UX Design_2015
Agile and UX Design_2015
 

Mehr von Mahfuz1061

Mehr von Mahfuz1061 (7)

Test case
Test caseTest case
Test case
 
Sql presentation
Sql presentationSql presentation
Sql presentation
 
Sql
SqlSql
Sql
 
Software testing
Software testingSoftware testing
Software testing
 
Pl sql
Pl sqlPl sql
Pl sql
 
Net framework
Net frameworkNet framework
Net framework
 
Change management
Change managementChange management
Change management
 

Kürzlich hochgeladen

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Agile softwareengineering

  • 2. Overview Agile Methodology – Concepts and Ideology – Origins – Applicable Domains Case Studies Process Example Adoption Detractors Agile vs. Plan Driven Processes Future Headings
  • 3. What is Agile Software Development? Easily moved, light, nimble, active software processes Fitting the process to the project Avoidance of things that waste time References: [1], [10]
  • 4. Agile Software Development Ecosystem “Chaordic” Perspective Collaborative Values and Principles Streamlined Methodology Reference: [10]
  • 5. Agile Software Development Ideals Individuals and interactions over process and tools Working Software over comprehensive documentation – Rework vs. Reuse Customer collaboration over contract negotiation – Solutions vs. Products Responding to change over following a plan References: [4], [10]
  • 6. Substantive Definition “the continual readiness of an entity to rapidly or inherently, proactively or reactively, embrace change, through high quality, simplistic, economical components and relationships with its environment”. Reference: [6]
  • 7. Origins and Foundations Scrum Crystal Fam. XP Adaptive SD Agile PP Agile Modelling References: [1] (image), [6], [10]
  • 8. Applicable Domains Multi-Sized Corporations – Multi-team environments using overlapping cross-team communities Government Contracts Most effective for extreme projects Projects that do not work well in rigorous plan-driven processes References: [2], [5], [8], [10], [14]
  • 9. Case Studies Daimler-Chrysler Embedded Software CaribouLake.com Database Nuclear Control Systems Manufacturer References: [9], [12], [15]
  • 10. Daimler-Chrysler Case Study Problem: Customer specific add-ons a hassle Reasons 1. Rising workload 2. Frequent late changes 3. Difficult time and quality constraints 4. Late delivery Solutions Image From: [15] 1. Implement highest initial value item first 2. Identify discrepancies of Work Products to Specifications as automated as possible 3. Identify discrepancies of Work Products to Specifications as soon as possible 4. Fix discrepancies of Work Products to Specifications as soon as possible
  • 11. Daimler-Chrysler Case Study Results Overall Solution: Combination of classical and agile practices – Test First practices – Unit Testing Challenges – No external support – Test cases were difficult to scope – Developer transitions implement->document->test test->implement->document Effects – Substantial increase in flexibility, quality and timeliness – Greater acceptance of agile practices
  • 12. CaribouLake.com Case Study Problem: Database design during short development iterations Reasons – Traditional up-front database development impractical Late requirements changes Database changes more costly than application changes
  • 13. CaribouLake.com Case Study Results Solution: Collaborative schema evolution – Formalized Refactoring – Test Suites – Database coding standards Effects – Distributed knowledge of database design – Faster development – Leaner database schema
  • 14. Nuclear Control Systems Manufacturer Case Study Problem: Difficulty replacing old control software – Heavyweight waterfall process too inflexible Solution: Independent research and wholesale adoption of agile processes – No upfront training of team – Absence of common working area, workstation configurations and an integration and build environment Results – Five development iterations produced < 20% projected business value – Agile process approach “canned” – Team was demoralized
  • 15. Example Process Comparison Image From: [13]
  • 16. Adoption Detractors Inconsistent and diverse definitions Lack of theoretical grounding Different way of thinking – Role changes – Situational customization Solid people skills required Short iterations inhibit long-term perspective Risks – Harder to manage feature creep and customer expectations – Difficult to quantify cost, time, quality. References: [1], [3], [6], [7], [13], [16]
  • 17. Agile vs. Plan Driven Processes 1. Small products and 1. Large products and teams; scalability limited teams; hard to scale 2. Untested on safety- down critical products 2. Handles highly critical 3. Good for dynamic, but products; hard to scale expensive for stable down environments. 3. Good for stable, but 4. Require experienced expensive for dynamic Agile personnel environments throughout 4. Require experienced 5. Personnel thrive on personnel only at start if freedom and chaos stable environment 5. Personnel thrive on structure and order Reference: [5]
  • 18. Use of Agile and Plan Driven Processes Each have appropriate roles in software development Most use Agile-Plan Driven Hybrid When should each be used? References: [5] (image), [7], [12]
  • 19. My Agile Synopsis No such thing as Agile hybrid. Agility is about flexibility and leanness. Agility != Lack of Structure Change of process control from Top-Down to Bottom-Up
  • 20. An Eye on the Future Volatility and uncertainty in project environments – Increased demand for more adaptive processes More theoretical research in Agile Methods Combined methods emerging (Agile RUP) Expanded fields of use (anywhere design is present) References: [1], [3], [5], [6], [7], [11]
  • 21. References 1) Abrahamsson, P. et al. New Directions on Agile Methods: A Comparative Analysis. In Proceedings of the 25th International Conference on Software Engineering . IEEE 244-256, Portland, Oregon, May 2003. May be found at: http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770244abs.htm 2) Alleman, G. B. and Henderson, M. Making Agile Development Work in a Government Contracting Environment. In Proceedings of the Agile Development Conference (ADC’03). IEEE 114-120, Salt Lake City, Utah, June 2003. May be found at: http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130114abs.htm 3) Armitage, J. Are Agile Methods Good for Design? Interactions. ACM 14-23. 11,1 January 2004. May be found at: http://portal.acm.org/citation.cfm?id=962342.962352 4) Beck, K. et al. Manifesto for Agile Software Development. Last Access: 02-7-2005. May be found at: http://www.agilemanifesto.org/ 5) Boehm, B. and Turner, R. Using Risk to Balance Agile and Plan-Driven Methods. IEEE Computer. IEEE 57-66, 36,6, June 2003. May be found at: http://csdl.computer.org/comp/mags/co/2003/06/r6057abs.htm 6) Conboy, K. and Fitzgerald, B. Toward a Conceptual Framework of Agile Methods: A Study of Agility in Different Disciplines. In Proceedings of the 2004 ACM Workshop on Interdisciplinary Software Engineering Research. ACM 37-44, Newport Beach, CA. November 2004. May be found at: http://portal.acm.org/citation.cfm?id=1029997.1030005 7) Derbier, G. Agile Development in the Old Economy. In Proceedings of the Agile Development Conference (ADC’03). IEEE 125-132, Salt Lake City, tah, June 2003. May be found at: http://csdl.computer.org/comp/proceedings/adc/2003/2013/00/20130125abs.htm 8) Green, B. Agile Methods Applied to Embedded Firmware Development. In Proceedings of the Agile Development Conference (ADC’04). IEEE 71-77, Salt Lake City, Utah, June 2004. May be found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480071abs.htm 9) Harriman, A., Hodgetts, P. and Leo, M. Emergent Database Design: Liberating Database Development with Agile Practices. In Proceedings of the Agile Development Conference (ADC’04). IEEE 100-105, Salt Lake City, Utah, June 2004. May be found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480100abs.htm
  • 22. References (Cont.) 10) Highsmith, J. What is Agile Software Development? CrossTalk: The Journal of Defense Software Engineering. Oct. 2002. May be found at: http://www.stsc.hill.af.mil/crosstalk/2002/10/highsmith.html 11) Hirsch, M. Making RUP Agile. In Practitioners Reports of the Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2002) . ACM 1-28. Seattle, Washington, November 2002. May be found at: http://portal.acm.org/citation.cfm? id=604251.604254 12) Hodgetts, P. Refactoring the Development Process: Experiences with the Incremental Adoption of Agile Practices. In Proceedings of the Agile Development Conference (ADC’04). IEEE 106-113, Salt Lake City, Utah, June 2004. May be found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480106abs.htm 13) Huo, M. et. al. Software Quality and Agile Methods. In Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04). IEEE 520- 525, Hong Kong. September 2004. May be found at: http://csdl.computer.org/comp/proceedings/compsac/2004/2209/01/220910520abs.htm 14) Kähkönen, T. Agile Methods for Large Organizations – Building Communities of Practice. In Proceedings of the Agile Development Conference (ADC’04). IEEE 2-11, Salt Lake City, Utah, June 2004. May be found at: http://csdl.computer.org/comp/proceedings/adc/2004/2248/00/22480002abs.htm 15) Manhart, P. and Schneider, K. Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report. In Proceedings of the 26 th International Conference on Software Engineering (ICSE’04). IEEE 378-386, Edinburgh, Scotland, UK. May 2004. May be found at: http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630378abs.htm 16) Schneider, J. and Johnston, L. eXtreme Programming at Universities – An Educational Perspective. In Proceedings of the 25th International Conference on Software Engineering . IEEE 594-599, Portland, Oregon, May 2003. May be found at: http://csdl.computer.org/comp/proceedings/icse/2003/1877/00/18770594abs.htm

Hinweis der Redaktion

  1. Agile SE -&gt; Agile SD How many have heard of Agile Software Development? What does the word Agile mean? Anyone? Latin word agilis, which means “easily moved, light, nimble, active”. 3. Agile Software development – defined as easily moved, light, nimble, and active software processes. (Agile processes are not unique to software development. They appeared in mainstream business literature in 1991 in the form of Agile manufacturing.) 4. Fitting the process… Not project to the process. Battlefield commanders plan extensively when going to war -&gt; but realize that their plans are just the beginning. Creating and responding to change are very important. Success is defined by accomplishing the mission (defeating the enemy) not conforming to the plan. Can you image a commander saying, “We lost the battle but by golly we were successful because we followed our plan to the letter.” Or “If we just plan this battle long and hard enough, and put repeatable processes in place, we can eliminate change early and not have to deal with it later.” Pretty unreasonable.
  2. Chaordic Perspective – due to the unpredictability of the environment. Goals are achievable, but project details are often unpredictable, the goal of repeatable processes is unattainable. Collaborative Values - capitalization on each individual&apos;s and each team&apos;s unique strengths. The process is adapted to the people, who indeed are part of the project. Process -&gt; adapts -&gt; project. Project understanding comes more from face-to-face interaction than from documentation. Agilists do not believe that a reliance on heavy processes makes up for lack of skill, talent, and knowledge. Streamlined Methodology – a balance of flexibility and structure in the process.
  3. Idealisms Over instead of versus is because they are all good ideals Rework vs. Reuse – everything should be production quality, but reworkable for flexibility. Don’t be afraid of partial solutions. Military Adoption of the 80% solution. Responding to Change – in line with Lucy Suchman’s Plans and Situated Actions, with the trukese and european navigators.
  4. How did Agile development come about? Welcome to the Jungle. Diagram -&gt; Started in the 80s and evolved from a combination of practices such as Crystal Methods, XP, ASD, Scrum, and PP. Crystal Methods – involves the use of customizable development methods that are color coded based on the heaviness of a project with regard to size and complexity. XP – Extreme Programming – is a collection of well-known software practices that are applied on an individual bases. (short iterations, small releases, rapid feedback. Adaptive Software Development – hallmarked by adaptive processes including incremental and iterative development with constant prototyping. Scrum – management of the software process in a volatile environment. It has an Empirical approach that leaves room for developers to choose the techniques and methods for implementation. Requires frequent management oversight. PP – Pragmatic programming – the use of a set of 70 programming best practices for incremental and iterative development, rigorous testing, and user-centered design. Test-Driven methods of development are building blocks of agile processes. 4. As shown by the diagram, the evolution of Agile Software Development is complex. And as we’ll talk about later, because of its roots, it has some issues. 5. In any case, what’s the motive behind the maddness? Developers sick of late deliveries and lost opportunities. Sometimes making the customer follow your software development processes is like banging your head into a brick wall. Is essence it is all about flexibility and leanness. -&gt; for the Development side and the Customer side.
  5. Extreme Projects – Not extreme programming projects but rather projects that use leading or bleeding edge tech, Involve erratic requirements changes, and deliver quickly. Multi-Sized Corps – Nokia story. Government Contracts – Earned Value Management Even Intel has used Agile Methodology for Embedded Development.
  6. Embedded Software for buses and coaches. Time Constraints – hours or days, not weeks or months 50% rejection rate - Documentation flaws and incomprehensible function code 8% rejection rate - Functional unit fails test cases and integration errors. Current SE practices Inadequate.
  7. Solution: Classical - systematic documentation and measurement. Agile – Test First Process Test First Practices gave way to more process improvements such as: quicker simulation setups faster module tests Quality assurance effort spread out Test case scope – too detailed, not enough pruning of inputs. Concerns over business risk of a whole adoption.
  8. Again, agile practices treat change the same anywhere in the development process.
  9. Collaborative schema – Developers made changes to database to make application work, then changes were approved by the team and modified/abstracted to fit other developers needs. Rework vs. Reuse Leaner database schema – obsolete areas of schema were easily phased out. No lingering question “What are these fields for?”
  10. Moral of the story is that, just like anything, Agile processes are not just a hack job that require no preparation.
  11. Why not more adoption (in SE? in corporate? In universities?) Inconsistent and diverse defs – need more quality methodology not just quantity. Lack of Theoretical Grounding – current concept of agility based on experience, not on underlying concepts like flexibility and leanness. Agile methods like SCRUM and XP are derived from subjective practical experience and not reliable systematic research. But there is hope… Conboy et. Al. and their framework of agility for software development (based on underlying concepts); Role changes – management role less prominent and active, more like a coach Situational customization – no out of the box operation. Takes time to customize a process and get good at it. Difficult to quantify – Agile practices are more philosophy based not activity based. Risks – Making the customer understand the tradeoffs for following them down a rabbit hole can be difficult. How do you budget a project if you can’t get the all/most requirements upfront?
  12. Good for dynamic.. - Simple design and refactoring principles Boehm and Turner propose these risk factors based on observation, not from experience.
  13. Boehm and Turner Risk assessment model (5 factors)
  14. May be somewhat conflicting with Boehm and Turner. Agile processes at worst can be plan driven processes if your project demands such a process. If you can’t revert back to plan driven processes you are not using Agile processes. Again Agile Software Processes are simply about flexibility and leanness. It is not about a lack of structure, it is about adaptability in the presence and kind of structure for a process. Developers have been pretty Agile for a while, it is just that now they have more influence over the extent of their Agile practices. House metaphor Architect Builder All use agile processes.
  15. As a kid learning to draw, I would often indulgently render small parts of a drawing in rich detail, and pay less attention to how these parts related to each other. Lacking an overall spatial plan, I often ended up with gross inaccuracies that ruined the drawing. My instructional books recommended starting with a light sketch to plan the composition, and then to gradually commit to areas of light and shade over the entire surface to evenly develop the composition. Maintaining such a balanced overview of the drawing would reveal planning flaws sooner and allow their correction. Initially I resisted drawing these lines that would later need to be erased, but the advice eventually worked; results became more predictable and the eraser became my friend.