AGILE WHY IT WORKS, HOW IT WORKS, AND HOW TO ADOPT IT
AGILEWHY IT WORKS, HOW IT WORKS, AND HOW TO ADOPT IT
MARSHMALLOW CHALLENGE
ACTIVITY
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.
AGILE
MARSHMALLOW CHALLENGE DISCUSSION
▸ What didn’t work?
▸ What worked?
▸ What can we learn?
AGILE
MARSHMALLOW CHALLENGE DISCUSSION
▸ The power of prototyping
▸ Iteration
▸ Collaboration
▸ Feedback
Andy WaltersDIGITAL PROJECT MANAGER
@atendesign aten.io
@atendesign aten.io
AGILE
HOW ABOUT YOU?
▸ Quick Introductions
▸ Name
▸ Role
▸ What you’re hoping to get out of this session
▸ Your favorite film
CARGO CULT AGILE
SOFTWARE VS. SKYSCRAPERS
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!
AGILE
SOFTWARE VS. SKYSCRAPERS
▸ Is the traditional approach right for skyscrapers?
▸ YES. It’s used all the time for skyscrapers.
AGILE
SOFTWARE VS. SKYSCRAPERS
Skyscrapers Software
Stable Requirements? Yes No
Internal alignment straightforward? Yes-ish No
External alignment straightforward? Yes-ish No
SOFTWARE IS FEEDBACK-SENSITIVE.
SKYSCRAPERS AREN’T.
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)
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.
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
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
“IF YOU COULD GET ALL THE PEOPLE IN AN ORGANIZATION ROWING THE SAME DIRECTION YOU COULD DOMINATE ANY INDUSTRY […]”
—Melania Trump
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
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.
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.
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!
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
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.
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.
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.
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.
AGILE
HOW AGILE WORKS
▸ For the purposes of this talk, let’s create a fictitious project
TRUEGIFT
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.
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.
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
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
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
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.
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
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
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
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
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
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.
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.
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.
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
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?
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.
AGILE
HOW AGILE WORKS - SPRINT REVIEWS
▸ Reviews should cover which stories were completed in the previous sprint.
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.
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.
AGILE
HOW AGILE WORKS - SPRINT RETROSPECTIVES
▸ There are plenty of formats for retrospectives; my favorite is the Agile Sailboat:
INTERMISSION10 MINUTE BREAK
AGILE
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.
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.
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.
“PLANS ARE OF LITTLE IMPORTANCE, BUT PLANNING IS ESSENTIAL”Winston Churchill
Q&A DISCUSSIONAGILE
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?
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