KEMBAR78
Agile Software Development - Scrum - Intro.ppt
1
Agile Software Development
2
What is Agile Development?
 Umbrella term for several iterative
and incremental software
development methodologies
 Iteration & Continuous feedback
 Continuous Planning
 Continuous Testing
 Continuous Integration
 Lightweight & Inherently Adaptable
3
Agile Methodologies
 Scrum
 Extreme Programming (XP)
 Crystal
 Dynamic Systems development Method
(DSDM)
 Feature-Driven Development(FDD)
4
Agile Manifesto -values
The Agile 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
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
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
7
Agile SDLC
 Construction Life cycle
 System Development Life-cycle
8
Construction Life cycle
9
Agile SDLC - Detailed
10
Agile Hallmarks
1) Releases and
Fixed-Length
Iterations
 working,
tested,
accepted
software
and
associated
work
items.
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
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
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
Scrum – In a 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
XP – In a 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
Crystal – In Clear!
 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
DSDM – A quick 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
FDD – In a 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
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
20
 Q&A
21
References
 http://www.ambysoft.com/essays/agileLifecycle.html
 http://www.versionone.com/Resources/AgileDevelopment.asp
 http://www.methodsandtools.com/archive/archive.php?id=61
 Book - Agile Project Management – Ken Schwaber
 Book – Agile Software Development – Alistair Cockburn
 http://www.methodsandtools.com/archive/archive.php?id=18

Agile Software Development - Scrum - Intro.ppt

  • 1.
  • 2.
    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
  • 7.
    7 Agile SDLC  ConstructionLife cycle  System Development Life-cycle
  • 8.
  • 9.
  • 10.
    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
  • 20.
  • 21.
    21 References  http://www.ambysoft.com/essays/agileLifecycle.html  http://www.versionone.com/Resources/AgileDevelopment.asp http://www.methodsandtools.com/archive/archive.php?id=61  Book - Agile Project Management – Ken Schwaber  Book – Agile Software Development – Alistair Cockburn  http://www.methodsandtools.com/archive/archive.php?id=18

Editor's Notes

  • #15 Metaphor - Choose a system metaphor to keep the team on the same page by naming classes and methods consistently