Date post: | 12-May-2015 |
Category: |
Career |
Upload: | ixwebhosting |
View: | 4,611 times |
Download: | 0 times |
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