AGILE SOFTWARE DEVELOPMENT
By : Sapna Sood
( Management Consultant)
When we speak about Agile methodology
there are number of them. Which one do
you follow? Are you one of them who are
using a single approach to all their clients?
A single approach to all clients!! For me it is
sounding more like a single shoe for all
clients, irrespective of their shoe size!!
UNDERSTANDING SOME TERMS
Agile is the readiness for motion or dexterity in
Agility is the ability to both create and respond to
change in order to profit in a turbulent business
Now, you need to determine the amount of
agility you need to be competitive and stay
in the market.
HISTORY, SO FAR!
DESPITE OF THE FACT THAT WE HAVE AN END NUMBER OF METHODOLOGIES THAT WE CAN
USE, WE RATHER STICK TO A SINGLE APPROACH.
Extreme Programming (Kent Beck)
SCRUM (Ken Schwaber)
Adaptive Software Development (Jim High smith)
Crystal (Alistair Cockburn)
Feature Driven Development
Snowbird ski resort in Utah mountains
17 ‟methodology‟ people
“Agile” in stead of “light”
“The Agile Alliance”
ARE YOU SUCCESSFULLY DEVELOPING
SOFTWARE'S? LET‟ SEE!
Only 10 % or less than that software projects are
successful today. (1)
Criteria's for success are timely delivery, in the
budget , covering all the features required by the
clients and finally a bug free solution.
Inspite of all the technology up gradation and all
big brains working on the project, why does it
fails? Is it that hard to accomplish? If yes, why?
THE PROBLEM IS IN COMMUNICATING.
WRITE GOOD DOCUMENTS
DESCRIBING THE REQUIREMENTS AND
HAND IT TO THE DEVELOPERS.
KEEP IN MIND 3 POINTS:
1. WHAT IS BEING COMMUNICATED?
2. WHO IS COMMUNICATING THE
3. TO WHOM ARE YOU
COMMUNICATING THE INFORMATION?
PRINCIPLES OF AGILE MANIFESTO
Timely completion and delivery of the product.
Welcome changes in requirement at any stage of
The team members need to communicate daily
and work together in a project.
All the developers should go for more and more
face to face conversation.
Self organizing teams
eXtreme Programming (XP)
Evolutionary Project Management (Evo)
Unified Process (UP)
Lean Development (LD)
Adaptive Software Development (ASD)
Dynamic System Development Method
Feature Driven Development (FDD)
Extreme Programming improves a software project
in five essential ways; communication, simplicity,
feedback, respect, and courage.
Extreme Programmers constantly communicate with
their customers and fellow programmers. They keep
their design simple and clean. They get feedback by
testing their software starting on day one. They
deliver the system to the customers as early as
possible and implement changes as suggested.
Every small success deepens their respect for the
unique contributions of each and every team
member. With this foundation Extreme Programmers
are able to courageously respond to changing
requirements and technology.
PRINCIPLES OF XP
• Pair Programming
• Collective Ownership
• Continuous Integration
• 40-hour per Week
• On-site Customer
A project management process delivering
evolutionary results ,„high-value-first‟ progress
towards the desired goals, and seeking to obtain,
and use, realistic, early feedback.
E1:Decompose by performance results and
E2: Do high-risk steps early, learn how „unknowns‟
E3: Focus on improving your most valuable
performance objectives first;
E4: Base your early evolution on existing frameworks
E5: Design to cost dynamically;
E6: Design to performance dynamically;
E7: Invest in an open-ended architecture early on;
E8: Motivate your team by rewarding results;
E9: Prioritize changes by value, not place in queue;
E10: Learn fast, change fast, adapt to reality fast.
UNIFIED PROCESS (UP)
The Unified Software Development Process
or Unified Process is a popular iterative and
incremental software development process
framework. The best-known and extensively
documented refinement of the Unified Process is
the Rational Unified Process (RUP).