2
What is AgileDevelopment?
Umbrella term for several iterative
and incremental software
development methodologies
Iteration & Continuous feedback
Continuous Planning
Continuous Testing
Continuous Integration
Lightweight & Inherently Adaptable
3.
3
Agile Methodologies
Scrum
Extreme Programming (XP)
Crystal
Dynamic Systems development Method
(DSDM)
Feature-Driven Development(FDD)
4.
4
Agile Manifesto -values
TheAgile Alliance expresses a set of core values via the
"Manifesto for Agile Software Development"
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.
5.
5
Agile Manifesto –Principles - 1
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage
3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter time scale
4. Business people and developers must work together daily
throughout the project.
5. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the job
done
6. The most efficient and effective method of conveying information to
and within a development team is face-to-face conversation
6.
6
Agile Manifesto –Principles - 2
7. Working software is the primary measure of progress
8. Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace
indefinitely.
9. Continuous attention to technical excellence and good design
enhances agility
10. Simplicity – the art of maximizing the amount of work not done – is
essential
11. The best architectures, requirements, and designs emerge from
self-organizing teams
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly
10
Agile Hallmarks
1) Releasesand
Fixed-Length
Iterations
working,
tested,
accepted
software
and
associated
work
items.
11.
11
Agile Hallmarks (contd)
2)Running, Tested Software (Velocity)
This is the primary measure of progress.
3) Value Driven Development
Business Values – running tested features that are delivered
4) Continuous (Adaptive) Planning
• At project launch – high level release plan of features
• At iteration start
• Selects set of features to implement
• Identifies and estimates each technical task for each feature
• Allows priorities and exact scope to evolve
5) Multi-level Planning
• Release level, Iteration level
• Just-In-Time approach
12.
12
Agile Hallmarks (contd)
6)Relative Estimation
Estimation categories like (1-5 days) / 1,2 or 3 story points,
If feature exceeds an agreed maximum estimate, they are broken
down
Normalise the “granularity” of the features
7) Emergent Feature Discovery
• Prioritize and estimate features at the start
• Refine details when needed (in iteration)
8) Keeping the code agile
• Test-First Programming (TDD), Refactoring, Continuous Integration
• Simple Design, Pair Programming, Common Codebase, Coding standards
• Open Work Area
13.
13
Agile Hallmarks (contd)
9)Continuous Testing
• Write tests as the code is written
• Automated Test Scripts
10) Continuous Improvement
• Retrospective – what has been done – adjust estimates and plan
accordingly
• Find ways to adapt the process to deliver a bit more value
11) Small Cross-functional Teams
• Smaller teams (5-10) more productive than larger ones
• Generalists than specialists
• Move away from designated roles to integrated teams
14.
14
Scrum – Ina Sprint!
Lightweight Management Framework (Ken Schwaber)
Product Owner – Product Backlog
PB – features, bugs, Non-func Req
Sprint (iteration) – 30 days
Sprint Backlog
Scrum Master, Team Member
Burndown Chart
No technical
practices
Microsoft Excel
Worksheet
15.
15
XP – Ina nutshell
XP – Disciplined approach – Kent Beck
Planning Game, Small Releases (1-3 weeks), Customer Acc.
Tests
Simple Design
Pair Programming
TDD
Refactoring
Continuous Integration
Collective Code Ownership
Coding Standards
Metaphor
Sustainable Pace
16.
16
Crystal – InClear!
Lightweight, adaptable approaches – Alistair Cockburn
Family of methodologies
Crystal Clear, Crystal Yellow, Crystal Orange etc
Driven by Team size, System Criticality, Priorities
Key tenets – Teamwork, Communication, Simplicity
Early, frequent delivery
High User Involvement
17.
17
DSDM – Aquick purview!
Heavier Agile approach – extension of RAD – 1990’s
Requirements are planned and delivered in
Short, fixed-length time-boxes
Requirements prioritized using
MoSCoW Rules
Must, Should, Could, Would like
18.
18
FDD – Ina nutshell!
The center of FDD is the domain model
Creating a model of the domain is the foundational step
A series of two-week "design by feature, build by
feature" iterations.
The basic unit of work in FDD is
a feature
9 roles
Tracked on 6 milestones
Feature-Set Progress Report
19.
19
Are you agile…..?
You might not be agile if.....
1. The 'Send/Receive' and 'Save As' buttons initiate most team
communication
2. Your white boards are mostly white
3. "Test-driven" still refers to your car
4. You don't yet know what PHB stands for (hint)
5. You know what CPM stands for, and continue to rely upon it
6. You spend more time trying to manage project dependencies than
remove them
7. Someone still believes the Can't Chart (oops, that's Gantt Chart)
8. Developers only develop, testers only test, and managers just
manage
9. Simplicity is presumed to be simple, and
10. A Change Control Board meets...ever