An executive presentation of agile development, Scrum mechanics, myths, and practices tips. Was presented for several years to George Mason University\'s CS421 Software Engineering students.
6. 6
Waterfall Not all Bad
6
• Space shuttle flight control system
• Requirements are well defined
• Unlimited resources
• Useful for < 5% of all software projects
7. 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
8. 8
Agile
• People (users) are the focus
• Measure success with working software
• Expect and embrace change
• Use small, skilled, motivated teams
agilemanifesto.org
8
9. 9
Agile - SCRUM Style
• Japanese origin
• Whole team
• 1995 OOPSLA, by Jeff Sutherland and Ken
Schwaber
• Skeleton of practices and roles
9
19. 20
Practice Tip
• Keep old Sprint Backlogs & Burndowns
• Keep old tasks
• Use for velocity calculations
• Helps identify trends
20
20. • 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
21. 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...
22. 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
23. 24
Agile Challenges
• Access to real customers
• Large, distributed teams
• Industry misperceptions
• Command-and-control culture
24
24. 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
25. 26
Practice Tip
• Introduce incrementally
• Business strategy and architecture a must
• Get everyone speaking the same language
26
26. 27
Practice Tip
• Allocate QA time explicitly
• Keep PM simple but do it
• Keep improving your process
27
29. 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.
Editor's Notes
BAH - Java thick-clients for patient and medical record tracking
webM/SAG - developed Java server and thick-clients for automating integration of software systems. Researched use of Resource Description Framework (RDF) and Web Ontology Language (OWL) for analyzing relationships between business process components.
Near Infinity - developer of Ruby on Rails-based tool, used by Chrysler automotive engineers to create and manage diagnostic messaging protocols. intelliPrints 3
Author/Blogger
Dr. Dobbs - Pragmatic Exceptions, 2005 - 2006
www.benjaminbooth.com
1970 - Winston Royce
Plan driven (predictive), Document centric
Restricts Change (strict order)
Programmers interchangeable
As of late 90’s, 51% of all IT projects:
over time
over budget and/or,
lacking critical features and requirements
Traditional approaches (none or Waterfall) is EXPENSIVE...
51% of all IT projects:
over time
over budget and/or,
lacking critical features and requirements
JOKE
“A pig and a chicken are walking down a road. The chicken looks at the pig and says, &quot;Hey, why don&apos;t we open a restaurant?&quot; The pig looks back at the chicken and says, &quot;Good idea, what do you want to call it?&quot; The chicken thinks about it and says, &quot;Why don&apos;t we call it &apos;Ham and Eggs&apos;?&quot; &quot;I don&apos;t think so,&quot; says the pig, &quot;I&apos;d be committed but you&apos;d only be involved.&quot;
Informal
Simple
Physical
Highly visible
Ensures accountability, communication
Access to real users and customer
Not just a Agile problem but Agile is heavily dependent on this
Solution: proxy customer/user
Large, distributed teams
Solution: Scrum of scrums, Highly collaborative tools - Webex, Mingle, Wiki
Industry Misperceptions: Agile is irresponsible, reckless, and strategy-less
Solution: Engage and educate
Command-and-control organizational culture
Solution: Find another job, start your own company
Need out-of-sprint breaks
Allocate time for official QA
Keep it simple