agile in practice benjamin booth spring 2010. 2 proprietary 2 5 programmer/architect
TRANSCRIPT
![Page 1: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/1.jpg)
Agile In PracticeBenjamin Booth
Spring 2010
![Page 2: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/2.jpg)
2ProprietaryProprietary 25
Programmer/Architect
![Page 3: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/3.jpg)
3ProprietaryProprietary 3
Author/Bloggerbenjaminbooth.com
![Page 4: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/4.jpg)
4
Prescriptive-style History
•Restrict change to improve predictions
•Drive with the plan
•Communicate with documents
4
![Page 5: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/5.jpg)
Waterfall Is Expensive!
![Page 6: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/6.jpg)
6
Waterfall Not all Bad
6
•Space shuttle flight control system
•Requirements are well defined
•Unlimited resources
•Useful for < 5% of all software projects
![Page 7: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/7.jpg)
7
Typical Requirements
•The site shall have a ‘nice looking’ menu page for an existing restaurant’s seven year old website. (Nice looking is defined by the customer.)
•The system shall have the ability to edit the menu online. Current menus are stored in a MS Word document.
•The site shall have a ‘Suggestion’ capability. Users can use a form to submit suggestions which get stored and also emailed to the owner.
7
![Page 8: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/8.jpg)
8
Agile
•People (users) are the focus
•Measure success with working software
•Expect and embrace change
•Use small, skilled, motivated teams
agilemanifesto.org
8
![Page 9: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/9.jpg)
9
Agile - SCRUM Style
•Japanese origin
•Whole team
•1995 OOPSLA, by Jeff Sutherland and Ken Schwaber
•Skeleton of practices and roles
9
![Page 10: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/10.jpg)
10ProprietaryProprietary 10
SCRUM Workflow
![Page 11: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/11.jpg)
11
SCRUM Roles
11
•Product Owner: Manages the backlog
•Scrum Master: Coach the process
•Team Member: Write code
![Page 12: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/12.jpg)
12
Practice Tip
•Create User Advocates
•Include User Advocates in:
•Story creation
•Priority setting
•Interaction design sessions
![Page 13: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/13.jpg)
13
SCRUM Artifacts
•Backlog
•Sprint Burn Down
•Sprint Backlog
•Past Backlogs
13
![Page 14: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/14.jpg)
14
Practice Tip
•Store Backlogs electronically
•Use physical Task Boards
![Page 15: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/15.jpg)
15ProprietaryProprietary 15
• Backlog
• Sprint Backlog
• Taskboard
• Sprint Burn Down
Artifacts
![Page 16: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/16.jpg)
16ProprietaryProprietary 16
• Backlog
• Sprint Backlog
• Taskboard
• Sprint Burn Down
Artifacts
![Page 17: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/17.jpg)
17ProprietaryProprietary 17
Artifacts
• Backlog
• Sprint Backlog
• Taskboard
• Sprint Burn Down
![Page 18: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/18.jpg)
18ProprietaryProprietary 18
Artifacts
• Backlog
• Sprint Backlog
• Taskboard
• Sprint Burn Down
![Page 19: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/19.jpg)
20
Practice Tip
•Keep old Sprint Backlogs & Burndowns
•Keep old tasks
•Use for velocity calculations
•Helps identify trends
20
![Page 20: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/20.jpg)
• Each developer has a set of cards with estimation values
• 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 number
• Repeat for each user story
• Schedule a sprint with the required number of story points based on your team’s velocity
21
Planning Poker
![Page 21: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/21.jpg)
22
•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
22
As a patron, I want to...
![Page 22: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/22.jpg)
23
As the restaurant manager, I want to...
•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
23
![Page 23: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/23.jpg)
24
Agile Challenges
•Access to real customers
•Large, distributed teams
•Industry misperceptions
•Command-and-control culture
24
![Page 24: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/24.jpg)
25
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
25
![Page 25: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/25.jpg)
26
Practice Tip
•Introduce incrementally
•Business strategy and architecture a must
•Get everyone speaking the same language
26
![Page 26: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/26.jpg)
27
Practice Tip
•Allocate QA time explicitly
•Keep PM simple but do it
•Keep improving your process
27
![Page 27: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/27.jpg)
Q&A
![Page 28: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/28.jpg)
2929
• 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
![Page 29: Agile In Practice Benjamin Booth Spring 2010. 2 Proprietary 2 5 Programmer/Architect](https://reader030.vdocument.in/reader030/viewer/2022032606/56649eb65503460f94bbfa85/html5/thumbnails/29.jpg)
As a patron, I want to easily navigate to the menu from the home page so that I can make a phone order (delivery)
As a restaurant owner, I want patrons to be able to make suggestions so that I can improve their dining experience.
As the restaurant manager, I want to create, update and delete menu items so that the menu stays interesting.
As the restaurant manager, I want to generate a PDF of the menu so that I can give it to the printer for creating ‘real’ menus.
As the restaurant manager, I want to get customer feedback emailed to me so I can quickly respond to problems and also pass on compliments to the staff.