software engineering process i

12
Copyright © 2012-2014 by Mark J. Sebern Software Engineering Process I SE-2800-03

Upload: billy

Post on 24-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Software Engineering Process I. SE-2800-03. Ch. 3: Agile Principles. (from course textbook). Topic: why agile? Ch. 3: Issues with plan-driven But why would anyone use plan-driven development?. The case for plan-driven development. A380 >5000 ft 2 floor space up to 853 passengers - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Software Engineering

Process ISE-2800-03

Page 2: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Ch. 3: Agile Principles

• Topic: why agile?• Ch. 3: Issues with plan-driven• But why would anyone use plan-

driven development?

(from course textbook)

Page 3: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

The case for plan-driven development

• A380• >5000 ft2 floor space• up to 853 passengers• One plane: €3e8, or about $4e8.

• Inertial reference system: where plane is at, where it’s headed, at what speed• Gimbals, GPS, pressure/temp sensors

• 30 people for verification alone, millions of $• Also have flight control, communications,

etc.• Some planning may be helpful!

Page 4: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Agile Principles• Variability and uncertainty• Prediction and adaptation• Validated learning• Work in progress• Progress• Performance

Pair exercise

For your assigned topic,•What does it mean?•Does it make sense to you?•Prepare brief summary

Page 5: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Variability & Uncertainty• Embrace helpful variability to

create innovative solutions• Employ iterative and incremental

development• Leverage variability through

inspection, adaptation, and transparency

• Reduce all forms (ends, means) of uncertainty simultaneously

Page 6: Software Engineering Process I

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: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Validated Learning• Validate important assumptions

fast• Leverage multiple concurrent learning loops

• Organize workflow for fast feedback

Assume

Build

FeedbackInspect

Adapt

Page 8: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Work in Progress• Use economically sensible batch

sizes• Recognize inventory and manage

it for good flow• Focus on idle work, not idle

workers• Consider cost of delay

Page 9: Software Engineering Process I

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: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Performance

• Go fast but never hurry• Build in quality• Employ minimally sufficient

ceremony

Page 11: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

What is the goal of this chapter?

• What is the challenge to the engineer who wants to start using Scrum?

• Variability, uncertainty: a new way to process the unknown

• Prediction, adaption: adaption > prediction• Validated learning: allow knowledge gained

to drive process• Work in progress: radical thoughts on how to

get work done• Progress: how to measure• Performance: focus on decreasing useless

work

Page 12: Software Engineering Process I

Copyright © 2012-2014 by Mark J. Sebern

Review

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