Is Scrum as useful as it sounds?
The
selection of right software development lifecycle is very crucial for the
success of a project in IT sector. This is even more relevant in outsourcing IT projects to India. In agile methodology especially scrum method is gaining
popularity in the offshore IT companies and market, which replaces the traditional practices and
methodologies.
As the world around us
grows more complex, we strive to build more complex products. In parallel with
the growth of complexity, there has been a need for increased safety,
predictability, risk management, and control. At the same time, our need to be
nimble, flexible, and adaptable has increased. As of now, more organizations
are employing agile techniques
and processes to develop and sustain complex products than those that continue
to employ more traditional techniques. Of those using agile techniques, 84%
of them employ an agile framework process, Scrum(Elizabeth Woodward, Steffen Surdek, and Matthew
Ganis, 2010) .
A survey was conducted four years back on
software development methodologies
used for the software development projects
in India. (Cranky, 2008) . The different software methodologies
involved in the survey were Waterfall, Scrum and agile methodologies which were
not scrum. In 2006, it was reported that a sizable majority of product
development used a waterfall methodology (55%), with Scrum garnering a mere 7%.
Though Waterfall Model is logical, it
requires complete requirement to be available while initiating the project. In
real life, requirements never get frozen; for various reasons;
·
Customers do not know
exactly what they want; they change their mind often
· Market is volatile – priorities change overnight
· Competition from rival companies
· Humans cannot predict a long term product development cycle.
· Release happens at the end – generally months after customer provide requirements. Often, they don’t get what they wanted. Now, they cannot change requirements as it is too late.
· Market is volatile – priorities change overnight
· Competition from rival companies
· Humans cannot predict a long term product development cycle.
· Release happens at the end – generally months after customer provide requirements. Often, they don’t get what they wanted. Now, they cannot change requirements as it is too late.
These are the major factors make
Waterfall Model to fail often since project involves humans. This is the
primary reason why Scrum gained its popularity.
The use of agile methodologies is gaining
popularity in the market for offshore
and outsourcing industry as a successful alternative for traditional
practices and methodologies. Articles from electronic journals (Taft, 2010) show a recent survey
taken by Forrester Research that states that the Agile Methodologies are
already part of the prevalent group of methodologies in the world of IT system
development. Another result of this research reveals that Scrum is, by a
large margin, emerging as the main representative in the world of agile
methodologies and frameworks(Krill, 2010) .
The Agile Manifesto, created in 2001, is the starting point
for the movement that has become known as Agile. The Manifesto summarizes the
Agile values(Fowler & Highsmith, 2001) .
“We are uncovering better ways of developing software by
doing it and helping others to do it. Through this work we have come to value:
Individuals
and interactions over processes and tools
Working
software over comprehensive
documentation
Customer
collaboration over
contract negotiation
Responding
to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.”
With the objective of making it easier to understand and put
into practice the Agile values, twelve Agile principles were created(Fowler & Highsmith, 2001) .
(Cranky, 2008) . The result of the survey gives the
highest used methodology is Scrum model.
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Application
development or software
development in outsourcing companies in India or any other IT
projects executed in India, Scrum has helped them to deliver projects in time
and within budget without compromising quality.