Activity driven role assignment, business modeling, tool family support
Feature Driven Development (FDD):
Five-step process, short iterations
Agile Modeling (AM):
Applying agile principles to modeling
Dynamic Systems Development Method (DSDM):
Evolution of Rapid Application Development (RAD)
What is Scrum?
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
The Scrum Process - Phases
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.)
The Scrum Process - Meetings
Spring Planning Meeting:
This planning meeting is held to decide what should be accomplished in the next Sprint. This meeting is held in two phases, in which the second phase covers how everything will be implemented.
Daily Scrum Meetings:
These meetings are usually about 15 minutes long and are similar to “stand-up meetings.” The team goes over what has been accomplished and what needs to be done and address any road-blocks or issues.
Spring Review Meeting:
This meeting is held on the last day of the Spring. The management, customers, users, and the Product Owner are presented with the results by the Scrum Team and Scrum Master.
Scrum Roles & Responsibilities
Makes sure the Scrum process is followed. Interacts with all sides: the team, the customer, and the management.
Officially responsible. In charge more on the technical side. Especially responsible for the Product Backlog.
Project Team. Responsible for carrying out the work in each spring.
Participates in the tasks related to the Product Backlog, so that they are actively involved in the requirements development.
Makes the final decisions
Scrum in Industry
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.
“ Agile Software Development Methods: Review and Analysis” by Pekka Abrahamsson, Outi Salo, Jussi Ronkainen, & Juhani Warsta.
“ SCRUM Development Process” by Ken Schwaber.
“ Microsoft Lauds ‘Scrum’ Method for Software Projects” by Darryl K. Taft.