Concluding Remarks 332006 Agile Methodologies Heavyweight Methodologies
Agile Methodologies
Agile Methodologies
Bahman Zamani
Dept. of Computer Science and Software Engineering
Concordia University
1/25
Agile Methodologies
Overview
What is a Methodology?
Methodologies: Heavyweight & Lightweight Agile Methodologies
XP: An Agile Methodology
Comparing Agile Methodologies Balancing Agility & Discipline Agile Research
Concluding Remarks
2/25
Agile Methodologies
What is a Methodology?
Pre-Methodology Era (1960s)
o Ad hoc software development (Cowboy coders)o Caused the Software Crisis (1969)
Solution: Standardize software development process and rely on a methodological approach
An organized, documented set of rules and practices Three generations of methodologies (Method wars)
Structured (by DeMarco, Yourdon, ...)1970s OO (by Booch, Jacobson, (1980)
Agile (by Beck, Highsmith, …) late 1990s
3/25
Agile Methodologies
Heavyweight Methodologies
Many rules, practices, and documents
Require discipline and time to follow correctly Bureaucratic and laborious
Software crisis problems still remain [Lycett et. al. 2003]
90% of software do not meet performance goals 80% of systems are late and over-budget 40% of developments fail
20% of systems meet their success criteria
4/25
Agile Methodologies
Lightweight Methodologies
Lightweight was a reaction to delayed, over-budget, collapsing projects
A lightweight method has only a few rules and The lightweight methods attempt a useful
compromise between no process and too much [Fowler 2003]
Less document-oriented, but rather code-5/25Agile Methodologies
Terminology
Heavyweight vs. Lightweight Plan-Driven vs. Agile Disciplined vs. Agile Predictive vs. Adaptive Thick vs. Thin (Lean)
Oxford Dic.: “Agile=Having the faculty of quick motion; nimble, active, ready.”
6/25
Agile Methodologies
What makes a method Agile?
o Incremental (small releases, rapid cycles)
o Cooperative (communications between developers and customers)(method is easy to learn and modify, well documented)(embrace changes, even last moment)When we use Agile?
Requirements (uncertain or volatile)Developers (responsible and motivated)(is involved and understands)
Agile Methodologies
7/25
3/3/2006Agile Methodologies
Agile Methodologies (Cont’d)[Abrahamsson et al., 2003]
8/25
3/3/2006
Agile Methodologies
[http://ebe.cpsc.ucalgary.ca/Frank.Maurer
ebe.cpsc.ucalgary.ca/Frank.Maurer/]9/25
3/3/2006Agile Methodologies
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
?Individuals and interactions over processes and tools ?Working software over comprehensive documentation ?Customer collaboration over contract negotiation ?Responding to change over following a plan
That is, while there is value in the items on the right, we value the items
on the left more.
Kent Beck -Mike Beedle -Arie van Bennekum -Alistair Cockburn -Ward
Cunningham -Martin Fowler -James Grenning -Jim Highsmith -Andrew Hunt -Ron Jeffries -Jon Kern -Brian Marick -Robert C. Martin -Steve Mellor -Ken Schwaber -Jeff Sutherland -Dave Thomas
Agile Methodologies (Cont’d)
[https://www.360docs.net/doc/2e2726530.html,]
10/25
Agile Methodologies
Agile Methodologies (Cont’d)
Adaptive Software Development (ASD)
Agile Modeling (AM)* Crystal family
Dynamic Systems Development Method (DSDM) eXtreme Programming (XP)Pragmatic Programming (PP)Rational Unified Process (RUP)*
Open Source Software (OSS) development*Test Driven Development (TDD)11/25
Agile Methodologies
XP: An Agile Methodology
XP is the most popular (visible) agile methodology
o
Why? Because of the ability of their leaders
XP represents four values:
o
Communication, Feedback, Simplicity, Courage
Rapid feedback, Assume Simplicity, Incremental change, Embracing change, Quality work
XP has four activities:
Coding Testing Listening Designing
12/25
Agile Methodologies
XP: An Agile Methodology (Cont’d)
XP has 12 practices:
o Planning Phase (Game)o Small Releases o Metaphor
Pair Programming Collective Ownership Continuous Integration 40-Hour Week On-Site Customer Coding Standards
13/25
Agile Methodologies
XP: An Agile Methodology (Cont’d)
Lifecycle phases of an ideal XP project:
o Exploration o Planning
o Iterations to First Release o Production Programmer Consultant
Manager (Big Boss)
14/25
3/3/2006Agile Methodologies
XP: An Agile Methodology (Cont’d)
[Abrahamsson et al., 2003]
15/25
3/3/2006Agile Methodologies
Comparing Agile Methodologies [Abrahamsson et al., 2003]
16/25
Agile Methodologies
Agile vs. Heavyweight [Balba,Khan 2004]
End of the project
Early in the project
Comprehensive Minimal
Large Small/Creative Predictable Unpredictable/Exploratory Limited Numerous
Process-Oriented People-Oriented Heavy
Low
Command-Control Change Sustainability Autocratic
Large Small Project Size Conformation to plan Business Value Success Measurement Predictive
Adaptive Approach
Heavy Methods Agile Methods
17/25
Agile Methodologies
Agile vs. Heavyweight (Cont’d)[Abrahamsson et al., 2003]
18/25
Agile Methodologies
Limited support for:
Outsourcing
Using legacy systems
Building or using reusable artifacts Development of large software systems
Development of safety-critical software systems
Projects with distributed development teams and resources
Limitations of Agile Methodologies [Turk et al., 2002]19/25
Agile Methodologies
Balancing Agility & Discipline [Boehm, Turner 2004a]
Agile development methodologies promise:
o Higher customer satisfaction o Lower defect rates
o Faster development times and
A solution to rapidly changing requirements High assurance
However, both approaches have situation dependent shortcomings that, if left unaddressed, can lead to project Based method for balancing agility and discipline
20/25
Agile Methodologies
Summary of risk-based method
o
Step 1.
o
Rate the project’s environmental, agile, and plan-driven risks.
(If uncertain about ratings, buy information via prototyping, data collection, and analysis.)
o Step 2a.
If agility risks dominate plan-driven risks, go Risk-based Plan-driven.If plan-driven risks dominate agility risks, go Risk-based Agile.
If parts of the application satisfy 2a and others 2b, architect the application to
encapsulate the agile parts. Go Risk-based Agile in the agile parts, and Risk-based Plan-driven elsewhere.
Establish an overall project strategy by integrating individual risk mitigation plans Monitor progress and risks/opportunities, readjust balance and process as appropriate.
Balancing Agility & Discipline (Cont’d)
[Boehm, Turner 2004a]
21/25
Agile Methodologies
Agile Research
XP: Many papers on experiences of using XP Scrum: Efforts to integrate XP and Scrum Crystal: Method is still developing FDD: Method is still developing
is a mixture of XP and RUP
DSDM: Only inside a consortium of some companies ASD: No significant research (method is very adaptive)OSS: Many research reported
22/25
Agile Methodologies
Concluding Remarks
Many anecdotal evidence claim that agile methods are effective and suitable, but empirical studies are scarce.
Instead of inventing a new method, proposing or selection is more Also work on “scalability”is required, because software in large organizations can not be produced by co-located small-size teams.
23/25
Agile Methodologies
References
Abrahamsson, P.; Warsta, J.; Siponen, M.T.; Ronkainen, J.; “New directions on agile methods: a comparative analysis”Software Engineering, 2003. Proceedings. 25th International Conference on ,3-10 May 2003, Pages:244 –254
Balbo, S.; Khan, A.; “A Tale of two Methodologies: Heavyweight versus Agile”Poster, AusWeb04, The Tenth Australian World Wide Web Conference, July 2004
Boehm, B.; Turner, R.; “Balancing agility and discipline: evaluating and integrating agile and plan-driven methods”Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on ,23-28 May 2004, Pages:718 –719“Balancing agility and discipline: A Guide for the Perplexed”Addison Wesley, Boston 2004https://www.360docs.net/doc/2e2726530.html,/articles/newMethodology.html ,April 2003 Migrating agile methods to standardized development practice”Turk, D.; France, R.; Rumpe, B.; “Limitations of agile Software Process”
Third International Conference on eXtreme Programming and Agile Processes in Software Engineering ,Sardina, Italy, 2002, https://www.360docs.net/doc/2e2726530.html,
http://ebe.cpsc.ucalgary.ca/Frank.Maurer/https://www.360docs.net/doc/2e2726530.html, https://www.360docs.net/doc/2e2726530.html,
24/25
Thank You! Questions
Agile Methodologies
25/25