Scrum and the Two Questions
Scrum – an efficient way to run software projects. Valuable modules are delivered early and continuously. Reacting to changes and new demands is a key strength of scrum. Agile working helps to get optimal output with great flexibility. But this flexibility makes it hard to answer the 2 questions:
When will the project be finished?
How much will it cost?
Scrum – Agile Software Development
A task list called backlog and sub-projects called sprints are the backbone of Scrum. A lot of shorter and longer meetings called events help to connect users and developers. The backlog is a rough list of requirements that are prioritized by the users. Before every sprint packets with tasks are specified, which are then implemented during the sprint.
The Two Questions
There are the two questions every client likes to know at the beginning of every project:
- When will the job be done?
- And how much will it cost?
If you take one task out of the backlog and specify it – it might increase or reduce the overall effort to solve it. During the project the requirements might grow and so you need more time and money.
If you fix the deadline and the project costs, it’s possible that you can’t finish the whole project.
If you fix the task list, you can’t predict the time and money you’ll need for the project.
Users Change Their Requirements
The users begin by specifying their demands. With every new detail available, they learn more about the process and about the capabilities of software development. So the task list grows and the effort increases.
The Old vs the New Way of Running Software Projects
Waterfall: The old way started with a whole plan. So you could predict cost and time. Finally you got the stuff you ordered.
Scrum: You start with a raw task list. The result better covers the real-life demands. Cost and time develop during the project.
What’s the best way to get good results in time and in budget?
Some Requirements Should be Defined
At the beginning of a project we help the client generate a “specification of requirements”. This definition specifies every important task. After finishing this “specification of requirements” we make an offer for this project. If the client accepts the offer we start with the real project.
The first step is the task list – the product backlog. After this step we’re running Scrum.
Product Backlog and Requirements Definitions
Sometimes demands appear during the projects, which are not covered by the “specification of requirements”. These new demands will either become part of a new project or some initial requirements drop out of the product backlog.
The project remains within time and budget. New requirements don’t change the deadline or the costs of the project.
Conclusion: A “Specification of Requirements” Helps to answer the Two Questions
Before the Scrum project starts you need a “specification of requirements”. This list can be the blueprint for the product backlog, the calculation of time and budget, and a tool to answer the two questions every client needs to know: “How much will it cost? And when will the task be done?”