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

相关主题
相关文档
最新文档