Agile Methodology in Software development
-
Upload
sapna-sood -
Category
Documents
-
view
62 -
download
0
description
Transcript of Agile Methodology in Software development
ABSTRACT
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 motion.
Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.
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)
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
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
INFORMATION?
3. TO WHOM ARE YOU
COMMUNICATING THE INFORMATION?
PRINCIPLES OF AGILE MANIFESTO
Customer satisfaction
Timely completion and delivery of the product.
Welcome changes in requirement at any stage of
development.
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.
Simplicity
Self organizing teams
METHODOLOGIES
eXtreme Programming (XP)
Scrum
Evolutionary Project Management (Evo)
Unified Process (UP)
Crystal
Lean Development (LD)
Adaptive Software Development (ASD)
Dynamic System Development Method
(DSDM)
Feature Driven Development (FDD)
EXTREME PROGRAMMING (XP)
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.
PRINCIPLES OF XP
•Refactoring
• Pair Programming
• Collective Ownership
• Continuous Integration
• 40-hour per Week
• On-site Customer
•Coding Standards
SCRUM
STEPS TO A SUCCESSFUL SCRUM
Sprint planning meeting.
Creating a sprint backlog.
Daily Scrum meeting.
Sprint review
Sprint retrospective
SCRUM LIFE CYCLE
Planning
Staging
Development
Release
EVOLUTIONARY PROJECT MANAGEMENT
(EVO)
EVOLUTIONARY PROJECT
MANAGEMENT
A project management process delivering
evolutionary results ,„high-value-first‟ progress
towards the desired goals, and seeking to obtain,
and use, realistic, early feedback.
PRINCIPLES
E1:Decompose by performance results and stakeholders;
E2: Do high-risk steps early, learn how „unknowns‟ really perform;
E3: Focus on improving your most valuable performance objectives first;
E4: Base your early evolution on existing frameworks and stakeholders;
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)
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).
CRYSTAL
LEAN DEVELOPMENT (LD)
ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
DYNAMIC SYSTEM DEVELOPMENT METHOD
(DSDM)
FEATURE DRIVEN DEVELOPMENT (FDD)
LOOK INTO THE REQUIREMENTS OF YOUR
CLIENT AND GO WITH AN APPROACH THAT
SUITS THEIR REQUIREMENT. AFTER ALL, IT
IS ALL ABOUT BUILDING RELATIONSHIPS.