Software Carpentry logo

Software Development Lifecycles

April 24, 2010: We are pleased to announce that Version 4 of this course is now under development. For updates and an early peek at the content, please check out the Software Carpentry blog at http://www.software-carpentry.org/blog/.

1) Introduction

2) You Can Skip This Lecture If...

3) Sturdy vs. Agile

4) Boehm's Curve

Boehm's Curve

Figure 26.1: Boehm's Curve

5) Which One Is Better for Scientists?

6) Vision

7) Making Up an Elevator Pitch

Part Boilerplate Example
Problem statement The problem of only being able to simulate invasion percolation on regular 2D grids
Target market affects scientists who work with composite materials,
Impact who currently have to extrapolate from regular models.
Solution Our solution, a set of enhancements to InvPerc,
Key technical feature handles any structure that can be represented as non-overlapping regions.
Competition Unlike PI2D and other simulators,
Differentiator it can read standard CAD files as well as IP2-format grid files.

Table 26.1: Vision Statement Template

8) Agile Development

9) Extreme Programming

10) Scrum

Scrum Lifecycle

Figure 26.2: Scrum Lifecycle

11) Scrum Roles

12) Scrum Key Practices

13) Scrum Artifacts

14) A Sturdy Alternative

Sturdy Lifecycle

Figure 26.3: Sturdy Lifecycle

15) Step 1: Gathering Requirements

16) What Requirements Are and Aren't

17) Step 2: From Requirements to Features

18) Waterfalls...

The Waterfall Model

Figure 26.4: The Waterfall Model

19) The Spiral Model

The Spiral Model

Figure 26.5: The Spiral Model

20) Step 3: Analysis & Estimation

21) Where Estimates Come From

22) What Goes Into An A&E

23) Reviews

24) What Can Go Wrong with A&Es

25) Step 4: Prioritization

Ranking Features

Figure 26.6: Ranking Features

26) Step 5: Scheduling

27) Science Fiction Scheduling

28) Step 6: Development

29) Tracking Progress

30) Burn Rate

Burn Rate

Figure 26.7: Burn Rate

31) Step 7: Finishing

32) After the Party's Over

33) Summary