hostingcon - using agile to deliver projects that transform customers from doubters into raving fans
TRANSCRIPT
Using Agile Methodology to Deliver Projects that Transform Customers from Doubters into
Raving Fans
Michael Harris VP of Information Technology, Ecommerce Inc.
Goals
• Demonstrate How Agile Can Help to Transform Customer Perception
• Share Insight Into The Ecommerce Agile Approach
• Provide You With a Set of Practices That Can Be Deployed on Your Own Agile Teams
Who is the Customer?From Dictionary.com
1. a person who purchases goods or services from another;buyer; patron.
2. Informal . a person one has to deal with: a tough customer;a cool customer.
For the purpose of this talk a customer can be any internal or external project sponsor or decision maker.
What Do Customers Expect?
• To Get What They Asked or Paid For
• To Have Predictable Costs
• To Get Timely Results
• To Be Kept in the Loop (i.e. No Surprises)
• To Focus On The Business While We Deliver the Technology
What Do Customers Often Get?
• Experience Tells Them... IT Project = Confusion + Frustration (#FAIL)
• From Their Perspective We...
- Have a Poor Project Delivery Track Record
- Fail to Hold Our Commitments
- Have Fluid, Out of Control Costs
- Misinterpret/Misunderstand What They Want
Why Do We Need Change?
• Because We Do In Fact Have a Poor Project Delivery Track Record
• As an Industry IT Misses Approximately 7 Out of 10 Times (Cost, Features, Time)
- Standish Group - Chaos Summary 2009
- University of Missouri, St. Louis (December 2003)
• This is Performance Only a Baseball Player Could Appreciate
How Do We Improve Our Batting Average and Get More Fans?
• Hold Our Commitments
• Build Confidence Through Transparency & Shared Success
• Actively Engage the Customer
• Communicate & Adjust
Agile Can Help!
So What is Agile?
• Agile Provides a Set of Practices and Processes Based on Iterative and Incremental Development With a Focus on Collaboration and Feedback
• Agile Manifesto (http://agilemanifesto.org/)
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile Won’t Prevent Baldness!
Agile Won’t Help You Lose Weight!
Agile Won’t Predict The Market!
But Agile Will...
• Enable Us To (Grow Fans):
1. Hold Our Commitments
2. Build Confidence
3. Engage The Customer
4. Communicate and Adjust
How Does Agile Helps Us ToHold Our Commitments?
• We Break Down Work Into Manageable Chunks Called Stories
• We Employ “Manage a Day” Theory
• We Plan for Change and Change the Plan
• We Use Fact Based, Collaborative Planning
How Does Agile Help Us To Build Confidence?
• Demonstrate Working Code Early and Often
• Do the Most Valuable and/or Hardest Things First
• Maintain a “Change” Buffer in the Plan
• When We Don’t Know... We Prototype
How Does Agile Helps Us ToEngage The Customer?
• Customers Actively Participate in Story Building
• Customers Define Success & Failure Criteria
• Customers Help to Plan Iterations
• Customers Provide Feedback on Working Code
How Does Agile Helps Us To Communicate and Adjust?
• Agile is All About Communication and Feedback
• Continuous Improvement is Built Into the Process via Retrospectives
• “Do More of What Works and Less of What Doesn’t”
• We Clearly Define Done
Next Lets Examine Our Approach to Solving this Challenge at Ecommerce
How We Practice Agile
• We Will Cover
- Planning
- Managing
- Delivery
- Team Makeup
Agile Planning
• Key Practices
- Story Building (Requirements Gathering)
- Planning Poker (Estimation)
- Iteration Planning (Slotting and Prioritization)
Agile Story Building
Anatomy of a Story
As a <actor/role> I want to <action> so that <reason>.
Acceptance Criteria
• What does success look like?
Failure Conditions
• What exceptions do we handle and how?
Example Story
As a presenter, I want to determine the background of the audience so I can cater the presentation to their needs.
Success
• The majority of the audience self identifies as (customer or IT) and as (agile novice or agile expert)
Failure Conditions
• If no one raises their hands make sure you are in the right room!
• If less than the majority raise their hand then keep trying until you get a majority
Another Example
As a presenter, I want to teach the audience how to use agile to win over customers so that they can be more successful with their future projects.
Success
• Members of the audience learn about important aspects of agile
• Members of the audience leverage agile on their future projects
• The audience applauds at the end of the presentation
Failure Conditions
• If the audience is bored tell a joke
• If the audience glassy eyed then re-query background information
• If the audience fails to applaud at the end apologize and hand out candy
Planning Poker
• We Estimate Each Story Using Story Points
• Members Use Playing Cards To Cast Their Vote
• Capture Tasks
Story Point Scale
- 0 is <= 2 hours
- 1 is <= 8 hours
- 2 is <= 16 hours
- 3 is <= 40 hours
- 5 is > 40 hours
* Stories scored a 5 need to be broken down
Iteration Planning
• An Iteration Contains 2 Weeks Worth of Stories Minus a 20% Change Buffer (Plan for Change)
• Collaborative Effort Between Development and the Customer
• We Package 2-3 Iterations in Advance
033
Backlog
3 1 01
Iteration
Velocity
Stories
Prioritize
ChangeBuffer
Agile Planning Toolbox
• Tools We Use
- Pivotal Tracker for managing backlog, iteration planning and work tracking. www.pivotaltracker.com
- www.planningpoker.com for story estimation.
- Redmine for project documentation www.redmine.org.
Agile Management
• Key Practices
- Daily Stand Ups
- Iteration Retrospectives
- Workload Management
- Demonstrations
Daily Stand Ups
• Must Be Prepared To Answer The Following:
- Yesterday I Committed To And Completed... (verify)
- Today I Commit To Completing... (commit)
- My Roadblocks Are... (escalate)
• And Yes We Stand The Entire Time :)
Retrospectives
• Requires “Brutal Honesty”
• Answers Two Simple Questions
- What Worked
- What Did Not Work
• Turn the WDNW’s Into Stories or Chores and Incorporate Into Future Iterations
Not Honest!
Workload Management
Demonstrations
• Gives Customer a Chance to Interact With Working Code
• Demos Verify Customer Acceptance of Stories
• Demos Should Be Engaging
• Capture Failures as Bug Stories
Agile Delivery
• Key Practices
- Clear Definition Of Done
- Automated Testing Is Critical To Success
- Continuous Integration
- Agile Coaching
Definition Of Done
• Working, Demonstratable Code
• All Tests Pass
- Tests Prove Acceptance Criteria & Failure Handling
• Story Accepted By Customer
Automated Testing
• Test First, Test After... Just Test!
• Tests are as Much for the Developer as the Customer
• Regression Testing Prevents Indirect Feature Breakage
• Integration Testing Ensures That Units Function Correctly Together
Continuous Integration
• Instant Feedback For Build & Test Validity Upon Code Check In
• Broken Build = Fire Alarm
• Provides Metrics for Code Coverage
• We Use Hudson (hudson-ci.org) But There Are Many Good Ones Available
Agile Coaching
• Continuous Coaching is Critical for New Agile Teams
• Developers Pair as Needed
• Peer Code Reviews Required
- Ensures Consistency
- Spreads Knowledge
• Team is Self Organizing
Building an Agile Team
• A Typical Project Will Have
- 1 Project Manager
- 1 Business Analyst
- 3-6 Developers
- 1-2 Designers/Web Developers
- 1-2 QA
• We Use a 1-3-1 Ratio for Designers to Developers to QA
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Communicate Project Goals/Background
• Write Stories
• Write Success/Failure Criteria
• Provide Reference Information
• Help Plan/Prioritize Iterations
• Provide Feedback in Demos
• Participate in Daily Stand Up (Optional)
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Facilitate Story Building
• Challenge Customer to Dig Deeper & Work Through Scenarios
• Story Clarification
• Participate in Planning Poker
• Liaison Between IT & Customer
• Demo Presenter
• Participate in Daily Standup
• Participate in Retrospectives
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Lead Iteration Planning
• Lead Planning Poker
• Lead Daily Stand Up
• Lead Retrospectives
• Assign Work
• Eliminate Roadblocks
• Review Code
• Lead Release Planning
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Create Wireframes
• Create Screen Mocks
• Define Interaction Characteristics
• Define Application Graphic Standards
• Demo Designs
• Participate in Daily Stand Up
• Participate in Retrospectives
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Break Stories into Tasks
• Deliver Stories (Code & Unit Test)
• Pair & Mentor
• Participate in Planning Poker
• Participate in Demos
• Manage Continuous Integration Server
• Participate in Daily Stand Up
• Participate in Retrospectives
Our Agile Team• Customer/Sponsor/
SME’s
• Business Analyst
• PM/Dev Manager (Scrum Master)
• Designers/UX
• Developers
• QA
• Participate in Story Building
• Develop Integration Test Plans
• Execute Integration Tests
• Record/Prioritize Defects
• Certify Release for Production
• Participate in Demos
• Participate in Daily Stand Up
• Participate in Retrospectives
In Summary
• To Win Fans
- Do What We Say and Say What We Do
- Customers Want To Be Heard
- Demonstrate Consistency and Transparency Using Agile
• Like Anything Else, Agile Takes Practice and Coaching But Everyone Can Do IT
Questions
Thank YouMy Contact Info
@mikeharris22
mharris22