Agile Methodologies - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Agile Methodologies

Description:

About methodologies (definitions, agile manifesto, meta-model, scope, conceptual ... Alistair Cockburn, Agile Software Development, Addison Wesley Professional, 2001 ... – PowerPoint PPT presentation

Number of Views:4540
Avg rating:3.0/5.0
Slides: 52
Provided by: matjap
Category:

less

Transcript and Presenter's Notes

Title: Agile Methodologies


1
Agile Methodologies
INTERNA UPORABA
Matja Pancur, FRI
Maj 2003
2
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Hybrid methodologies
  • Questions discussion

3
Definitions
  • methodology series of related methods or
    techniques
  • process - Who is doing What, When and How in
    building a software product
  • Big M methodologies
  • little m methodologies

4
Definitions
  • agile methodologies vs. heavyweight
    methodologies (heavy, traditional,
    monumental)
  • Agile Manifesto
  • no Unified Agile Methodology

Typical customer interaction
5
Agile Manifesto
Individuals and interactions
process and tools
over
comprehensive documentation
over
Working software
contract negotiation
over
Customer collaboration
following a plan
Responding to change
over
6
Methodology Meta-model key elements
7
Scope
8
Conceptual Terms
  • size S ( of control elements)
  • density D (amount of precision and the tightness
    of tolerance)

Weight W W S D
9
More Conceptual Terms
  • Problem size
  • Project size
  • System criticality
  • Precision
  • Accuracy
  • Relevance
  • Tolarance
  • Visibility
  • Scale
  • Stability

10
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Hybrid methodologies
  • Questions discussion

11
Methodology Design Principles
interactive, face-to-face communication
Cheapest fastest channel for exch. info.
?
1
2 ppl at whiteboard
... on videoconference
... on phone
... on email
videotape
audiotape
paper
12
Methodology Design Principles
small increase in meth. weight
?
2
large increase in cost
3
?
heavier methodologies
larger teams
13
large team
small team
14
Methodology Design Principles
?
4
greater density
greater criticality
  • Criticality Defects cause loss of...
  • comfort
  • discretionary money
  • essential money
  • life

15
Methodology Design Principles
increasing feedback and communication
reduce the need for intermediate deliverables
?
5
efficiency is expendable
only in nonbottleneck activities
6
?
  • do whatever you can to speed up the work at
    bottleneck activity
  • ppl at nonbottleneck activ. can work
    inefficiently without affecting the overall speed

16
Methodology Design Principles
discipline, skill and understanding
process, formality and documentation
7
counter
17
Methodology Design Principles
  • Last but not least
  • methodology constructor (author)
  • project priorities

18
Consequences of the Principles
  • Adding ppl to a project is costly
  • Team size increases in large jumps
  • Teams should be improved, not enlarged

19
Consequences of the Principles
  • Diff. methodologies are needed for diff. projects

repeatability
Life
()
Essential
traceability
money
Criticality
(N)
(defects cause loss of ...)
productivity
Money
D40
D100
D200
D500
D1000
(D)
productivity and
Comfort
U6
U20
U40
U100
U200
U500
U1000
tolerance
(U)
1-6
7-20
21-40
41-100
101-200
201-500
501-1000
Nr. of ppl (- 20)
20
Consequences of the Principles
  • Lighter methodologies are better, until they run
    out of steam

21
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Comparison (CMM, FDD, ASD, Crystal)
  • Hybrid methodologies
  • Questions discussion

22
Common Design Errors(in a methodology
construction)
  • One size fits all
  • Intolerant
  • Heavy (heavier is safer)
  • Embellishment (ought to and should)
  • Untried

23
Recommendations for Documentation
  • Doc. activities deffered as long as possible,
    then made as small as possible
  • Barelly sufficient
  • ideal quantity
  • varies by time and place within a project

24
Recommendations for Documentation
  • Dont ask for...
  • requirements to be perfect
  • design documents to be up-to-date with code
  • proj. plan to match the state of the proj.
  • ... instead ...
  • req. gatherers capture just enough to communicate
    with designers

25
Recommendations for Documentation
  • If designers are all experts and sitting close by
    each other...
  • ...dispense with design doc. beyond witheboard
    sketches
  • BUT
  • other ppl will need more design documentation!
  • suggestion run doc. generation as a parallel
    and resource-competing thread

26
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Hybrid methodologies
  • Questions discussion

27
Agile Sweet Spots
  • 2 to 8 ppl in one room
  • on-site usage experts
  • one-month increments
  • fully automated regression tests
  • experienced developers

28
On-the-fly methodology construciton and tuning
a distinct sequence of activities with an
established plan and evaluation criteria,
resulting in an executable release
Iteration
  • Right now
  • At the start of the project
  • In the middle of the first increment
  • Between each increments
  • In the middle of subsequent increments

? only if increments gt 3 weeks
29
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Hybrid methodologies
  • Questions discussion

30
Agile methodologies
  • XP (eXtreme Programming)
  • ASD (Adaptive Software Development)
  • FDD (Feature Driven Development)
  • Crystal
  • ...

short iterations, active client,
unpredictable/changing requirements,
people-centric
31
XP
  • XP is a lightweight methodology for small to
    medium sized teams developing software in the
    face of vague or rapidly changing requirements.

    Kent Beck, XP explained
  • Why is it Extreme?
  • Because it takes good practices to extreme levels

32
XP Values
  • Communication
  • Adopt practices that encourage talking and
    listening
  • Simplicity
  • What is the simplest thing that could possibly
    work (DTSTTCPW)
  • Continuously simplify and improve the design
    through refactoring

33
XP Values
  • Feedback
  • Write test cases before production code
  • Develop in small releases,
  • And even smaller iterations.
  • And even smaller tasks.
  • And even smaller tests.
  • Courage
  • Go at top speed

34
SW Processes
Source Michele Marchesi, XP-Cern-2002.ppt, 2002
35
XP Basic Principles
  • Rapid feedback
  • Assume simplicity
  • Incremental change
  • Embracing change
  • Quality work
  • Teach learning
  • Small initial investment
  • Play to win
  • Concrete experiments
  • Open, honest communication
  • Work with instincts
  • Accepted responsibility
  • Local adaptation
  • Travel light
  • Honest measurement

36
XP Practices
  • The Planning Game
  • Small Releases
  • Metaphor
  • Simple design
  • Testing
  • Refactoring
  • Pair programming
  • Collective ownership
  • Continuous integration
  • 40-hour week
  • On-site customer
  • Coding standards

37
XP Practices
38
XP Project
39
XP Release Planning
40
XP Iteration
41
XP Development
42
XP Collective Code Ownership
43
XP Roles
  • Programmer - pairing, testing, coding, designing,
    estimating - courageous.
  • Customer - provide user stories tests
  • Tester - implement functional tests
  • Tracker - log progress
  • Coach - teach to learn
  • Consultant - optional specialist
  • Big Boss - confident

44
A typical day of a programmer
45
Agenda
  • About methodologies (definitions, agile
    manifesto, meta-model, scope, conceptual terms)
  • Methodology design principles and consequences
  • Common design errors
  • Recommendations for documentation
  • Agile sweet spots
  • On-the-fly methodology construciton and tuning
  • Agile methodologies (XP, Crystal, FDD, ASD,
    Scrum, ...)
  • Hybrid methodologies
  • Questions discussion

46
Hybrid Methodologies
  • dX minimal RUP
  • XUP (eXtreme Unified Process)
  • XUP XP RUP MSF

47
Conclusion
  • Agile methodologies
  • Unpredictable and/or changing requirements
  • Responsible and motivated developers
  • Adaptive client
  • Agile sweet spots
  • Heavy, traditional meth.
  • Large groups (gt20 ppl?)
  • Fixed scope contract
  • Predictable requirements and problem domain

48
Resources
  • Agile methodologies
  • Alistair Cockburn, Agile Software Development,
    Addison Wesley Professional, 2001
  • Matja Pancur, Analiza in dolocanje primernosti
    uporabe lahkih metodologij razvoja informacijskih
    sistemov, M.Sc. thesis, Faculty of Computer and
    Information Science, UL, Ljubljana, 2001 (in
    Slovene)
  • XP
  • Kent Beck Extreme Programming Explained Embrace
    change, Addison-Wesley, 1999
  • William C. Wake, Extreme Programming Explored,
    Addison-Wesley, 2001
  • The XP Series _at_ Addison-Wesley (XP Examined, XP
    Installed, XP in Practice, XP Applied, Planning
    XP)
  • www.extremeprogramming.org, www.xpdeveloper.com,
    www.xprogramming.com, www.egroups.com/group/extrem
    eprogramming, http//c2.com/cgi/wiki?ExtremeProgra
    mmingRoadmap

49
Resources
  • FDD
  • Peter Coad, Eric Lefebvre, Jeff DeLuca Java
    modeling in Color with UML Enterprise Components
    and Process, Chapter 6 Feature-Driven
    Development, Prentice Hall, 1999
  • http//www.togethersoft.com/jmcu/chapter6.pdf
  • Coad Letter, Process Feature Driven Development
    and Extreme Programming, editor Steve Palmer,
    Nr.70, 7/2000
  • ASD
  • James A. Highsmith, Adaptive Software
    Development A Collaborative Approach to Managing
    Complex Systems, Dorset House, 2000
  • Dirk Riehle A Comparison of the Value Systems of
    Adaptive Software Development and Extreme
    Programming How Methodologies May Learn from
    Each Other, Proceedings of the First
    International Conference on Extreme Programming
    and Flexible Processes in Software Engineering
    (XP 2000), 2000

50
Resources
  • Crystal
  • Alistair Cockburn Crystal Methodologies
  • http//www.crystalmethodologies.org
  • CMM XP
  • Ron Jeffries Extreme Programming and the
    Capability Maturity Model, XP Magazine, 2000,
    http//xprogramming.com/xpmag/xp_and_cmm.htm
  • Mark Paulk XP from a CMM Perspective, IEEE
    Computer Society Dynabook, Extreme Programming,
    2000 http//computer.org/seweb/dynabook/PaulkCom.h
    tm
  • Hybrid methodologies
  • Peter Merel XUP XP RUP MSF, verzija 1.1
    beta, Scalable Systems LLC, 2000,
    http//home.san.rr.com/merel/XUP.doc
  • Grady Booch, Robert C. Martin, James Newkirk The
    Process, Preliminary Chapter 4, Object Oriented
    Analysis and Design with Applications, 3. ed.,
    Addison Wesley Longman, book draft
    http//www.objectmentor.com/publications/RUPvsXP.p
    df

51
Questions discussion
Write a Comment
User Comments (0)
About PowerShow.com