implementing agile in non-agile world : presented by kshitij agrawal

40
June 13-14, 2015, at Hotel Holiday Inn Mayur Vihar, Delhi Discuss Agile Conference Delhi-2015 www.discussagile.com oughtWorks Kshitij Agrawal Implementing Agile in Non-Agile World

Upload: discuss-agile

Post on 17-Aug-2015

84 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

June 13-14, 2015, at Hotel Holiday Inn Mayur Vihar, DelhiDiscuss Agile Conference Delhi-2015

www.discussagile.com ThoughtWorks Kshitij Agrawal

Implementing Agile in Non-Agile World

Page 2: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Discuss Agile Conference DELHI 2015

Photo by will_cyclist - Creative Commons Attribution-NonCommercial License https://www.flickr.com/photos/88379351@N00 Created with Haiku Deck

Page 3: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agenda

Agile Implementation Challenges

Case Study Context

Next Steps

Agile Journey

Summary

Page 4: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Project Context

Multiple Brands24 x 7

Multiple ChannelsCustomers

Multiple Geographies

Retail

Corporate

Private / Wealth

Java Front End MF Legacy Backend Other Systems

Tightly coupled system. Slow Development

Multiple Stakeholders

Distributed Team

Page 5: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Type of work

HighWork Stack

Constituents

Strategic Enhancement

Support Initiated

Prod IssuesRegulatory

Campaigns & Offers

New Product Launches or

Customizations

All this was being delivered in the form of multiple waterfall projects with serious issues about quality and timelines.

Page 6: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges

Page 7: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges – Matrix Organization

Business Technology Misalignment Support Functions Misalignment Lack of synergy between departments

Pic from: http://www.illustrationsource.com/

Page 8: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges – Hierarchical Organization

Hierarchical Org Growth = Climbing the ladderPic from: http://johngerber.world.edu/2012/08/10/hierarchy/

Pic from: http://www.forbes.com/sites/alanhall/2013/04/11/get-noticed-four-easy-steps-to-climbing-the-corporate-ladder/

In hierarchical organizations bringing change is difficult. Also, team members see growth as getting bigger job title rather than adding more value.

Page 9: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges - Command & Control Culture

Improvement = More controls

Pic from: http://www.slideshare.net/apanitsch/the-management-rowing-race

Failures indicates complexity and complexity is best tacked by adaptive approach but often reverse is done and more controls are added to prevent failures.

Page 10: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges - Heavy Processes

High GovernanceMultiple Approval Board

Rigid ProcessesFocus on compliance

Pic from: http://globe-views.com/dreams/lawyer.html

Page 11: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges- Rigid Processes

More than amount of processes, the issue is with one Size fits all approachPic from: http://hudsonvalleynewsnetwork.com/2014/12/17/one-size-not-fit/

Page 12: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges – Lack of Technical AgilityIs business agility feasible without technical agility?

Legacy SystemsSlow development

Tight couplingComplex dependencies

Pic from: https://www.flickr.com/photos/jeroeneijkhof/4533163799

Page 13: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Challenges – Tools & Infrastructure

Lack of tools & technical infrastructure

Page 14: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

First attempt towards agile

There is serious problem of scope creep and you are suggesting we do development without covering all requirements.

We think there is need of more controls to handle this chaos and what made you think that we should remove processes

Page 15: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Solving the right problem …

Finding out the most important problems and their causes is the key.

Pic from: http://dilbert.com/strip/2013-02-15

Page 16: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Solving the right problem

• Too Many Stakeholders

• Demand Supply mismatch

Causes

• Interdependencies Leading to Deadlock

• Wastage in building consensus

• Flow Jams

• Quality Issues

Effects• Poor Time to

Market

• Production Disruptions

Outcome

Page 17: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Solving the business problem

Stakeholders

Development Team

Dedicated product Owner Team.

Product OwnerBusiness Analysts

Lead / Release Manager Building Consensus Breaking down requirements Prioritization (focus on MVP) Managing dependencies Guide development User acceptance testing Facilitate

Guide team and PO Remove blockers

Page 18: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Solving the business problem

Combining work requests and doing quarterly releases

This proposal was accepted as it gives management more control & more visibility along with improved time to market and less production disruption.

Month 1 2 3 4 5 6 7 8 9 10 11 12

Release 1

Release 2

Release 3

Smaller work requests, focus on ‘must haves’ and match demand to supply

Page 19: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Challenges post new model

Month 1 2 3 4 5 6 7 8 9 10 11 12

Release 1

Release 2

Release 3

Scope creep, Adhoc work requests still causing issues

Changes costly and discouraged

Six months is still long period to see outcome

Slow development, Quality issues, release overheads

This was just iterative waterfall but sometimes a working waterfall is better place to start agile journey. Also, one major win was to have a single product owner.

Page 20: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Journey

Page 21: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Transition Backlog

Collaboration

Feedback Loops

Technical Agility

Key elements of agile transition backlog : -

Page 22: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Technical Agility

Technical Backlog

Testing Improvements & Automation Backlog

Reusable Tools

Improving Infrastructure

Continuous Integration

Technical Agility

Business Agility

Leads To

Supports

Pair Programming & Test Driven Development

Page 23: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Strategic verses tactical

Business Functionality

Technical Enhancements

Technical Backlog

Infrastructure

Testing Automation

Enhancements

Mandatory

Prod Fixes

Page 24: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Team CollaborationDaily Stand-up with task board

Brainstorming

Collaboration Tools

Pair Programming

Stand-up Photo by Acarlos1000 - Creative Commons Attribution License https://www.flickr.com/photos/73694110@N00 Created with Haiku Deck

Pic from: https://www.airpair.com/Pic From: www.friendshipcircle.org

Page 25: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Team Distribution

Distributed across locations based on specialityThrow over the wall attitude

Co

llab

ora

tio

n

Too

ls

To reduce cross location dependencies, rebalanced team to have independent team with specialities at each location.

Page 26: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Feedback LoopsCustomer Showcases

Retrospectives

Photo by justin - Creative Commons Attribution License https://www.flickr.com/photos/35034345586@N01 Created with Haiku Deck

Pic From: https://hakanforss.wordpress.com

Page 27: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Agile Training and Coaching

Page 29: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Customizations of processes

User Stories

FeaturesWork

Requests

WR 1

Feature 11

User Story 11-01

User Story 11-02

Feature 12User Story

12-01

Isn’t this same as what you call as traceability Matrix?

Customization of processes for agile - To fulfill the same purpose but in a different way.

Page 30: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Current Model

Page 31: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Current ModelWeeks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Release 1

Release 2

Release 3Scoping, Release plannning, Story Writing, Estimation, high level architecture discussion

Development and Testing

Deployment to test environment and skim test

Hardening - UAT, NFT, End to End testing

Implementation Preparations, Audit, Approvals

Production Deployment

Three releases running in parallel but only one development/execution phase at a time.

Execution phase means design, coding, testing by self organized team in any sequence but based on priorities set by product owner. Frequent delivery of working software and frequent customer showcases.

Backlog grooming also happens during development cycle.

Due to test environment constraints, governance requirements and other constraints, need to have a hardening phase.

Page 32: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Current Model - KanbanIterative Frameworks

No work in progress limit within iteration

WIP

Lim

it =

2

Work in progress limit but no iteration boundary

KANBAN

During execution phase, Kanban is followed instead of Scrum. The reasons are: Due to legacy code issues, some stories take more than 2 weeks to develop. Don’t

want to break these as these would loose relevance and become tasks. Due to hardening defects, prod fixes, high priority work requests, backlog is more

fluid than ideal for iterative development.

Page 33: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Current Model

Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8

Retrospectives (4w)

Planning Cadence (2w)

Showcase cadence (2w)

Backlog grooming discussions multiple times a week (on demand)

Page 34: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

High level planning & estimation

Size Estimate

Small 1

Medium 2

Large 3

Extra Large 5

Velocity = 10

High Level Planning & funding approval happens when there are no user stories. How to confirm doability at that level?

A custom model is to divide the work requests into size categories.

The normal velocity driven planning model has been extended for high level planning. Velocity is known based on historic data and refined constantly.

Also factor in risks and external dependencies.

Page 35: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Backlog Management & Estimation

Divide the work requests into features and prioritize.

Use Fibonacci series for estimation.

Focus on ‘Must Have’ features

Maintain 20-40% ‘Good to have’ features as planning buffer.

Reference: http://www.expertprogrammanagement.com/

Page 36: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Next Steps

Further automation to reduce hardening period.

Resolving test environment constraints to have better ‘DONE DONE’ definition.

Continue with technical enhancements to speed up development.

Page 37: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Summary

Focus on business problems first

Don’t sell agile, just show the value

Avoid jargons, use the language which people understand

Engage performing organization

Collaborate and build relationships with PMOs & support functions

Focus on technical agility

Focus on being agile rather than doing agile

Remember AGILE is a journey rather than destination

Page 38: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Questions ?

Page 39: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal

Thank You

Page 40: Implementing Agile In Non-Agile World : Presented By Kshitij Agrawal