Professional Documents
Culture Documents
This paper gives you a brief introduction of what Agile software development is and explains 2-3
Introduction: Global market is rapidly changing and most of the rapid changes are happening due
to new disruptive technologies. In this scenario, companies must respond to these changes at a
rapid pace. In the context of India, Information Technology has become an integral part of
growth and the country is best preferred outsourcing destination. Hence agility has become a
In the above paragraph, we have described the need for agile methodologies from the perspective
of external environment. There are other internal factors that mandate such as:
• 40% of the features requested at the start of project are not being used by end-users!
– Is it good RoI?
– Is it my fault?
• Have you heard this - “I know a better way to implement it, but can't do it as the design is
already signed-off!”?
• All good ideas don’t just come at the beginning of the development cycle
So, the question is how to respond to these rapid changing requirements during software
development.
• In the late 1990s several methodologies began to get increasing public attention. Each had a
different combination of old ideas, new ideas, and transmuted old ideas.
– ways to craft the code and the team so that the inevitable change in requirements
does not turn into a crisis
Agile Methods:
• Scrum
• Crystal Methods
• 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
• Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely
• 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
Some of the underlying aspects which are necessary for Agile Development are:
• Collaboration
• Flexibility
• Organizational support
• Motivated individuals
• Innovation
Scrum:
Microsoft, Yahoo!, Google, Electronic Arts, High Moon Studios, Lockheed Martin
Some of the projects where Scrum is used are: Commercial software, In-house development,
Contract development, Fixed-price projects, Financial applications, ISO 9001-certified
applications
• The goal of this method is to achieve high customer satisfaction index and the method is based
on people collaboration approach.
Benefits of XP:
• Emphasizes team spirit, which include managers, customers and developers dedicated to
delivering a quality software.
• Implements a simple and effective way to enable groupware style of development.
• Binds the entire team in the presence of simple practices with regular feedback, to enable the
team to know where they are heading and to tune these practices to their situations.
Planning:
Coding:
• Integrate often.
• No overtime.
Designing:
• Simplicity.
Testing:
• All code must pass all unit tests before it can be released.
Scrum focuses on management and organization practices while XP focuses mostly on actual
programming practices. That’s why they work well together – they address different areas and
complement each other.
Summary:
References:
Mike Cohn, Mountain Goat Software