pyxis technologies 1 agile development overview views, challenges and benefits françois beauregard...
TRANSCRIPT
1
Pyxis Technologies
Agile Development Overview
Views, Challenges and Benefits
François [email protected]
2
Pyxis TechnologiesOutline
Introduction Motivation Overview & Definitions Evidence Agile Ecosystems Tips A Look at the Future References
3
Pyxis TechnologiesIntroduction - Disclaimer
People trump process
Process is only a second-order effect. The unique people, their feelings, qualities, and communications are more influential. (Alistair Cockburn)
Some problems are just hard, some people are just difficult. These methods are not salvation. (Craig Larman)
4
Pyxis TechnologiesMotivation
Predictable Manufacturing New Product Development
It is possible to first complete specifications, and then build.
Rarely possible to create up-front unchanging and detailed specs.
Near the start, one can reliably estimate effort and cost.
Near the beginning, it is not possible. As empirical data emerge, it becomes increasingly possible to plan and estimate.
It is possible to identify, define, schedule, and order all the detailed activities.
Near the beginning, it is not possible. Adaptive steps driven by build-feedback cycles are required.
Adaptation to unpredictable change is not the norm, and change-rates are relatively low.
Creative adaptation to unpredictable change is the norm. Change rates are high.
Craig Larman (emphasis added)
5
Pyxis TechnologiesMotivation
Most software is not a predictable or mass manufacturing problem. Software development is new product development.
Since predictable manufacturing is the wrong paradigm for software, practices and values rooted in it are not helpful.
A “waterfall” lifecycle, big up-front specification, estimates and speculative plans applicable to predictable manufacturing have been misapplied to software projects, a domain of inventive, high-change, high novelty work.
7
Pyxis TechnologiesOutline
Introduction Motivation
Overview & Definition Evidence Agile Ecosystems Tips A Look at the Future References
8
Pyxis TechnologiesOverview - Iterative
Iterative Development
Risk-Driven Iterative Planning
Client-Driven Iterative Planning
Time boxed Iterative Development
Evolutionary and Adaptive Development
Evolutionary and Adaptive Planning
9
Pyxis Technologies
Common Mistake
Yes, we’re going to do iterative development … just as soon as we get all the requirements !
10
Pyxis TechnologiesOverview – Agile
Iterative (short time boxed) and evolutionary + other
values and practices that encourage agility – rapid and
flexible response to change.
Embrace change.
Agility is the ability to both create and respond to change
in order to profit in a turbulent business environment.
(Jim Highsmith)
Embrace communication and feedback.
Barely sufficient methodology.
Agile Manifesto History.
www.agilealliance.com, www.agilemanifesto.org
11
Pyxis TechnologiesOverview – Agile Manifesto
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.
12
Pyxis TechnologiesOverview – Agile Project Management
1. Deliver something useful to the client; check what they value.
6. Use short time boxed iterations to quickly deliver features.
2. Cultivate committed stakeholders.
7. Encourage adaptability.
3. Employ a leadership-collaboration style.
8. Champion technical excellence.
4. Build competent, collaborative teams.
9. Focus on delivery activities, not process compliance activities.
5. Enable team decision making.Jim Highsmith
13
Pyxis TechnologiesOverview – Agile Project Management
1. Guiding Vision – Establish a guiding vision for the project and continuously reinforce it through words and actions.
4. Open Information – Provide visible and open access to project management and other information.
2. Teamwork & Collaboration – Facilitate collaboration and teamwork through relationships and community.
5. Light Touch – Apply just enough control to foster emergent behavior in a self-directed team.
3. Simple Rules – Establish and support the team’s set of guiding practices such as Scrum or XP.
6. Agile Vigilance – Reinforce the vision, follow or adapt the rules, listen to the people.
Augustine and Woodcock
14
Pyxis TechnologiesOverview – Hype?
Most “agile” messages are hardly new. So is this just hype – recycling old ideas?
15
Pyxis TechnologiesOutline
Introduction Motivation Overview & Definition
Evidence Agile Ecosystems Tips A Look at the Future References
16
Pyxis TechnologiesEvidence
Research evidence Early large project evidence Standards-body advice Expert thought leader advice Business case Waterfall problems
17
Pyxis TechnologiesOutline
Introduction Motivation Overview & Definition Evidence
Agile Ecosystems Tips A Look at the Future References
19
Pyxis TechnologiesAgile Ecosystem – Scrum’s Contributions
Very nice explanation and application of an empirical process.
Simple and “easy” to implement. Adjustable level of ceremony. Can be used with various engineering
practices. Values : Commitment, Focus, Openness,
Respect, Courage.
20
Pyxis TechnologiesAgile Ecosystem – Scrum Common Mistakes
Managers or Scrum Master direct or organize the team.
No daily update of the Sprint Backlog by members or daily tracker.
New work added to iteration. Many masters. Scrum Meeting too long or unfocused Iteration does not end in an integrated
and tested partial product.
22
Pyxis TechnologiesAgile Ecosystem – XP’s Contributions
Generated the most interest. The most concrete in terms of specific
practices. Revived interest for good software
engineering practices. The debate and discussion fostered by the XP
community have greatly benefited our profession.
Values : Commitment, Simplicity, Feedback, Courage.
23
Pyxis TechnologiesAgile Ecosystem – XP Common mistakes
Applying a subset of uncompensated practices.
XP is just iterative development + minimal documentation + unit testing.
Not applying Test Driven Development. Costumer doesn’t decide. Minimal refactoring. Diagramming is bad. Stand-up meeting too long or unfocused. Iteration does not end in an integrated and
tested partial product.
24
Pyxis TechnologiesAgile Ecosystem - Other
Adaptive Software Development Agile Modeling Crystal Methods DSDM FDD Lean Development RUP?
25
Pyxis TechnologiesOutline
Introduction Motivation Overview & Definition Evidence Agile Ecosystems
Tips A Look at the Future References
27
Pyxis TechnologiesTip #2
Baseline iterations on Wednesday or Thursday
Allows to manage unanticipated problems.
Allows time to group to retrospect current
iteration and plan the next one.
28
Pyxis TechnologiesTip #3
Use Wideband Delphi estimation
Estimate = (Optimistic + Pessimistic + 4MostLikely) / 6
LikelyDeviation = (Pessimistic – Optimistic) / 6
31
Pyxis Technologies
The real challenge when adopting an Iterative or Agile Approach is to stick to it.
Whether you call your approach agile or something else doesn't matter -- results do. The goal is to balance forces to develop software intelligently. In my opinion, this approach requires brutal honesty all the time. It requires radical commitment so you don't buckle under the constant pressure to quit and do things the old way. It also takes skills.
Roy W. Miller
32
Pyxis Technologies
If you can innovate better and faster – you create change for your competitors. If you can respond quickly to competitive initiatives, new technology and customers’ requirements – you create change for your competitors. If you are slower, less innovative, less responsive – you are doomed to survival strategies in a sea of chaos imposed by others.
Jim Highsmith