agile in practice - george mason universitydfleck/classes/cs421/spring09... · •each developer...
TRANSCRIPT
![Page 1: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/1.jpg)
Agile In PracticeBenjamin Booth
Spring 2009
![Page 2: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/2.jpg)
Proprietary 2
Programmer/5
![Page 3: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/3.jpg)
Proprietary 3
Author/Blogger
![Page 4: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/4.jpg)
Agile Origins
• Goal: prove value with working software
• Lightweight approach
• Reaction to Waterfall failures
4
![Page 5: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/5.jpg)
Prescriptive-style
• Restrict change to improve predictions
• Drive with the plan
• Communicate with documents
• Interchangeable programmers
5
![Page 6: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/6.jpg)
Proprietary 6
Waterfall
![Page 7: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/7.jpg)
Proprietary 6
Waterfall
![Page 8: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/8.jpg)
Waterfall Is
![Page 9: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/9.jpg)
Waterfall Not all
8
• Space shuttle flight control system
• Requirements are well defined
• Unlimited resources
• Useful for < 5% of all software projects
![Page 10: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/10.jpg)
Typical Planning
![Page 11: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/11.jpg)
Your • Add a ‘nice looking’ menu page to an existing
restaurant’s seven year old website.
• Need ability to edit the menu online. Current menus are stored in a MS Word document.
• Add ‘Suggestion’ capability to restaurant’s site. Users can use a form to submit suggestions which get stored and also emailed to the owner.
10
![Page 12: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/12.jpg)
Time? $$$?“Just give me
![Page 13: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/13.jpg)
Agile
• People (users) are the focus
• Measure success with working software
• Expect and embrace change
• Use small, skilled, motivated teams
12
![Page 14: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/14.jpg)
Agile - SCRUM
• Japanese origin
• Whole team
• 1995 OOPSLA, by Jeff Sutherland and Ken Schwaber
• Skeleton of practices and roles
13
![Page 15: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/15.jpg)
Proprietary 14
SCRUM Workflow
![Page 16: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/16.jpg)
SCRUM Roles
15
• Product Owner
• Team
• Scrum Master
![Page 17: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/17.jpg)
SCRUM Artifacts
• Backlog
• Sprint Burn Down
• Sprint Backlog
• Past Backlogs
16
![Page 18: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/18.jpg)
Proprietary 17
Backlog
![Page 19: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/19.jpg)
Backlog
18
• User + Points + Value = Priority
• Anyone on team can update it
• Points != Hours
![Page 20: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/20.jpg)
Proprietary 19
Sprint Backlog
![Page 21: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/21.jpg)
Sprint Backlog
20
• Story Points vs. Task Points
• Total Point Value <= Team Capacity
• Capacity Measured by Past Burndowns
• 1st Iteration is Guesswork
![Page 22: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/22.jpg)
Proprietary 21
Burndown Chart
![Page 23: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/23.jpg)
Burndown Tips
22
• Auto-calculate velocity & project finish
• Record added/dropped points
• Mark Code Yellow/Red days
• Code Yellow: No more new features
• Code Red: (QA Week) no more changes
![Page 24: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/24.jpg)
Past Iterations
• Keep old Sprint Backlogs & Burndowns
• Keep old tasks
• Use for velocity calculations
• Helps identify trends
23
![Page 25: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/25.jpg)
Planning the SCRUM way
![Page 26: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/26.jpg)
• Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..)
• A user story is presented
• Each developer picks the card representing the number of story points the user story should take
• Everyone then shows their cards
• Discussion happens until agreement on a numberigate to the menu from the home page so that I can make a phone order (delivery)
• Repeat for each user story
• Schedule a sprint with the required number of story points based on your team’s velocity
25
Planning Poker
![Page 27: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/27.jpg)
• easily navigate to the menu from the home page so that I can make a phone order (delivery)
• be able to make suggestions for improvements to my overall dining experience
26
As a patron, I
![Page 28: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/28.jpg)
As the restaurant • create, update and delete menu items so that it
stays interesting and keeps people coming back
• generate a PDF of the menu so that I can give it to the printer for creating ‘real’ menus
• get customer feedback emailed to me so I can quickly respond to problems and also pass on compliments to the staff
27
![Page 29: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/29.jpg)
SCRUM
• You’re velocity is 1.5 points per developer day
• You’re team will have 15 developer days available each month
28
![Page 30: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/30.jpg)
Proprietary 29
Scrum Taskboard
![Page 31: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/31.jpg)
SCRUM
30
• Informal
• Physical
• Highly visible
• Ensures open accountability & communication
![Page 32: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/32.jpg)
Agile Challenges
• Access to real customers
• Large, distributed teams
• Industry misperceptions
• Command-and-control culture
31
![Page 33: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/33.jpg)
In-Practice Tips
• Introduce internally
• Strategy and architecture a must
• Strategy drives estimates
32
![Page 34: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/34.jpg)
In-Practice Tips
• Plan out-of-sprint breaks
• Allocate QA time
• Keep PM simple but do it
• Keep improving your process
33
![Page 35: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/35.jpg)
Summary
• Waterfall or nothing still predominant
• Agile is highly adaptive, people centric
• SCRUM is an effective Agile process skeleton
• If your process isn’t working adapt it
34
![Page 36: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/36.jpg)
Q&A
![Page 37: Agile In Practice - George Mason Universitydfleck/classes/cs421/spring09... · •Each developer has a set of cards with Fibonacci series numbers (2,3,5,8,13,etc..) • A user story](https://reader035.vdocument.in/reader035/viewer/2022070821/5f21a1fe5ae0960dd84a0b8f/html5/thumbnails/37.jpg)
36
• http://en.wikipedia.org/wiki/Agile_software_development
• http://www.waterfall2006.com/
• http://www.agileManifesto.org/
• http://www.codinghorror.com/blog/archives/000588.html
• http://www.drdobbsonline.net/architect/207100381
• http://en.wikipedia.org/wiki/Scrum_%28management%29
• http://spectrum.ieee.org/sep05/1685/failt1
References