8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 1/33
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 2/33
� Introduction to Agile
� Overview to Agile Methods
Introduction
Phases
Scope Of Use
Roadmap
2Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 3/33
� 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
Introduction to Agile
3Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 4/33
� 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
Introduction to Agile (Contd)
4Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 5/33
� 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
Introduction to Agile
5Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 6/33
6Algorithms Software Pvt. Ltd.
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
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 7/33
7Algorithms Software Pvt. Ltd.
Big 5 Agile Methods� The term Agile Methods was coined in 2001
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 8/33
8Algorithms Software Pvt. Ltd.
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
Oran
ge)
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 9/33
9Algorithms Software Pvt. Ltd.
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 workingsoftware (every two weeks to one month).
� The business sets the priorities. Our teams self-manage todetermine the best way to deliver the highest priorityfeatures.
� Every two weeks to a month anyone can see real working
software and decide to release it as is or continue toenhance for another iteration.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 10/33
10BackAlgorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 11/33
� 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 andconsists of conceptualization and analysis.
If the latter is the case and a system is improved then this phase isnarrowed to limited analysis.
� Steps Involved:
Development of a Product-backlog & Sprint backlog
Delivery date
Risk control & assessment
Scrum Phases
11Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 12/33
Architecture and High Level Design phase :
Steps Involved:
� Review of Sprint backlog items
� I
den
tify the chan
ges that aren
ecessary to implemen
t backlog items� Perform domain analysis required to build
� Enhance or Update the domain models to reflect the new system contextand requirements
� Identify any possible problems in implementing or developing the changes
� Conduct a design review meeting in which every team has to present theapproach and changes required to implement each backlog item
� Changes are reassigned as required
Scrum Phases (Contd)
12Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 13/33
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.
Scrum Phases (Contd)
13Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 14/33
Scope Of Use
14Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 15/33
� 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: Pla
nwork i
ncreme
ntally.
� 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 neveractually be used.
� Testing: Test everything, and try to automate the testing if possible.
� Refactoring: Instead of designing the entire system up front, design as yougo, making improvements as needed.
Extreme Programming
15Algorithms Software Pvt. Ltd.Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 16/33
� Pair Programming: Programming in teams of two (or three) allow for a discussion to occur in real-time that addresses requirement, design, testing, andprogramming concerns.
� Collective Code Ownership: Anyone on the team can make a change to any codeat any time.
� Continuous Integration: The entire code base is constantly being rebuilt, andretested in an automated fashion.
� Sustainable Pace: Ideally, team members do not need to work more than 40 hoursper week to meet project deadlines. Burning the midnight oil is chunked bymanagement 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 andrequirements is encouraged.
� Coding Standards: In order to maximize communication, coding standards aredefined by the team, and used to ensure consistent coding practices.
� Onsite Customer: Having constant and direct access to the customer allows theteam to work at the fastest possible speed.
Extreme Programming
16Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 17/33
Extreme Programmin
g overview
17Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 18/33
One iteration of Extreme Programming
18Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 19/33
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 20/33
� Dynamically Changing Requirements
� Risky Projects
� Small Development Groups
� Non-Fixed Scope (Price) Contract
Scope Of Use
20Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 21/33
� Dynamic Systems Development Method (DSDM) :
� DSDM is an iterative and incremental approach that emphasizescontinuous user involvement.
�
Its goal is to deliver software systems on time and on budget whileadjusting for changing requirements along the developmentprocess.
Three phases:
� Pre-project phase
� Project life-cycle phase
� Post-project phase.
DSDM
21Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 22/33
DSDM Project Lifecycle Phase
22Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 23/33
� 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 doesnot rely on this.
� COULD have this requirement if it does not affect the fitness of business needsof the project.
� WOULD have this requirement at later date if there is some time left (or in thefuture development of the system).
� Prototyping� Testing
� Workshop
� Modelling
� Configuration Management
Core Techniques in DSDM
23Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 24/33
Scope Of Use
24Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 25/33
� 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
ASD
25Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 26/33
� 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
Adaptive Steps
26Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 27/33
Adaptive Lifecycle
27Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 28/33
Scope Of Use
28Algorithms Software Pvt. Ltd.
Back
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 29/33
� 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 isestablished. The final two activities are iterated for each feature.
� Activities:
Object Modelling
Features List
Development Planning Design by Feature
Development by Feature
FDD
29Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 30/33
� 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 isestablished. The final two activities are iterated for each feature.
� Activities:
Object Modelling
Features List
Development Planning Design by Feature
Development by Feature
FDD
30Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 31/33
FDD Project Lifecycle
31Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 32/33
� Domain Object Modelling
� Developing by Feature
� Individual Class (Code) Ownership
� Feature Teams
� Inspections
� Configuration Management
� Regular Builds
� Visibility of Progress and Results
Best Practices in
FDD
32Algorithms Software Pvt. Ltd.
8/7/2019 Agile Models
http://slidepdf.com/reader/full/agile-models 33/33
Scope Of Use
33Algorithms Software Pvt. Ltd.
Back