practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to...
TRANSCRIPT
![Page 1: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/1.jpg)
agile software development
mark duvall @ USC, november 2011
![Page 2: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/2.jpg)
• practicing agile development since 2002• csm x 4, cspo x 2• contracted ken schwaber• taught agile to 100s• agile alliance, acm, ieee• mike cohn disciple • delivered dozens of projects w/agile• been through 100s of sprints
agile bio
![Page 3: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/3.jpg)
references mike cohn, http://www.mountaingoatsoftware.com/ agile alliance, http://www.agilealliance.org/ scrum alliance, http://scrumalliance.org/ crisp blog, http://blog.crisp.se/
![Page 4: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/4.jpg)
a great time to be in software development agile development is a well established practice agile adoption is high many companies practicing agile development many companies are in agile transition
![Page 5: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/5.jpg)
• software anthropology• empowers the team• leverages collaboration• focus on organizing your work• continuously improve• adoption of best practices• creating a cadence
preface
![Page 6: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/6.jpg)
software development• notoriously difficult to deliver
• on-time • on-budget
• quest for determinism • estimation models• formalized processes • organizations to manage process• documentation driven
![Page 7: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/7.jpg)
differences
command & control
document driven
serial in nature
big upfront design
test late
bureaucratic
Heavy, rigid process
team & roles
self managing team
high bandwidth communication
iterative
evolutionary/iterative design
test early
collaboration
Lightweight, tailorable process
team & roles
non-agile development agile development
![Page 8: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/8.jpg)
waterfallsystem
requirements
detailedrequirements
functionalspecification
high level design
detailed design
code
test
delivery
system requirements specification
software requirements specificationmarketing requirements document
functional specification
high level design document
detailed design document
code complete milestone
qa acceptance document
product launch
![Page 9: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/9.jpg)
scrum
design + code + testplandefine review
iterate
user stories functional software
![Page 10: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/10.jpg)
agile manifesto 2001
individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation responding to change over following a plan
![Page 11: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/11.jpg)
agile tenants build software incrementally deliver value quickly commitment driven self organizing and managing teams continuous improvement high bandwidth communications evolutionary design customer intimacy success is functioning software maintain a sustainable pace
![Page 12: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/12.jpg)
scrum oopsla 1995, schwaber & southerland lightweight process framework ability to incorporate best practices inspection and adaptation - error correction iterate and refactor time-boxes collocated teams quality never sacrificed for dates shippable product quality at each sprint definition of “done”
![Page 13: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/13.jpg)
done code complete all code checked into source code control (TFS) all tests checked into source code control passes coding standards (stylecop) passes peer code review (team review) passes static code analysis (ndepend) builds on build server (tfs) builds with no warnings in pre-build area (shelf set) all unit test & test automation executes in dev/qa/pre-prod environments all unit test pass unit test code coverage is 65% no priority 1 defects no profiling issues (dotTrace) documented accepted by product owner
![Page 14: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/14.jpg)
scrum team pigs (no chickens) team size 7-12 pigs cross functional
sm, po, dev, qa, ia, design self managing collocated
![Page 15: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/15.jpg)
roles product owner
classically the product managermaximizes roi of each sprintmanages the product backlog
scrum masterdevelopment manager or project managerenforces process, insures process adherence impediment removalfacilitates communications
scrum teamcross functional team that builds the productmaintains sprint backlog
![Page 16: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/16.jpg)
user stories a feature description as a <role>, i want <goal> so that <reason> invest
independentnegotiablevaluable to usersestimate-ablesmalltestable
![Page 17: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/17.jpg)
product backlog the new age requirement specification/mrd/prd live repository of all project work
user stories defects
managed by product owner contributed to by anyone prioritized estimated
by scrum team story points
subset moved to sprint backlog; every sprint
![Page 18: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/18.jpg)
scrum basic mechanics
Product Owner Defining user stories Refines user stories Release planning
User Story Estimation Scrum team together estimates each user story (points)
Task Breakdown Scrum team together creates tasks (hrs) for each user story
Sprint Planning Sprint ReviewDaily Scrum Daily Scrum
Daily Scrum Daily meeting Standup Same time, same place 15min time-box All Scrum team members Task movement
Answer 3 questions Accomplished in last 24hrs Working on next 24hrs Impediments
Review Burndown
…
Demo PO demos each completed user story for acceptance
Retrospective Scrum team does a post mortem on the sprint
Product Backlog
Sprint Backlog
2 Time-boxed meetings User Story Estimation Task Breakdown
2 Time-boxed meetings Demo Retrospective
New age MRD/PRD Live repository
![Page 19: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/19.jpg)
flow
![Page 20: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/20.jpg)
sprint planning
first day of the sprintproduct backlog - n hour time-boxed
○ backlog walkthrough
○ estimate and prioritize storiessprint backlog - n hour time-boxed
○ list tasks for implementing stories
○ assign hours and resources
![Page 21: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/21.jpg)
estimation
story pointsrelativistic educated guessimate of effortnot directly correlated to time non-linear numbers like fibonacci sequencet-shirt sizing (xs,x,m,l,xl)use for sprint planning (capacity)
epicstory too large to fit in a sprintbroken down into smaller stories
![Page 22: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/22.jpg)
estimation process product backlog estimation
discuss of each story planning poker - team until backlog empty or time-box expires prioritize – by po
assign stories to sprint backlog based on team’s velocity assume initial velocity as 65%
assign tasks to sprint stories <8 hour tasks *assign owners
adjustments move stories back if velocity is exceeded
![Page 23: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/23.jpg)
planning poker• iterative approach• adapted from delphi• entire scrum team participates• everyone has a deck of story point cards
• user story discussion • everyone selects a card privately• cards are revealed• discuss outliers • re-estimate till convergence or timebox
• http://www.planningpoker.com
![Page 24: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/24.jpg)
sprint backlog repository of work for each sprint
user stories○ broken down into tasks○ task granularity 8-16hrs
managed by scrum team updated daily, in real-time
![Page 25: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/25.jpg)
composition
![Page 26: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/26.jpg)
electronic task board
![Page 27: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/27.jpg)
physical task board
![Page 28: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/28.jpg)
daily scrum daily meeting same place, same time time-boxed 15 minutes standup $1 for being late no one can interrupt the current speaker keep details post daily scrum 3 questions
what did you accomplish in the last 24 hrs? what are you going to work on in the next 24hrs? any impediments?
review burndowns post scrum
![Page 29: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/29.jpg)
daily scrum
![Page 30: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/30.jpg)
burndown chart
![Page 31: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/31.jpg)
sprint review
last day of the sprint demo - n hour time-boxed
○ demonstrate sprint accomplishments○ story acceptance walk through○ log defects for next sprint
retrospective - n hour time-boxed
○ what went right?○ what went wrong?○ what can we do to improve?
![Page 32: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/32.jpg)
best practices • relativistic estimation• evolutionary design• vertical slices• continuous integration• test early, test often• high flow • eliminate waste • fail quickly • shorter sprints• test driven development• pair programming• peer code review• information radiators
![Page 33: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/33.jpg)
scrum anti-patterns
“manager” estimates work developers not doing their own task breakdowns untrackable sprints no customer value in sprint partially complete sprints story or task creep in sprint backlog no definition of “done” working on tasks not in the sprint backlog qa under utilized testable software completed late in the sprint lack of peer accountability or commitment impediments not immediately addressed floating timeboxes
![Page 34: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/34.jpg)
continuous integration
build automation systembuilds are triggered by source code check-insunit tests are executed as part of each buildtests are executed in the context of a profilerstatic code analysiseach build is versionedeach build is deployedtest automation scripts execute
![Page 35: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/35.jpg)
real world agile web development
site development team composition6 developers2 qa engineers1 ia1 designer1 scrum master1 product owner
![Page 36: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/36.jpg)
site development
• established cadence• 1 week sprints
• cascading deliverables• 5 weeks of ia & design• 6 weeks of development• ~390 us, ~4000 tasks• velocity: 69-79%
wireframing & user stories
graphic design/site layout
development
![Page 37: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/37.jpg)
development environment rally for agile lifecycle management
product backlogsprint backlogproject boardsburndowns & metrics
microsoft shopc#, .net framework 4.0asp.net mvc 3.0castle windsor diendeca search enginecruisecontrol .netsubversionndependsnunit, selenium
![Page 38: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/38.jpg)
page template inventory
n page typeshome departmentbrand browsesearch resultsbest sellingspecial, gift, promotioncollectionskucart / accounthelp and other static content
![Page 39: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/39.jpg)
page decomposition
page elementsheaderfooterleft navigationright spinebody
![Page 40: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/40.jpg)
page element decomposition
header (user controls)main imageprimary navigationsecondary navigationsearchminicartaccount/sign inbreadcrumbs
![Page 41: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/41.jpg)
sashimi slices
vertical sliverpresentation tier
○ mvc user controlsbusiness logic/application tier
○ injected via dirules for content acquisition/filtering/sortingpage rules
- seo, microformats, analytics, remarketing data tier
○ content retrieval
![Page 42: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/42.jpg)
release planning
4hr timebox release 1
minimal deliverable feature set release 2
defectsinternational shippingreporting
release 3site enhancements
![Page 43: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/43.jpg)
sprint planning
2hr timebox consume 2-4 page types per sprint address higher risk stories first critical tasks addressed first
![Page 44: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/44.jpg)
sprint review
2hr timebox capture defects add to product backlog retrospective iterate until product backlog is empty
![Page 45: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/45.jpg)
what’s next
it’s all about flowkanban
○ managing wip○ value streams
![Page 46: practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered](https://reader035.vdocuments.site/reader035/viewer/2022062511/5516a125550346a25b8b54c4/html5/thumbnails/46.jpg)
questions