custom software development, offshore software development, web enable legacy applications, virtual business, website enhancements  
Home | Success Stories | Services | Partnerships | Contact
         
Custom Web development
elearning
Enterprise Resource Planning Solutions
Customer relationship Management Solutions
Healthcare

Other Development Solutions

 

Let's Talk...
Name
Email
 
 

SCRUM: Saving Projects from FailingSCRUM: Saving Projects from Failing

By Nishant Menon

 

Stylus Systems is a Web Development company located
in Bangalore, India and serving clients globally especially in Europe and North America.

.................................................................................

In 1994, in the entire United States, 94% of the projects started were eventually restarted. Of these, 84% failed to deliver the value expected by their customers, either because they deliver software that has no relevance in the time they were produced or simply because they did not produce the software at all. The sad fact is that even by the year 2000, the figure of restarted projects had only dropped to 72%.

This unfortunate state of affairs has affected all of us in some form or the other depending on which side of the product development we stand. To answer the obvious question of why, it is relevant to analyze the reasons for why the other percentage of projects succeeded.

The most important criteria for the success of the projects have been the user involvement (35.1%) and requirements management (24.1%). Surprisingly, Proper planning, a consequence of both, contributed just 9.6%.

Any person involved in the software development process, has always known that Newton's laws of Physics may have been applied here, knowing too well that Murphy's Law played a more prominent role here! This is due to the inherent set of undefined factors that are the base for most software projects. While most heavy weight processes, such as Rational Unified Process (RUP), try to bring about neatness and some semblance of definable characteristics into the software process, most have failed due to these factors.

Enter the SCRUM

The SCRUM, which you might have expected is not an acronym for any thing but in fact, comes from the world of the sport, rugby. Scrum is the name of the formal conglomeration of forwards who bind together in specific positions when a scrumdown is called in rugby. First used to describe hyper-productive development in 1987 by Ikujiro Nonaka and Hirotaka Takeuchi, this term has become almost synonymous with successful agile processes. This article speaks about this process with out you having to tear your hair in despair (but then if you are in the habit of doing it, then go ahead).

What is an Agile Process?

The word agile means fast and an agile process implies a process that is minimally loaded with activities that consume time and produce no visible gains to the job that we are doing. In the world of software development methodologies, this term means those processes that understand the inherent uncertainties and do not encumber it with unnecessary activities that are detrimental to the pace of the development process.

What is the spirit of SCRUM?

To quote the controlled chaos web site:

1. Scrum is an agile, lightweight process to manage and control development work.

2. Scrum is a wrapper for existing engineering practices.

3. Scrum is a team-based approach to iterative, incremental development systems and products when requirements are rapidly changing.

4. Scrum is a process that controls the chaos of conflicting interests and needs.

5. Scrum is a way to improve communications and maximize co-operation.

6. Scrum is a way to detect and cause the removal of anything that gets in the way of developing and delivering products.

7. Scrum is a way to maximize productivity.

8. Scrum is scalable from single projects to entire organizations. Scrum has controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers.

9. Scrum is a way for everyone to feel good about their job, their contributions, and that they have done the very best they possibly could.

In short it is for the software development environment that is commonplace - with features changing from the first day of the project, team members swapping from one project to next without having done anything at all in any of them etc.

To quote controlled chaos web site:

"A Scrum software project is controlled by establishing, maintaining, and monitoring key control parameters. These controls are critical when a software development encompasses an unknown quantity of uncertainty, unpredictable behavior, and chaos."

How SCRUM works

Scrum is based on the concept of iterations. There are two nested iterations at the end of which a feasible product appears. The inner iteration is done every day and is called a scrum. The external iteration is done every month (30 days- which, according to the proponents of SCRUM is the ideal - neither long nor short- for a viable software to be developed).

The Basic Structure of a SCRUM Team

The team contains not more than 6 members and has a controller whose name has some how got mixed up with chess expertise! The Scrum Master (in contrast to the Grand Master) has complete authority on what the team shall work on (This list on what features are wished for in the final project and not handled by the current sprint is called as backlog list).

As they say, no man can have two masters, SCRUM believes that no external agency is to be allowed to interfere in the work of the team during the iterations and no external responsibilities be given to the team members during this period.

Now for the modus operandi. The team decides what the functionalities would be that they could develop in a period of 1 month.

SCRUM: The inner Iteration

Each Scrum Cycle is a daylong. At a specific time and at a specific place every day the team convenes to be answerable by the Scrum Master. He asks each team member the following 3 questions

  • What have you done since your last scrum meeting?
  • What has impeded your work?
  • What do you plan on doing between now and the next scrum meeting?

Bingo, the meeting is complete, any help, idea etc. that's developed in this meeting are discussed off-line.

SPRINT: The external Iteration

In a period of not more than 30 days the team meets the miles stones that they had set for themselves and comes out of the sprint with a functional product. Here is where the evaluators (clients etc.) come in to evaluate the result and decide on the next sprint.

Conclusion

To quote Katz' Law:

"Men and nations will act rationally when all other possibilities have been exhausted."

Thus after the experiences of trying to apply the ancient waterfall model and similar stringent techniques to the inconsistent world of software, SCRUM seems to be the final answer to the software world's prayer.

In fact, the current period is one of the most exciting of all periods in the history of software engineering with processes such as XP merging with SCRUM to provide a hybrid XP @ SCRUM which has Scrum Management practices with the XP engineering practices to form an interesting arena. Many other Agile processes such as dX, FDDS etc. are performing better than the heavy weight processes to such an extent that when projects using heavy weight processes are in the verge of failure, the management always adopts processes such as SCRUM to rescue it.

Thus, SCRUM is a step in the right direction aimed at bringing sanity to the entire process of Software development and shall bring the realization that there are no 'silver bullet' solutions in the realm of 'solutions of the Software kind'.

Useful Links:

1. Scrum Home Page

2. Scrum Rules

3. Scrum: Living on the edge

4. ADM's home page

5. Nonaka, Ikujiro and Takeuchi, Hirotaka The Knowledge Creating Company: How Japanese Companies Create the Dynamics of Innovation (New York: Oxford University Press, 1995)

 

About Stylus | India Advantage | Site Map
Archives. Copyright 2003 Stylusinc.com. All Rights Reserved. Privacy Policy

Clear about what you want? Click Here

FAQs: Offshore Development | Custom Software Development