Enterprise Services Planning - Scaling the Benefits of Kanban
Scaling Kanban in the Enterprise with GreenHopper
-
Upload
david-jellison -
Category
Technology
-
view
4.000 -
download
1
description
Transcript of Scaling Kanban in the Enterprise with GreenHopper
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, [email protected]
• “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