Scrum was originally derived from a rugby strategy
Scrum focuses on being flexible and adaptive
Systems development processes can often be unpredictable, therefore a flexible approach (like Scrum) can lead to more productivity and higher quality products because you are able to respond to change better
Planning : Defines the system being developed. A Product backlog list is created which contains all the current requirements, and information on the project plan.
Architecture/High level design : Using the product backlog list, the high level design is created. To make decisions on design and implementation, the team holds a design review meeting and goes over the proposals.
System is developed in “Sprints.” Using sprints, the system is developed using an iterative approach. Each sprint is an iterative cycle. Instead of doing the requirements, analysis, design, etc. up front, each sprint covers these design phases and each sprint builds on the previous one.
This phase closes out all the design phases and the team can now prepare for release (i.e. integration, testing, etc.)
Microsoft is implementing the Scrum approach to deal with the need to update its products faster in order to keep up to date with what the consumer needs.
In an article describing Microsoft’s use of Scrum, the vice president of the .Net Developer Platform group says “many teams within Microsoft rely on Scrum as a way to turn out quality software on time and in tune with user requirements.”
Scrum works very well for a project in which design decisions change often because of the flexibility of the design approach. Scrum also works well as an IKIWISI approach because the customer is highly involved and the Scrum process focuses on many iterations which gives the customer an idea upfront of what the design will look like.
One of the disadvantages of Scrum is that it would not work well for large teams and projects. While it wouldn’t be impossible to do Scrum with a large team and project, Scrum seems to work best with a smaller team.
Overall, Scrum is a very adaptive, collaborative, and flexible design approach that is customer-driven and thus producing quality work products in a shorter period of time.