scaling kanban in the enterprise with greenhopper

Post on 31-Aug-2014

3.999 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation delivered @Atlassian Summit 2012. Balancing the coordination of many Agile product delivery teams on the same major release cycle -- and still allowing these teams to self-organise -- is a craft Agile Enterprises must master. JIRA, GreenHopper and Confluence provide a rich platform that accommodates cross team co-ordination and the flexibility required for teams to self-organise. In this talk, David will walk the audience through the process of breaking down a Kanban value chain into steps and transitions, mapping out compatible workflows, and building the combined board. David will also share details of how Constant Contact provides visibility into the progress of teams and the release cycle. Constant Contact was able to deliver 15% more often in 2011 than prior years by refining their Agile practices.

TRANSCRIPT

Scaling Kanban in the Enterprise with Jira/Greenhopper

David Jellison

combining multiple work items and spanning agile teams with a common delivery schedule

Director, Quality EngineeringConstant Contact, Inc.djellison@constantcontact.com

• “Engagement Marketing” company with a suite of SaaS applications, serving over 500,000 customers.

• Employs ~1000 people, with ~300 in Engineering & Operations, covering 4 locations.

• Has ~20 agile product delivery teams 8-12 people per team, and a ~3:1 ratio (Dev:QE).

• Scrum major release cycles, Kanban software development practices, and TDD in new teams

Our Needs

• Sprints were feeling like mini-waterfalls

• Too many systems (project, defect, requests)

• Impediments and bottlenecks persisting to next sprint

Game Plan

• Kanban key ideas

• Agile enterprise

• Jira/Greenhopper solution

• Breaking down the Kanban value chain into workflow steps and transitions

• Applying to Jira/Greenhopper

• Program Management role

Why Kanban?

• Football 3 yards at a time => far better odds

1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

Rush 3 yards at a time

Hail Mary Pass

Kanban Key Ideas

• Pull work from queue, based on capacity constraint• Streamline completing work (bottleneck visibility)• SLA (service level agreement) classes of service

• Card• Card

Unscheduled Backlog

• Card• Card

Scheduled Backlog • Card

• CardWIP

• CardQueue

• Card• Card

WIP

• Card• Card

Done

WIP Limit WIP Limit

Agile Enterprise

• Balancing self-organizing agile teams with enterprise governance

Agile Enterprise Challenges

• Prescriptive structure• Managing work dependencies across teams• Measuring progress and readiness to deploy

team team team teamRISK

Product Roadmap & PrioritiesRelease 1

Release 2

Release 3

Priority 1Priority 2Priority 3

Kanban Task Board

Electronic Dashboard Needs

• Represent value chain per team

• Combine different types of work

• Share across teams

• Common structure

• Extensible with plug-ins

• Aggregate visibility

Greenhopper Task Board

• Mimics the physical board

Enterprise Steps

1. Declare common defect workflows

2. Suggest common card workflows

3. Declare shared statuses (must appear in each project workflow)

4. Declare constraints (e.g. all Defects have a priority)

Key Statuses• ToDo / User Story

• Create event

• Project backlog (scheduled)

• Start throughput

• In Development• Start cycle time

• Closed• Close event

• Ends cycle time, throughput

ToDo / User Story

In DevelopmentClosed

Throughput

Cycle Time

Defect Resolution Field

• Jira system field

• Required when visible *

• Resolved event

• Configurable values

Defect Workflow

Each of these statuses become shared set

Defect Workflow

Resolution Set

ResolutionCleared

Use post functions in transitions to set and clear Resolution field

Defect WorkflowsToDo / User Story

In Development

Ready for TestIn Test

Closed

_Defect Workflow Steps 1ToDo / User Story

Ready for DevIn Development

Ready for TestIn Test

Closed

_Defect Workflow Steps 2ToDo / User Story

Ready for DevIn Development

Ready for TestIn TestTest Done

Closed

_Defect Workflow Steps 3

DefectWorkflow• Linked Status

key fields

• Step Name alias

• Transitions as allowed actions

Apply Workflows

• Assign to issue types in a workflow scheme

Transitions as Buttons

• Defect: Ready for Dev

• Defect: In Development

Clear Resolution: transition back to

itself & post function to clear field value

Applying Transition Constraints

• Exclude versions

Applying Transition Constraints

• Restrict patterns

Applying Transition Constraints

• Set Resolution

Team Steps

1. Diagram team value chain (tune ‘queue/work’ pattern)

2. Reduce steps when issue types and fields make more sense

3. Flow diagram (white board) key steps and transitions

4. Map shared statuses to steps in the flow diagram

5. Create new workflow(s) in Jira/Greenhopper

6. Transitions named as action taken (button labels)

7. Map step columns in Task Board and Rapid Board to statuses

ToDo / User Story

Ready for DevIn Development

Ready for TestIn TestTest Done

External DependencyUser AcceptanceClosed

Components• Marketplace• Community• Dev Website• Experts• BlogCustom Fields• Stakeholder• Stakeholder Review• Reject Reason• QA RequiredIssue Types• Dev Forward• WIP Defect• Defect• Subtask• Automated Test• Prod / Expedited• Programs / Promo

Feature StatusesFeature Workflow Steps

Statuses

• Match up the same steps in different workflows with common Statuses

ToDo / User Story

Ready for DevIn Development

Ready for TestIn TestTest Done

Closed

ToDo / User Story

Ready for DevIn Development

Ready for TestIn TestTest Done

External DependencyUser Acceptance

Closed

Feature Statuses Defect Statuses

Task Board Column Mapping

• Add column headings from whiteboard steps• Status selected from combined workflows list

Task Board Columns

• Steps and transitions match expectations

Rapid Board Column Mapping

Rapid Board Columns

Program Manager

• Scheduling and coordinating routine releases

• Gathering readiness and risk assessments from teams

• Leading deployment procedure

• Coordinating cross-functional meetings

• Leading post release point releases and hot fixes

• Coordinating continuous improvement exercises

• Metrics

• Coach Kanban & workflow design

Aggregating Issue Types

• Cross-project team search

Benefits: Consolidating Issues

• Issue tracking {Features, Defects, Requests}• One platform with multiple types

of work

• One board for team to see all work together

• Linking like things together

• Dependency management across teams

• Common roll-up of progress

• Metric aggregation

Cumulative Flow Diagram

Cycle Time (Control Chart)

Defect Dashboard

Defect Reduction

• Defects as failing tests or subtask WIP Defects

• If escaping, promote from WIP Defect to Defect issue type

• Track Escaping, no more than can count on 2 hands

• Migrated separate {Defects; Stories; Requests}=> Jira issues ranked in task board (team visibility)

• Tracking {WIP Defects; Escaping Defects} => defect debt reduction (cut defect backlog by ½)=> preventing defects (far less escaping)

• Cycle time (Start Dev <> Closed) => improved metrics drove cycle time reduction=> 15% more delivery per year

2011 Results

What we covered

• Kanban key ideas

• Agile enterprise

• Jira/Greenhopper solution

• Breaking down the Kanban value chain into workflow steps and transitions

• Applying to Jira/Greenhopper

• Program Management role

Thank you!

References

• Practical JIRA Administration, Using JIRA Effectively: Beyond the Documentation; Matt Doar, O’Reilly Media, May 2011

• Kanban football analogy, Gil Irizarry, Constant Contact, Inc.

• Agile Defect Prevention (WIP Defects)http://davidjellison.wordpress.com/2011/09/23/agile-defect-prevention

top related