You are on page 1of 33

Agile Models

Scrum, XP, DSDM, ASD, FDD, Crystal


Family

Algorithms Software Pvt. Ltd. 1


Roadmap

• Introduction to Agile
• Overview to Agile Methods
Introduction
Phases
Scope Of Use

Algorithms Software Pvt. Ltd. 2


Introduction to Agile

• Agile proponents believe


– Current software development processes are too heavyweight
• Too many things are done that are not directly related to software
product being produced
– Current software development is too rigid
• Difficulty with incomplete or changing requirements
– Short development cycles (Internet applications)
– More active customer involvement needed

Algorithms Software Pvt. Ltd. 3


Introduction to Agile (Contd)

• Agile methods are considered


– Lightweight
– People-based rather than Plan-based
• Several agile methods
– No single agile method
– XP most popular
• No single definition
• Agile Manifesto closest to a definition
– Set of principles
– Developed by Agile Alliance

Algorithms Software Pvt. Ltd. 4


Introduction to Agile

• Agility is the ability to create and respond to change in order


to profit in a turbulent business environment
• Agility is prioritizing for plan with respect to shifting
requirements, technology, and knowledge
• Agile methods use time-boxed iterations, adaptability, and
evolutionary delivery to promote rapid flexibility
• Agile methods promote quick response to changes in
requirements as well as collaboration with customers
• Agile methods are a better way of developing software using
teams, collaboration, iterations, and flexibility

Algorithms Software Pvt. Ltd. 5


Agile Manifesto
A Statement of Values
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
• http://www.agilemanifesto.org

Algorithms Software Pvt. Ltd. 6


Big 5 Agile Methods
• The term “Agile Methods” was coined in 2001

Algorithms Software Pvt. Ltd. 7


Agile Methods
• Scrum
• XP (Extreme Programming)
• DSDM (Dynamic Software Development Model)
• ASD (Adaptive Software Development)
• FDD (Feature Driven Development)
• Crystal Family (Crystal Clear, Crystal Yellow, Crystal
Orange)

Algorithms Software Pvt. Ltd. 8


Scrum in 100 words
• Scrum is an agile process that allows us to focus on
delivering the highest business value in the shortest time.
• It allows us to rapidly and repeatedly inspect actual working
software (every two weeks to one month).
• The business sets the priorities. Our teams self-manage to
determine the best way to deliver the highest priority
features.
• Every two weeks to a month anyone can see real working
software and decide to release it as is or continue to
enhance for another iteration.

Back
Algorithms Software Pvt. Ltd. 9
Back 10
Algorithms Software Pvt. Ltd.
Scrum Phases

• Scrum phases:
 Pregame, Game and Postgame.
• Pregame Phase:
 Planning and Architecture.
• Planning:
 If a new system is being developed then this phase is very broad and
consists of conceptualization and analysis.
 If the latter is the case and a system is improved then this phase is
narrowed to limited analysis.
• Steps Involved:
 Development of a Product-backlog & Sprint backlog
 Delivery date
 Risk control & assessment Back
Algorithms Software Pvt. Ltd. 11
Scrum Phases (Contd)

Architecture and High Level Design phase :


Steps Involved:
• Review of Sprint backlog items
• Identify the changes that are necessary to implement backlog items
• Perform domain analysis required to build
• Enhance or Update the domain models to reflect the new system context and
requirements
• Identify any possible problems in implementing or developing the changes
• Conduct a design review meeting in which every team has to present the
approach and changes required to implement each backlog item
• Changes are reassigned as required

Back
Algorithms Software Pvt. Ltd. 12
Scrum Phases (Contd)
Game Phase: (Sprint Development)
Steps Involved:
• Development of new release functionality and monitoring of variables, namely: time,
requirements, quality, cost and competition.
• The end of this phase is defined by interaction with these variables.
• Review-meetings conducted for presenting current work and progress , resolving
problems , adding new backlog items , risk review.

Postgame Phase: (Iteration closure)


Steps Involved:
• Integration
• Preparation for release
• Final documentation
• Pre- release stage testing and eventually release.

Back
Algorithms Software Pvt. Ltd. 13
Scope Of Use

Back
Algorithms Software Pvt. Ltd. 14
Extreme Programming
• Developed by Kent Beck
– XP is “a light-weight methodology for small to medium-sized teams developing software in
the face of vague or rapidly changing requirements.”

• Core Practices of XP:


• Planning Game: Plan work incrementally.
• Small Releases: Release as quickly as possible to increase time to market, and get
feedback as soon as possible.
• Metaphor: If possible, define a metaphor for the system being developed. For
example, the shopping cart metaphor is widely used to describe an online ordering
system.
• Simple Design: Use the simplest design that will work for the functionality (user
story) being implemented. Do not design for things that may never actually be used.
• Testing: Test everything, and try to automate the testing if possible.
• Refactoring: Instead of designing the entire system up front, design as you go,
making improvements as needed.
Back
Algorithms Software Pvt. Ltd. 15
Extreme Programming
• Pair Programming: Programming in teams of two (or three) allow for a discussion to
occur in real-time that addresses requirement, design, testing, and programming
concerns.
• Collective Code Ownership: Anyone on the team can make a change to any code at
any time.
• Continuous Integration: The entire code base is constantly being rebuilt, and retested
in an automated fashion.
• Sustainable Pace: Ideally, team members do not need to work more than 40 hours
per week to meet project deadlines. Burning the midnight oil is chunked by
management in favor of consistent, predictable, repeatable delivery.
• Whole Team: The team functions as a whole. Members are encouraged to be more
generalized than specialized. Learning about all technologies and requirements is
encouraged.
• Coding Standards: In order to maximize communication, coding standards are defined
by the team, and used to ensure consistent coding practices.
• Onsite Customer: Having constant and direct access to the customer allows the team
to work at the fastest possible speed. Back
Algorithms Software Pvt. Ltd. 16
Extreme Programming overview

Algorithms Software Pvt. Ltd. 17


One iteration of Extreme Programming

Algorithms Software Pvt. Ltd. 18


One Development Phase of XP

Algorithms Software Pvt. Ltd. 19


Scope Of Use
• Dynamically Changing Requirements
• Risky Projects
• Small Development Groups
• Non-Fixed Scope (Price) Contract

Back
Algorithms Software Pvt. Ltd. 20
DSDM

• Dynamic Systems Development Method (DSDM) :


• DSDM is an iterative and incremental approach that emphasizes
continuous user involvement.
• Its goal is to deliver software systems on time and on budget while
adjusting for changing requirements along the development process.

Three phases:
• Pre-project phase
• Project life-cycle phase
• Post-project phase.

Algorithms Software Pvt. Ltd. 21


DSDM Project Lifecycle Phase

Algorithms Software Pvt. Ltd. 22


Core Techniques in DSDM

• Timeboxing
• MOSCOW:
 Represents a way of prioritizing requirements
 It stands for the following:
• MUST have this requirement to meet the business needs.
• SHOULD have this requirement if at all possible, but the project success does not rely on
this.
• COULD have this requirement if it does not affect the fitness of business needs of the
project.
• WOULD have this requirement at later date if there is some time left (or in the future
development of the system).
• Prototyping
• Testing
• Workshop
• Modelling
• Configuration Management

Algorithms Software Pvt. Ltd. 23


Scope Of Use

Back
Algorithms Software Pvt. Ltd. 24
ASD

• Adaptive Software Development(ASD) was developed by Jim A.Highsmith.


• ASD focuses mainly on the problems in developing complex, large systems.
• The method strongly encourages incremental, iterative development with
constant prototyping.
• Three phases:
 Speculate
 Collaborate
 Learn

Algorithms Software Pvt. Ltd. 25


Adaptive Steps

• Project Initialization – Determine the intent of the project


• Determine the project Time box (estimation duration of the project)
• Determine the optimal number of cycles and the Time box for each
• Write an objective statement for each cycle
• Assign primary components to each cycle
• Develop a project task list
• Review the success of a cycle
• Plan the next cycle

Algorithms Software Pvt. Ltd. 26


Adaptive Lifecycle

Algorithms Software Pvt. Ltd. 27


Scope Of Use

Back
Algorithms Software Pvt. Ltd. 28
FDD

• FDD is a model-driven short-iteration process that consists of five basic


activities.
• FDD describes five basic activities that are within the software
development process.
• During the first three sequential activities an overall model shape is
established. The final two activities are iterated for each feature.
• Activities:
 Object Modelling
 Features List
 Development Planning
 Design by Feature
 Development by Feature

Algorithms Software Pvt. Ltd. 29


FDD

• FDD is a model-driven short-iteration process that consists of five basic


activities.
• FDD describes five basic activities that are within the software
development process.
• During the first three sequential activities an overall model shape is
established. The final two activities are iterated for each feature.
• Activities:
 Object Modelling
 Features List
 Development Planning
 Design by Feature
 Development by Feature

Algorithms Software Pvt. Ltd. 30


FDD Project Lifecycle

Algorithms Software Pvt. Ltd. 31


Best Practices in FDD

• Domain Object Modelling


• Developing by Feature
• Individual Class (Code) Ownership
• Feature Teams
• Inspections
• Configuration Management
• Regular Builds
• Visibility of Progress and Results

Algorithms Software Pvt. Ltd. 32


Scope Of Use

Back
Algorithms Software Pvt. Ltd. 33

You might also like