By Earl LaChance
The general idea is to deliver a functional piece of software every sprint (2 - 4 week time frame). Remember, this does not imply "production ready". This is an iterative approach to developing a product toward production-ready status, with a focus on constant improvement.
Our Scrum process flows as follows:
1.User Stories are created, based on requirements. These are created in “ScrumWorks”, a software package that offers a free version (Basic) at http://danube.com/.
2. Tasks are added to each user story and we assign an estimation to the task in hours
3. A point person is assigned to each task
4. User Stories are then placed into "Sprints" which are short development cycles.
5. At the end of each day, the Project Manager or the “Scrum Master” collect these hours and update the task in ScrumWorks.
6. We conduct a daily "Scrum meeting" where we hold a development review: what was completed, what is planned, and roadblocks.
(Graphic from Mountain Goat Software, Inc)
One of the important results of the daily scrum is an understanding of the daily burn-down calculation, which shows us:
b. Total days for the sprint
c. Ideal number of hours to be ‘burned’ daily
d. The number of hours we burned the previous day
e. The delta between how many hours we should have burned to stay on track vs. what we actually burned
f. The number of hours left in the Sprint
g. The number of hours we NEED to burn today in order to stay on-track and to not fall behind.
Using Scrum, we know on a daily basis the following:
1. Who completed which tasks and which tasks are planned
2. How much time a resource spent working on the sprint
3. How the team is tracking toward on-time delivery of the sprint
Although I have personally been an Agile practitioner for some time, I am now very much a Scrum framework advocate! This is the an excellent example of the marriage of a management process to a software package(Scrumworks).