1. 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!!
3. 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.
4. 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)
 DSDM (DSDM-consortium)
 Adaptive Software Development (Jim High smith)
 Crystal (Alistair Cockburn)
 Feature Driven Development
 Pragmatic Programming
 Snowbird ski resort in Utah mountains
 17 ‟methodology‟ people
 “Agile” in stead of “light”
 “The Agile Alliance”
 Not anti-methodology
5. 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?
6. 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?
7. PRINCIPLES OF AGILE MANIFESTO
 Customer satisfaction
 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)
9. EXTREME PROGRAMMING (XP)
10. EXTREME PROGRAMMING
 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.
11. PRINCIPLES OF XP
• Pair Programming
• Collective Ownership
• Continuous Integration
• 40-hour per Week
• On-site Customer
13. STEPS TO A SUCCESSFUL SCRUM
 Sprint planning meeting.
 Creating a sprint backlog.
 Daily Scrum meeting.
 Sprint review
 Sprint retrospective
14. SCRUM LIFE CYCLE
15. EVOLUTIONARY PROJECT MANAGEMENT
16. EVOLUTIONARY PROJECT
 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.
18. UNIFIED PROCESS (UP)
19. 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).
21. LEAN DEVELOPMENT (LD)
22. ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
23. DYNAMIC SYSTEM DEVELOPMENT METHOD
24. FEATURE DRIVEN DEVELOPMENT (FDD)
25. LOOK INTO THE REQUIREMENTS OF YOUR
CLIENT AND GO WITH AN APPROACH THAT
SUITS THEIR REQUIREMENT. AFTER ALL, IT
IS ALL ABOUT BUILDING RELATIONSHIPS.