Just a few thoughts on one of the emerging “agile” software project management methodologies out in the field today. Scrum seeks to follow a rapid, iterative approach which involves the customer interactively along the development process to make sure that requirements and project scope are carefully tuned to the customer’s expectations.
Scrum at a High Level
- Scrum is an “agile” process that allows us to focus on delivering the highest business value in the shortest time.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets priorities. Teams self-organize to determine the best way to deliver the highest priority features.
- Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
Learn Scrum in 7 Minutes!
The following video gives a informative take on the Scrum software project management methodology. While I do not know the folklore behind the use of “pigs and chickens” as the characterized project workers, they are commonly used symbols when the concept of scrum is explained or discussed.
More Background on Scrum
Scrum is an agile software development model based on multiple small teams working in an intensive and interdependent manner. The term is named for the scrum (or scrummage) formation in rugby, which is used to restart the game after an event that causes play to stop, such as an infringement.
Scrum employs real-time decision-making processes based on actual events and information. This requires well-trained and specialized teams capable of self-management, communication and decision-making. The teams in the organization work together while constantly focusing on their common interests.
- Initial appointment of a project manager called the “scrum master.”
- Definition and prioritization of tasks to be done.
- Planning sessions for each task.
- Daily meetings among teams.
- Identification and evaluation of potential project risks and process pitfalls.
- Execution of projects in brief, high-intensity, frequent work sessions.
- Reviews of progress and evaluations of completed projects.
- Openness to constructive criticism and ideas for improvement.
The scrum concept was introduced by Hirotaka Takeuchi and Ikujiro Nonaka in a 1986 article in The Harvard Business Review, “The New New Product Development Game” The original context was manufacturing. Jeff Sutherland, John Scumniotales and Jeff McKenna are credited with adopting, implementing and documenting the model for software development at Easel Corporation in 1993. In 1995, Ken Schwaber presented an influential white paper at OOPSLA, “SCRUM Development Process.”
(Definition taken from: Search Software Quality)
Scrum vs. Traditional Management Methods
I have had most of my experience with waterfall methods, but I can see some value in the agile approach. The big difference between the two is that in agile projects, evaluation of a module is present before it is passed along. In Waterfall, there is no stopping and the project flow passes along with hopes of a good outcome. In Waterfall, the linear approach makes it harder to go back when a downstream team or group meets with a major problem or roadblock caused by decisions made during earlier tasks.