Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile...

11
Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes

Transcript of Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile...

Page 1: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Software Engineering

Process IThe case for agile processes

Page 2: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Page 3: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Page 4: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Page 5: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Variability & Uncertainty is a fact

of life in SW• Embrace helpful variability to create innovative solutions

• Employ iterative and incremental development

• Leverage variability through inspection [review], adaptation, and transparency

• Reduce forms of uncertainty [features]

Page 6: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Prediction & Adaptation• Keep options open

• Accept that you can't get it right up front

• Favor an adaptive, exploratory approach

• Embrace change in an economically sensible way

• Balance predictive up-front work with adaptive just-in-time work

Page 7: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Validated Learning

Validate important assumptions fast

• Fail fast by having short dev cycles (sprints)

Leverage multiple concurrent learning

loops

• stand-ups, reviews

Organize workflow for fast feedback

• reviews, retrospectives

Assume

Build

Feedback

Inspect

Adapt

Page 8: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Work in ProgressUse economically sensible batch sizes

• Short sprints

Recognize inventory [work] and manage it for good flow

• Focus on idle work, not idle workers

• Reduce cost of delay

Page 9: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Progress

• Adapt to real-time information and replan

• Measure progress by validating working assets

• Focus on value-centric delivery

Page 10: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Performance

• Go fast but never hurry

• Build in quality

• Employ minimally sufficient ceremony

Page 11: Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I The case for agile processes.

Copyright © 2012-2014 by Mark J. Sebern

Review

• The case for the waterfall/predictive models• Advantages of agile• Principles behind scrum