Is there life beyond Scrum?

Let’s say we are a website, and we have users, and users can register. We have a registration form, but we want to experiment and create another version of it.

Waterfall

1. Create a business case document and have it signed off by all relevant stackeholders.
Pure efforts: 1 man/day (MD).
Calendar time: 1 week (due to busy schedules of the stackeholders)

2. Create a feature specification document. Have it checked by legal.
//PM forgets to handle the case of somebody trying to register second time
Efforts: 5 MD
Calendar time: 2 weeks (legal department needs some time)

3. Design phase
// Designer decided to use black background and white foreground for textboxes, and nobody knows that it is not supported by used frontend technology.
Efforts: 5 MD
Calendar time: 1 week

4. Development phase
//In the middle of the phase, a developer discovers that it is not possible to change foreground color of textboxes. So he only changes the background of the textboxes to black (as specified) and proceeds. Textboxes are now black on black.
Efforts: 5 MD
Calendar time: 3 weeks (where 2 weeks are lost for waiting until developers finish the previous project)

5. QA Phase
//QA discover the issue with unusable text boxes and report to PM. Nothing else can be tested because of this issue.
Efforts: 1 MD
Calendar time: 3 days.

6. Design phase II
//Textboxes are changed to be black on light gray
Efforts: 1 MD
Calendar time: 3 days (as designer was busy with another project)

7. Development phase II
//Developers implement the change request
Efforts: 1 MD
Calendar time: 1 week (mostly waiting for a free developer)

8. QA Phase II
//QA can now test, it works good, but then they find that the case of second time registration is unhandled. They report to PM.
Efforts: 1 MD
Calendar time: 3 days.

9. PM adds handling of this special case in the spec, and has it checked by legal again.
Efforts: 3 MD
Calendar time: 1 week

10. Design phase III
Efforts: 3 MD
Calendar time: 1 week

11. Development phase III
Efforts: 3 MD
Calendar time: 1 week

12. QA Phase III
//QC Passed
Efforts: 3 MD
Calendar time: 1 week

13. Security audit phase
Efforts: 1 MD
Calendar time: 2 days

14. Deployment to staging
Efforts: 1 MD
Calendar time: 1.5 months (because deployments happen in batches, four times per year)

15. Deployment to production
No efforts, as it happens automatically from staging.

Total project efforts: 32 MD.
Project time to market: 116 days.

Scrum

1. Talk with all relevant stackholders.
Efforts: 0,5 MD
Calendar time: 1 week (due to busy schedule)

2. Create a user story with a wireframe
//To make the processes comparable, PM still forgets to handle this “second-time registration” special case
Efforts: 5 MD
Calendar time: 1 week

3. Design phase
//still, black on black text boxes
Efforts: 5 MD
Calendar time: 1 week

4. Waiting for the possibility to start sprint
Calendar time: 2 weeks

5. Iteration planning
Efforts: 0,5 MD
Calendar time: 1 day

6. Iteration starts
//Halfway through, a developer finds the black on black textboxes and escalates to PM on the next standup meeting.
Efforts so far: 2 MD
Calendar time: 2 days

7. Development team continues with other things, PM sits down with designer and creates a fix
Efforts: 1 MD
Calendar time: 0 (in parallel with the sprint)

8. Sprint continues
//dev implements usable text boxes
Efforts: 1 MD
Calendar time: 1 day

9. QA can test for the first time
//They find that the case of second time registration is unhandled. They report to PM on the next standup meeting.
Efforts: 1 MD
Calendar time: 0 (in parallel with the sprint)

10. Implementation of this feature is stopped in the sprint. PM adds missing case, designer creates a design
Efforts: 6 MD
Calendar time: 1 week

11. Sprint continues
//Dev finishes the task
Efforts: 2 MD
Calendar time: 2 days

12. Final QA test
//QC passed
Efforts: 1 MD
Calendar time: 1 day

13. Deployment to staging
Efforts: 1 MD
Calendar time: 1 week (because deployments happen in batches, once every 2 weeks)

14. Deployment to production
//automatic

Project efforts: 25 MD
Project time to market: 42 days

SMD (aka startup mode development)

A three-person startup:
1) business development guy Mark, who also does marketing, sales, PR and the rest of everything.
2) designer slash product manager Jeanne
3) developer Tim
Everybody sits in the same small room.

1. Mark: “Guys, why don’t we go and try a new registration page?” Discussion follows on the whiteboard.
Efforts: 12h
Calendar time: 4h

2. Everybody goes to lunch

3. After the lunch, Jeanne: “Okay Tim, I’m going to sketch some screens. You say you need the buttons in PNG?” Tim: “yeah, it is really pain in the ass to make these effects in HTML5, so yeah. Look, I’m starting now to write some first drafts of the page, at least with the text boxes we’ve all agreed upon.” Mark is busy with a customer meeting.
Efforts: 8h
Calendar time: 4h

4. Next day in the morning (yes, this is a strange startup with a 40-hour week). Tim deploys the first draft on a test server and says: “so guys, check your inbox, there is a link.” Mark, clicking on the link and looking at the page: “hmm, but what about the case…” Heated dicussion follows.
Efforts: 12h
Calendar time: 4h

5. Everybody goes to lunch

6. After the lunch, Jeanne: “I’m sending over the PNGs.” Tim starts applying the design, and finds out the black on black issue. Jeanne comes over to Tim, contemplates for 30 seconds, and tells him the new background color for textboxes. At the same time, Mark is preparing a new wireframe for all cases where those three people couldn’t agree upon.
Efforts: 12h
Calendar time: 4h

7. Next day, Tim shows the current verson. Mark presents his draft. Discussion follows and remaining TODOs are defined and agreed upon.
Efforts: 12h
Calendar time: 4h

8. Everbody goes to lunch

9. Tim implements the rest of the page, while Jeanne is sending him needed graphics just in time, and Mark is “working” on Facebook, at the same time periodically refreshing the page on the test server. Whenever he finds a bug, he just tells Tim about it, he comes over, looks at it, notes on a piece of paper and continues.
Efforts: 12h
Calendar time: 4h

10. Next day, everybody gathered together. Tim has deployed the release candidate on the test server, and everybody is busy making last checks and tweeks. Suddenly, Jeanne realizes that the special case for second registration is not handled. After a brief discussion, they decide to go live without solving it. Tim uploads the file to the production server.
Efforts: 12h
Calendar time: 4h

11. Everybody is eating the pizza delivered to the office, and checking the real-time stream of new registrations going through the new page. Jeanne is looking for the second-time registration cases, and is prepared to handle them manually if/when they appear. Tim is busy fixing optical bugs happening only in IE8. Mark is “working” on Twitter.
Efforts: 3h
Calendar time: none, the page is already online.

12. Next day, Tim writes a simple trigger that sends an e-mail to Jeanne when somebody registers himself for the second time.
Efforts: 1h.

Project efforts: 10,5 MD
Project time to market: 3,5 days

Resume

Because I don’t know any more productive and flexible way to develop software than the startup-mode, let’s assume it for 100%. Comparing to it, in this particular example, Scrum costs  138% more efforts and takes 1100% longer to hit the market. Waterfall costs 204% more and takes 3200% longer to market.

Leave a Reply

Categories

Archive