Wednesday, June 2, 2010

So What is Scrum?

Scrum provides a framework for project management and agile software development. In 1986, Hirotaka Takeuchi and Ikujiro Nonaka described a new holistic approach that was designed to increase speed and flexibility in the development process for new commercial products.

They compared this new holistic approach to the sport of Rugby. The Scrum development phases overlap and the entire process is performed by one cross-functional team across the different phases. Similar to Rugby, where the whole team “tries to go the entire distance as a unit passing the ball back and forth”. Note - this is where the name Scrum came from - it was their favorite Rugby team! Scrum is not an acronym!

Scrum was first used for the management of software development projects. The beginning case studies came from the automotive, photo machine, computer and printer industries. Now Scrum is also used to run software maintenance teams and for general program/project management.

Scrum is seen as a “process skeleton” containing defined practices and roles.

The key roles in Scrum are:
1. “ScrumMaster” - maintains the processes (similar to a project manager)
2. “Product Owner” - represents the stakeholders and the business
3. “Team” - a cross-functional group of approximately 7 people who perform the analysis, design, implementation, testing, etc.

DEFINING THE SPRINT
A “sprint” is typically a 2 to 4 week development period decided by the team. This timeline is the time required for the team to meet a milestone such as development of a shippable "beta" product(ex: working/tested software).

THE PRODUCT BACKLOG
The set of features that are assigned to a sprint come from the product “backlog”. The backlog is a prioritized set of high level requirements of work to be completed. Specifying which backlog items go into the sprint is determined during the sprint planning meeting. The Product Owner informs the team of the items in the product backlog that need to be completed. The team determines how much of this they can commit to in order to complete the next sprint. Then the sprint is set to start.

FROZEN SPRINT
During a sprint changes are not allowed in the sprint backlog. In other words-the requirements are frozen for the active sprint. After a sprint is completed, the team demonstrates how to use the product(ex: software).

STRONG CROSS-COLLABORATION
Scrum promotes self-organizing teams that co-locate all of the team members assigned to the project. Scrum also requires frequent, in person, verbal communication across all team members and disciplines that are involved in the project.

CUSTOMER REQUIREMENTS FLEXIBILITY
A key benefit to Scrum for customers is that during a project the customers can offer additional requests or change their minds about what they want and/or need. In a traditional development process customers’ needs cannot be taken into consideration as the process is too rigid. Scrum promotes the approach of focusing on maximizing the team’s ability to deliver quickly and respond to the customers emerging requirements.

Jamie"s MOTTO.....

Don't follow the path that is already there....go instead where there is no path....and leave a trail....

This trail is a part of a long journey .....