pyxis technologies 1 agile development overview views, challenges and benefits françois beauregard...

33
1 Pyxis Technologies Agile Development Overview Views, Challenges and Benefits François Beauregard [email protected]

Upload: noah-dorsey

Post on 03-Jan-2016

224 views

Category:

Documents


1 download

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.

6

Pyxis Technologies

Common Mistake

If it ain't broken, don’t fix it.

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

18

Pyxis TechnologiesAgile Ecosystem - Scrum

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.

21

Pyxis TechnologiesAgile Ecosystem - XP

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

26

Pyxis TechnologiesTip #1

“Pipelining” Activities across iterations

Requirements

Development

Test

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

29

Pyxis TechnologiesTip #4

Don’t Forget to Budget for Iteration Overhead Tasks

30

Pyxis TechnologiesA Look at the future

Increased adoption rate Your opinion?

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

33

Pyxis TechnologiesReferences

Agile & Iterative Development : A

Manager's Guide by Craig Larman

Agile Software Development

Ecosystems by Jim Highsmith

Agile Modeling by Scott W. Ambler

Thank You ! Questions ?