AGILE METHODOLOGY
SDLC
SDLC abbreviation stands for software
development life cycle
SDLC is a structured methodology used in the
development of software products and
packages. This methodology is used from the
conception phase through to the delivery and
end of project delivering software product.
SLDC methodology:
SDLC definition
Waterfall SDLC
V-Shape SDLC
Spiral SDLC
RUP SDLC
Agile methods
Extreme Programming - XP
For small-to-medium-sized teams developing software
with vague or rapidly changing requirements
Coding is the key activity throughout
a software project
simple design
CRC cards
spike solutions
prototypes
refactoring
pair
programming
Release
software increment
project velocity computed
unit test
continuous integration
acceptance testing
XP Planning
Begins with the creation of user
stories
Agile team assesses each story
and assigns a cost
Stories are grouped to for a
deliverable increment
A commitment
delivery date
is
made
on
XP Design
Follows the KIS (keep it simple)
principle
Design provides implementation
guidance for a story
Encourage the use of CRC (classresponsibility collaborator) cards
For difficult design problems,
suggests the creation of spike
solutionsa design prototype
CRC Cards
Class:
Class:
Description:
Class:
Description:
Class:FloorPlan
Description:
Responsibility:
Description:
Responsibility:
Responsibility:
Responsibility:
Collaborator:
Collaborator:
Collaborator:
Collaborator:
Wall
Camera
XP Coding
Recommends the construction of
a unit test for a store before
coding commences
Encourages pair programming
Integration of work (done by
pair programmer) on daily basis
Yielding
smoke testing
uncover errors early
helps
to
Pair Programming
Pair programming is a dialogue between two people
trying to simultaneously programming (analyze and
design and test) and understand together how to
program better.
It is a conversation at many levels, assisted by and
focused on a computer -- Kent Beck
XP Testing
All unit tests are executed daily
Encourages a regression testing
strategy when ever code is
modified
Acceptance tests are defined
by the customer and executed to
assess
customer
visible
functionality
2.
3.
4.
5.
1.Develop
an
Overall
Model
2.Build a
3.Plan
4.Design
5.Build
Feature
By
By
By
List
Feature
Feature
Feature
Tasks
Verification
By users & Domain Experts
Exit criteria
Class diagram
Entry Criteria
Completed Building a Features List
Tasks
To achieve development sequence
Verification
A self-assessment
Exit criteria
Business activities with Completion dates..
Source: Palmer, SR., Felsing , JM.2002,p.146
Entry Criteria
Planning process has completed.
Tasks
CP, Work Package, Feature Team, Sequence
diagram, Update the Object Model. (Next slide)
Verification
Design inspection is made.
Exit criteria
Continued (6/8)
Tasks
Class owners implement the classes.
Verification
Successful Code Inspection & Unit Testing
Exit criteria
AUP (
Model
Implementation
Test
Deployment
Configuration Management
Project Management
Environment
Phases
Disciplines
Philosophies
Releases
Disciplines
Model
Implementation
Test
Ensure quality
Disciplines
Deployment
Configuration Management
Project management
Disciplines
Environment
Releases
SCRUM
Product Owner
Scrum Team
Self-organizing
Business and technical skills to build an increment of functionality
Responsible for estimating and committing to work
Full autonomy and authority during a Sprint
ScrumMaster
Sprints
Scrum projects make progress in a series of sprints
Analogous to XP iterations
Change
Inputs
Sprint
Tested Code
Plan sprint durations around how long you can commit to keeping change
out of the sprint
Scrum Framework
Roles : Product Owner, ScrumMaster, Team
Ceremonies : Sprint Planning, Sprint Review, Sprint
Retrospective, & Daily Scrum Meeting
Artifacts : Product Backlog, Sprint Backlog, and
Burndown Chart
Product Owner
Define the features of the product
Decide on release date and content
Be responsible for the profitability of the product (ROI)
Prioritize features according to market value
Adjust features and priority every iteration, as needed
Accept or reject work results.
Scrum Team
Typically 5-10 people
Cross-functional
QA, Programmers, UI Designers, etc.
Ceremonies
Sprint Planning Meeting
Sprint
Daily Scrum
Sprint Review Meeting
en
t
em
er
s
M
an
ag
to
m
Cu
s
Te
am
Sc
ru
m
Pr
od
uc
tO
wn
er
Product Backlog
Team Capabilities
Business Conditions
Technology
Current Product
Sprint Planning
Meeting
Sprint Goal
Sprint Backlog
2nd Part:
Pre-Project/Kickoff Meeting
A special form of Sprint Planning Meeting
Meeting before the begin of the Project
Sprint
A month-long iteration, during which is incremented a
product functionality
NO outside influence can interfere with the Scrum team
during the Sprint
Each Sprint begins with the Daily Scrum Meeting
Daily Scrum
Parameters
Daily
15-minutes
Stand-up
Not for problem solving
Three questions:
1. What did you do yesterday
2. What will you do today?
3. What obstacles are in your way?
Daily Scrum
Is NOT a problem solving session
Is NOT a way to collect information about WHO is behind
the schedule
Is a meeting in which team members make commitments
to each other and to the Scrum Master
Is a good way for a Scrum Master to track the progress of
the Team
Scrum FAQs
Why daily?
How does a project get to be a year
late?
One day at a time.
Fred Brooks, The Mythical ManMonth.
Participants
Customers
Management
Product Owner
Other engineers
Start
Stop
Continue
Product Backlog
A list of all desired work on the project
Usually a combination of
story-based work (let user search and replace)
task-based work (improve exception handling)
Product Backlog
Requirements for a system, expressed as a prioritized list
of Backlog Items
Is managed and owned by a Product Owner
Spreadsheet (typically)
Usually is created during the Sprint Planning Meeting
Can be changed and re-prioritized before each PM