3. MARSHMALLOW
CHALLENGE
RULES
INSTRUCTIONS: Use the materials supplied to build a
free-standing structure with a Marshmallow on top.
The team with the tallest structure wins.
TOTAL TIME: 18 minutes
MATERIALS PER TEAM: 20 spaghetti sticks, one yard
tape & twine, one marshmallow.
DEFINITION OF SUCCESS: Marshmallow MUST be
on top of the structure. Structures must be free-
standing.
12. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Suppose I hand you $2 billion and ask you to build a skyscraper.
How would you do it?
▸ Traditional Approach:
▸ Initiate
▸ Plan
▸ Execute
▸ Close
▸ Profit!
13. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Is the traditional approach right for skyscrapers?
▸ YES. It’s used all the time for skyscrapers.
14. AGILE
SOFTWARE VS. SKYSCRAPERS
Skyscrapers Software
Stable Requirements? Yes No
Internal alignment
straightforward?
Yes-ish No
External alignment
straightforward?
Yes-ish No
16. AGILE
WHAT IS AGILE?
▸ Agile is a development methodology that facilitates
product feedback at short, regular intervals forcing internal
and external alignment and catching bad assumptions
earlier.
▸ Agile incorporates a concept of:
▸ Increments (chunks of work)
▸ Iterations (chunks of time)
17. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Suppose that instead of a Skyscraper, I’ve asked you to
build a news app that aggregates your friend’s
recommendations.
▸ Consider using a traditional vs. agile approach while
dealing with some contingencies.
18. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Contingency #1: We discover people value news recommendations from
experts more than friends.
▸ Traditional approach:
▸ Agile approach:
Month 1 Month 2 Month3 Month 4 Month 5 LAUNCH
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
19. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Contingency #2: Our designers create an interface which can’t be implemented
by the developers.
▸ Traditional approach:
▸ Agile approach:
Month 1 Month 2 Month3 Month 4 Month 5 LAUNCH
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
20. “IF YOU COULD GET ALL
THE PEOPLE IN AN
ORGANIZATION ROWING
THE SAME DIRECTION
YOU COULD DOMINATE
ANY INDUSTRY […]”
—Melania Trump
21. AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Contingency #3: Product manager discovers app will not easily port to Android,
but has promoted the app as Android-compatible.
▸ Traditional approach:
▸ Agile approach:
Month 1 Month 2 Month3 Month 4 Month 5 LAUNCH
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6
22. AGILE
PREDICTIVE VS. ADAPTIVE
▸ Predictive Methodologies (Skyscrapers)
▸ Focus on planning the future in detail, knowing exactly
the features and tasks for the entire length of the project
duration.
▸ Predictive teams have difficulty implementing changes.
▸ Most suited to projects with stable requirements, such as
building a skyscraper.
23. AGILE
PREDICTIVE VS. ADAPTIVE
▸ Adaptive Methodologies (Software)
▸ Focus on planning only the immediate future in detail,
knowing requirements will change.
▸ Adaptive teams will have difficulty describing exactly
what will happen in the future. The farther away the
date, the more vague the plan is.
▸ Most suited to projects with unstable requirements, such
as building a website or web application.
24. AGILE
WE COULD END THE TALK HERE.
▸ A man once promised to convert to Judaism if an old
Rabbi could stand on one leg and cite the whole of the
Torah.
▸ The rabbi stood one one leg and said “What is hateful to
you, do not do to your neighbor. That is the whole of the
Torah; the rest is commentary. Go and study it!”
▸ Adapt at regular intervals. The rest is commentary!
25. AGILE
SO WHAT IS AGILE?: VALUES
▸ “Individuals and interactions over processes and tools”
▸ The right people are more valuable than tools or
methods
▸ Resolutions to problems are found through interactions
and discussions
26. AGILE
SO WHAT IS AGILE?: VALUES
▸ “Working software over comprehensive documentation”
▸ The primary focus for teams must be delivering
something that works for the client.
▸ Documentation, though often necessary, needs to be
prioritized to those artifacts that, in the end, provide
value to the client.
27. AGILE
SO WHAT IS AGILE?: VALUES
▸ “Client collaboration over contract negotiations”
▸ Listening to what the client wants is more critical than
meeting the language of a contract.
▸ Projects should be a collaboration between the client
and the team rather than a hand-off between them.
28. AGILE
SO WHAT IS AGILE?: VALUES
▸ “Responding to change over following a plan”
▸ Plans are notoriously out of date as soon as they are
written.
▸ By embracing change as opposed to trying to prevent it,
the team delivers products the customer actually wants.
29. AGILE
SCRUM
▸ What is Scrum?
▸ Scrum is a teamwork methodology designed to
implement agile principles.
▸ The rest of what follows is how scrum implements Agile,
but there are more frameworks, such as Lean, XP,
Kanban, and Scrumban.
32. AGILE
TRUEGIFT
▸ Problem: Gift-giving is a pain point for some people
▸ Solution: Create a service that selects and sends pre-
wrapped gifts on behalf of users.
▸ Useful for birthdays, anniversaries, etc.
33. AGILE
HOW AGILE WORKS - PRODUCT VISION
▸ A vision statement is key to success of the project. The
vision should be a short, compelling reflection of the
heartbeat of the project.
▸ For TrueGift: TrueGift empowers people to send
thoughtful, on-time gifts to their loved ones.
34. AGILE
HOW AGILE WORKS - ROADMAP
▸ A product roadmap is a VERY high-level overview of the
project’s functionality.
▸ TrueGift Roadmap
▸ Implement signup process
▸ Implement checkout
▸ Implement gift notification & selection process
▸ Implement personalization & profiles
35. AGILE
HOW AGILE WORKS - PRODUCT RELEASE PLAN
▸ A release plan is a projected schedule of releases for the roadmap.
▸ TrueGift Product Release Plan
▸ Release 1:
▸ Implement signup process
▸ Implement checkout
▸ Implement gift-notification & selection process
▸ Release 2:
▸ Implement personalization & profiles
36. AGILE
HOW AGILE WORKS - THEMES & USER STORIES
▸ THEMES are a high-level requirement
▸ USER STORIES are are definitions of those requirements
which:
▸ Contain just enough information to produce a
reasonable estimate of the associated LOE (level of
effort).
▸ Contain clearly-defined acceptance criteria
37. AGILE
HOW AGILE WORKS - THEMES & USER STORIES
▸ Example TrueGift User Stories for “Implement Signup Process”
▸ THEME: As an anonymous user, I want to sign up for the
service.
▸ USER STORY #1: As an anonymous user, I want to view
sample products which will be sent to my loved ones so
that I’m incentivized to sign up for the service.
▸ USER STORY #2: As an anonymous user, I want to enter
relevant enter information about my loved ones so that
they can receive gifts.
38. AGILE
HOW AGILE WORKS - SIZING USER STORIES
▸ Sizing can be done with hours or with story points.
▸ Hours
▸ The problem with hours is that we are all bad at
estimating our time to complete tasks.
▸ Solution: Story Points
39. AGILE
HOW AGILE WORKS - SIZING USER STORIES
▸ Story points are a psychological hack designed to trigger a
relative, rather than absolute mental sizing process when
determining the length of time it will take to complete a task.
Absolute Time (hours)
Shed 30 hours
House 3,000 hours
Neighborhood 300,000 hours
City 300,000,000 hours
40. AGILE
HOW AGILE WORKS - SIZING USER STORIES
Relative Time (hours)
Shed Smaller than a House
House
Smaller than a Neighborhood,
bigger than a Shed
Neighborhood
Smaller than a City,
bigger than a House
City Bigger than a Neighborhood
41. AGILE
HOW AGILE WORKS - SIZING USER STORIES
▸ Can be done in T-shirt sizes (Small, Medium, Large, Extra
Large)
▸ Can be done with the fibonacci sequence
▸ 1 2 3 5 8 13 21 34 55
42. AGILE
HOW AGILE WORKS - SIZING USER STORIES
▸ Why Use Story Points?
▸ Quick: Estimating LOE should be fast
▸ Accuracy Improves: Over time, sizing trends will tend to
coalesce into a stable, predictive structure
43. AGILE
HOW AGILE WORKS - SPRINT BACKLOG
▸ A sprint backlog is just a prioritized list of user stories that
have been selected for a sprint. Sizing helps figure out
what is and isn’t possible to get into a sprint.
▸ The client and the team should work together to set the
priority of the sprint backlog.
44. AGILE
HOW AGILE WORKS - SPRINT TASK CREATION
▸ Before the sprint begins, user stories should be broken
down by the team to the task level.
▸ Tasks can be sized using story points or hours (hours is
often preferred at this granular level.)
▸ The team works together to assign tasks.
45. AGILE
HOW AGILE WORKS - SPRINTS
▸ Agile incorporates the idea of a timebox, which is a fixed amount of
time for the team to work together to complete a set of user stories.
▸ A sprint is NOT just for development. A sprint should be the entire
team working together. There are several benefits to this:
▸ Better client expectation management and team satisfaction:
Increased likelihood design will not create something which
doesn’t get implemented.
▸ Increased velocity: as the team is awash in collaboration,
problems are spotted sooner.
46. AGILE
HOW AGILE WORKS - SPRINT BACKLOG FOR GIFTEX
▸ Sprint 1
▸ USER STORY #1: As an anonymous user, I want to view sample
products which will be sent to my loved ones so that I’m
incentivized to sign up for the service.
▸ Size: 2
▸ USER STORY #2: As an anonymous user, I want to enter relevant
enter information about my loved ones so that they can receive
gifts.
▸ Size: 5
47. AGILE
HOW AGILE WORKS - SPRINT STANDUP
▸ Standups are a common way of increasing collaboration
▸ Should be no more than 15 minutes
▸ Can be conducted in-person or via slack
▸ Three questions:
▸ What did you do yesterday?
▸ What are you doing today?
▸ Do you have any roadblocks?
48. AGILE
HOW AGILE WORKS - SPRINT REVIEWS
▸ At the end of a sprint, the working software that has been
built should be demonstrated to key stakeholders.
▸ This provides an opportunity for the team to show off their
work but also to gather important feedback about whether
the team is on the right track.
▸ Demos are a great time to review the product release
schedule and product roadmap to give stakeholders an
idea of progress.
49. AGILE
HOW AGILE WORKS - SPRINT REVIEWS
▸ Reviews should cover which stories were completed in the
previous sprint.
50. AGILE
HOW AGILE WORKS - SPRINT RETROSPECTIVES
▸ A retrospective is a meeting (or, in the language of Scrum, a
“ceremony”), in which the team reflects on the last sprint in order to
decide how they can improve.
▸ Review objective and subjective information to create a shared
picture of the sprint.
▸ Generate insights with discussion about what could be done better
next time.
▸ Record, prioritize, and implement those improvements.
▸ Retrospectives are most useful when conducted within a project
lifecycle, rather than at the end of it.
51. AGILE
HOW AGILE WORKS - SPRINT RETROSPECTIVES
▸ Retrospectives are not blamestorming sessions. Constructive
criticism is essential in these meetings but the facilitator should
focus on discovering root causes in order to craft solutions.
▸ Retrospectives are not a hugfest. Some teams, especially high-
performing teams, may want to avoid the hard work of
examining failures and instead pat themselves on the back. No
team is immune to improvement.
▸ Retrospectives are not a locker-room pep talk. If managers are
invited to retrospectives, they should assume an observer role
without speaking privileges.
52. AGILE
HOW AGILE WORKS - SPRINT RETROSPECTIVES
▸ There are plenty of formats for retrospectives; my favorite
is the Agile Sailboat:
55. AGILE
SO HOW DO I BECOME AGILE?
▸ Agile is often adopted by the development team first and
pushed to management.
▸ When talking with management, cite examples like the FBI’s
“Sentinel” program.
▸ After a decade of traditional software management, the CIO
turned Sentinel into an agile project and two years later it is
live.
▸ Federal CIO Steven VanRoekel has included the agile
methodology in his “Future First” initiative.
56. AGILE
SO HOW DO I BECOME AGILE?
▸ Read Scrum: The Art of Doing Twice the Work in Half the
Time by Jeff Sutherland
▸ Begin to experiment, but take it seriously.
▸ Scrum-BUT’s
▸ Send your boss to an agile talk to build buy-in.
57. AGILE
PUTTING IT ALL TOGETHER
▸ Agile is ADAPTIVE instead of PREDICTIVE
▸ Agile prefers COLLABORATION over NEGOTIATION &
DOCUMENTATION
▸ Agile is about building WORKING SOFTWARE at
REGULAR INTERVALS
▸ The whole of Agile: Adapt at regular intervals.
60. AGILE
▸ In 2013, a survey with 173 respondents conducted by
Scott Ambler & Associates found that just 49% of software
projects using a traditional approach were successful.
▸ The Standish Group reports that “94 percent of large
federal information technology projects over the past 10
years were unsuccessful - more than half were delayed,
over budget, or didn’t meet user expectations.
—NYT
▸ What are some common reasons projects fail?
61. AGILE
▸ Reasons software projects fail:
▸ Inaccurate assumptions about product value
▸ Changing product requirements
▸ External misalignment due to lack of adequate stakeholder
involvement
▸ Internal misalignment due to miscommunication
▸ Inaccurate estimation of tasks and failure to control costs
▸ Failure to manage stakeholder expectations