HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

46
Using Agile Methodology to Deliver Projects that Transform Customers from Doubters into Raving Fans Michael Harris VP of Information Technology, Ecommerce Inc.

Transcript of HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Page 2: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 3: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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.

Page 4: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 5: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 6: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 7: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 8: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Can Help!

Page 9: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 10: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Won’t Prevent Baldness!

Page 11: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Won’t Help You Lose Weight!

Page 12: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Won’t Predict The Market!

Page 13: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

But Agile Will...

• Enable Us To (Grow Fans):

1. Hold Our Commitments

2. Build Confidence

3. Engage The Customer

4. Communicate and Adjust

Page 14: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 15: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 16: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 17: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 18: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Next Lets Examine Our Approach to Solving this Challenge at Ecommerce

Page 19: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

How We Practice Agile

• We Will Cover

- Planning

- Managing

- Delivery

- Team Makeup

Page 20: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Planning

• Key Practices

- Story Building (Requirements Gathering)

- Planning Poker (Estimation)

- Iteration Planning (Slotting and Prioritization)

Page 21: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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?

Page 22: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 23: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 24: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 25: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 26: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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.

Page 27: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Management

• Key Practices

- Daily Stand Ups

- Iteration Retrospectives

- Workload Management

- Demonstrations

Page 28: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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 :)

Page 29: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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!

Page 30: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Workload Management

Page 31: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 32: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Agile Delivery

• Key Practices

- Clear Definition Of Done

- Automated Testing Is Critical To Success

- Continuous Integration

- Agile Coaching

Page 33: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Definition Of Done

• Working, Demonstratable Code

• All Tests Pass

- Tests Prove Acceptance Criteria & Failure Handling

• Story Accepted By Customer

Page 34: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 35: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 36: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 37: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 38: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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)

Page 39: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 40: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 41: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 42: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 43: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 44: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

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

Page 45: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Questions

Page 46: HostingCon - Using agile to deliver projects that transform customers from doubters into raving fans

Thank YouMy Contact Info

@mikeharris22

mharris22

[email protected]