enterprise agile - hybrid of methods

29
1 Enterprise Agile Hybrid of Methodologies Maris Prabhakaran M PMP,PMI-ACP,CSM,CSP,TOGAF9,PRINCE2 ,SPC,PMOC,ITIL,SCEA

Upload: marisagility

Post on 27-Jan-2015

118 views

Category:

Business


0 download

DESCRIPTION

Presented in Agile Tour 2912

TRANSCRIPT

Page 1: Enterprise Agile - Hybrid of Methods

1

Enterprise AgileHybrid of Methodologies

Maris Prabhakaran MPMP,PMI-ACP,CSM,CSP,TOGAF9,PRINCE2 ,SPC,PMOC,ITIL,SCEA

Page 2: Enterprise Agile - Hybrid of Methods

2

Why hybrid of Methodologies

Scrum + XP + Kanban

Lean + Agile Synergies

Appendix

Agenda

Lean + Agile

Page 3: Enterprise Agile - Hybrid of Methods

3

Why Hybrid of Methodologies

� Agile implementation is broadening from small development project to larger

projects and scale out to address entire value chain of the organisation.

� In fact Agile is going beyond systems development and address the alignment

between IT and business and the design and operation of entire Enterprise.

� One method will not fit the organisation

� Hybrid of methods are required Do not develop an attachment to

any one weapon or any one

school of fighting.

Miyamoto Musashi a

17th century Samurai

Twin sword

fighting technique

Page 4: Enterprise Agile - Hybrid of Methods

4

What Industry feels about Agile?

4

Are the agile teams distributed?

Reasons for adopting agile

Benefits realized from implementing Agile How many separate locations or sites are using Agile

89% of the surveyed said they saw ≥ 10% ‘Increased Productivity’

56% saw ≥ 25% ‘Increased Productivity”

Early Potentially Shippable product

Page 5: Enterprise Agile - Hybrid of Methods

5

Where Does Agile fit into an IT Organization

Storage

MainframesServers

MiddlewareIT Ops Mgmt Systems

Data Centers

End User

devices

Applications Tools

Projects

Firewall

Goal 1

Objective 1 Objective 2

Goal 2

Objective 3 Objective 4

Programs

Project 1 Project 2

Dashboards

Governance

councils

IT Demand

BU 1

GEO A

BU 2

GEO A

BU 3

GEO B

Infr

ast

ruct

ure

an

d

Op

era

tio

ns

Ap

pli

cati

on

d

ev

p. &

m

ain

ten

an

ceG

ov

ern

an

ce

an

d

Co

mp

lia

nce

IT S

tra

teg

y

form

ula

tio

n

Kanban + XP

+ Scrum

XP + Scrum

Lean + Scrum

Selecting Right tools to improve Enterprise Agility

Incr

ea

sin

g E

nte

rpri

se A

gil

ity

Lean + Scrum

Page 6: Enterprise Agile - Hybrid of Methods

6

GOVERNANCEDEMAND MEASUREMENT

DISTRIBUTIONWORKFLOW

Enterprise Transformation requires Hybrid of Agile

TOOLS CULTURE

Hybrid of Agile

ALIGNMENT

Page 7: Enterprise Agile - Hybrid of Methods

7

Hybrid of Scrum ,XP and Kanban

Agile Framework

+XPXPXPXPSCRUMSCRUMSCRUMSCRUM

� INVEST model to decompose optimal stories

� Story points to task estimation and Velocity

� Deliverables “doneness” criteria

� Vision process and themes approach

� Manage changes actively, using Product Backlog

� Test Driven Development – for quicker debugging

� Pair Programming – high quality code, collective ownership

� Code Refactoring –reduced technical debt

� Continuous Integration – lesser code breaks. painless releases

� Automated testing – test regression and release readinessAgile Umbrella

Scrum simplified roles + XP Engineering Principles + Kanban board

KANBAN

Page 8: Enterprise Agile - Hybrid of Methods

8

Lean + Agile

FLOW

Lean uses special principles & tools to map the value stream, optimize

flow, and remove waste, and solve problems.

Agile uses roles & practices to enable pull based & frequent delivery of

value, collaboration, & continuous improvement.

LEAN

AGILE

Any system is

only as efficient and

capable as the largest

constraint, at any given

time,

will allow.

WASTE

Page 9: Enterprise Agile - Hybrid of Methods

9

Agile Implements Lean Principles

Lean Agile/Scrum/XP

Capacity Planning (Queing Theory) Enterprise Backlogs, Product Backlogs, Prioritization based Biz Value, Release Planning,

Pull (Kanban) Prioritized backlog, Kanban (Scrum board) tracking/status, Feature focused, User Scenarios to Stories, Personas, Iterative and Incremental, User Acceptance Testing, Sprint Goals, Sprint Planning (only 1-2 iterations),

Takt Time (customer to customer) Backlog to Production measurement

Single Piece Flow Small stories, feature based/slicing and swarming, Iterative and Incremental

Waste Elimination Only develop stories that are actionable, only do what’s absolutely necessary, simplicity in all things, automation, excellence in engineering,

Lean Agile/Scrum/XP

Standardization Standard dev practices, framework usage, communications model

Value Threads Story Mapping from Roadmap to Release to MMF to Epic to Story

Automation Automated testing, Continuous Integration, Code Health, Easy Deploy

Line Stop (Jidoka, Poka Yoke, Andon) Refactor, Reuse, Big Visuals, Iterate, Incremental

Fail Fast Iterate, Inspect and Adapt, Retrospectives

No defects No defects, Definition of Done, Test Driven Development, Refactor, Shippable code

Lean Agile/Scrum/XP

Go See Yourself Customer close by, Prototypes, Iterative and Incremental, Early Deploy

Remove Waste Customer close, decisions at lowest level, good estimation, actionable user stories, no goldplating, team instead of cowboy, remove needless metrics, automation of almost all testing, no over-the-wall, biz/IT combined teams, simplify governance, daily standups

Workload Leveling, Concurrent Eng. Small stories, slicing and swarming, cross-functional team, daily standups

Quick Changeover Cross-functional team, simple and repeatable practices, no indiv. Code ownership, consistent build and deploy, team rotations, daily standups

Automation Automated test, integration, build, deploy tools, andon, communication

Orthogonal Arrays OATS Pairing with Dev and QA, Automation

Increased accessibility

to Value

Optimaluse of

Resources

Efficiency and

Capability,Speed

Cycle Time

Cost

Quality

Page 10: Enterprise Agile - Hybrid of Methods

10

Waste elimination using Agile

Waste Category Application to SW How Scrum/XP Resolves

Inventory Partially Done Work Shorter iteration cyclesSmaller inventory of detailed requirements – Product backlog with complete User Stories

Extra Processing Unnecessary docs Focus on the end product and less documentation, simplicity in code, automate everything possible

Over Production Extra Features Prioritization of product backlog helps to do away with nice to have features which are waste

Transportation Building the wrong thing Prioritized and actionable User Stories, Clear Acceptance Criteria, Customer/PO involvement, & Demos

Waiting Waiting for info, Handoffs Product owner exists and is engaged daily, cross functional teams with everyone included to deliver the Sprint, Pair programming

Motion Task Switching Slicing, Swarming, Use of DSM, Co-Located (or using W-GAME),

Defects Defects Definition of Done, TDD, Test first, Defects must be fixed during sprint

Page 11: Enterprise Agile - Hybrid of Methods

11

• Release Planning ensures that real customer needs are pursued.• Prioritized Backlogs ensure that the most important/valuable items are completed first, giving the most value the soonest.• Iterative and incremental sprint cycles ensure that changes can be made to move with the customer and only add what is valuable –removing waste due to delivering something not valuable.• Potentially Shippable Software is released every sprint enabling a clear and early value delivery to the customer. This increases ROI and reduces cost.

Value Flow

• Prioritized backlogs reduce investment on work that is not valuable.• Iterative and incremental cycles enables the business to cease work when enough value has been achieved, reducing wasted time spent creating lower value results.• Planning by sprints allows only the necessary amount of planning to be done, since the true outcome cannot be known until it is being delivered.• Only minimal documentation and other deliverables are created, reducing the wasted time in production, maintenance, and rework when poorly managed.

Eliminate Waste

• Daily scrums increase communication and ensure that the team can be proactive, changing as needed based on the conditions.• Retrospectives enable the teams to learn about one another, their work, and how to get better.• Frequently released software enables more frequent feedback from the customer, enabling more adaptive change to meet their needs.• Product Owners/Customers work directly with the creators of value, providing direct feedback about the outcome.

Increase Feedback

• Iterative and incremental work periods enable the results to be delivered as soon as they are good enough.• Two – Four week iterations is enough time to get work done, but not enough to waste, which ensures that people work to reduce wasted time.• Definition of Done ensures that as the work products are being created, they are completely ready for customers. • Inspect and Adapt allows the organization to change course and still produce results in much less timeframe than normal.

Deliver Fast

• Test Driven Development helps ensure that the software is built to achieve the criteria designed for it.• Testing happens at the beginning, not at the end of development process ensuring that higher quality can be achieved.• Definition of Done specifies specifically all the steps that must be taken to release the software, not just the coding of the software.• Enhanced roles in Scrum/XP ensure that everyone is concerned about and takes ownership of quality. The ScrumMaster helps ensure impediments are removed, thus enabling clearer understanding of the work and higher quality.

Build Integrity In

• Teams are cross-functional, enabling a multi-faceted look at problems and opportunities, ensuring that many angles are thought about during creation – the cheapest time in the lifecycle for fixing errors.• Development selecting items from the backlog to work from• Selection of work Vs assignment of tasks• Product owners working directly with the team reduce wasted due to time delays in communication.

Empower The Team

• Delay requirements that are architecturally not significant till the last responsible moment (AS Late As Possible)

Delay Commitment• Product Owner/Customer collaboration ensures that only what is needed is produced, at the right quality, and in the right time. • Demos show value to the customer early.• The ScrumMaster helps remove impediments in and outside of the team.

Resolve Constraints• Release plan provides the end to end view at a high level• Break functionality into vertical slices to get a end to end view

See the Whole

Lean & Agile Synergies

DSM

VOICE OF THE CUSTOMER

INCREASE FEEDACK

5S

AUTOMATION

VALUE STREAM MAPPING

ANDON VISUAL CONTROL

QUALITY FUNCT. DEPLOYMENT

ROOT CAUSE ANALYSIS

SIPOC ANALYSIS

KANBAN BOARD

CUSTOMER PULL

THEORY OF CONSTRAINTS

KAIZEN

LEAN AGILE FRAMEWORK LEAN TOOLS

Page 12: Enterprise Agile - Hybrid of Methods

12

Thank you

[email protected]

Page 13: Enterprise Agile - Hybrid of Methods

13

Appendix

Page 14: Enterprise Agile - Hybrid of Methods

14

Why Lean Agile?

• Better Return on Investment (ROI)

• Short releases will make the product available with high business value features early in the cycle

• Faster Time to Market enables earlier earning and learning

• Doing most important work quickly results in delivery of real customer value

• Productivity and code quality improvements

• Continuous attention to technical simplicity (just-enough/right-size)

• Defect prevention rather than defect verification through practices like continuous integration and Acceptance tests

• High test-coverage – great impact on code quality

• Increasing Probability of Success through close collaboration and reduction of risk

• Business and the IT team collaborate through out the development cycle through creation of requirements, Iteration

Planning, Demo etc

• High technical risk and high business value requirements are implemented early in the cycle

• Flexibility of implementation of requirements

• Iterative delivery of the requirements

• Re-prioritization of requirements is possible at the end of each Iteration

• Better management and Reduction of requirement volatility

• Iterative and Incremental approach with the prioritized backlog of requirements

• Better understanding of requirements by having acceptance tests within it

• Better management of Project Schedule and Cost

• Iterative and Incremental approach with the prioritized backlog of requirements

• Burndowns for Releases and Iterations/Sprint create transparency

• Higher quality due to continuous integration reduces cost of late stage defect rework

Page 15: Enterprise Agile - Hybrid of Methods

15

SCRUM

Page 16: Enterprise Agile - Hybrid of Methods

16

How Scrum works

Page 17: Enterprise Agile - Hybrid of Methods

17

Product Product Owner

• Define the features of the product

• Decide on release date and content

• Be responsible for the profitability of the product (ROI)

• Prioritize features according to market value

• Adjust features and priority every iteration, as needed

• Accept or reject work results

Scrum Scrum Master

• Represents management to the project

• Responsible for enacting Scrum values and practices

• Removes impediments

• Ensure that the team is fully functional and productive

• Enable close cooperation across all roles and functions

Team

• Typically 5-9 people• Cross-functional:• Programmers, testers, user experience designers, etc.• Teams are self-organizing

How Scrum works

Page 18: Enterprise Agile - Hybrid of Methods

18

How scrum works

Page 19: Enterprise Agile - Hybrid of Methods

19

• Reports

Scrum Artifacts

Page 20: Enterprise Agile - Hybrid of Methods

20

XP

Page 21: Enterprise Agile - Hybrid of Methods

21

Essence of XP (eXtreme Programming )

21

• eXtreme Programming is a discipline of software development based on values of simplicity,

communication, feedback, and courage. It works by bringing the whole team together in the presence

of simple practices, with enough feedback to enable the team to see where they are and to tune the

practices to their unique situation.

• It is distinguished from other methodologies by :

• Its early, concrete, and continuing feedback from short cycles.

• Its incremental planning approach, which quickly comes up with an overall plan that is expected to evolve

through the life of the project.

• Its ability to flexibly schedule the implementation of functionality, responding to changing business needs.

• Automated tests written by programmers and customers to monitor the progress of development, to allow

the system to evolve, and to catch defects early.

• Oral communication, tests, and source code to communicate system structure and intent.

• Evolutionary design process that lasts as long as the system lasts.

• Close collaboration of programmers

Page 22: Enterprise Agile - Hybrid of Methods

22

XP - Why is it called eXtreme Programming?

22

Taken known best practices to eXtreme levels

• If code reviews are good, we will review the code all the time

• If testing is good, everybody will test all the time

• If design is good, we will make it part of everyone’s daily business

• If simplicity is good, we will leave the system with the simplest design that supports current

functionality

• If integration testing is important, then we will integrate and test several times a day

• If short Iterations are good, we will make the Iterations very short

Page 23: Enterprise Agile - Hybrid of Methods

2323

Communication

Communication builds a thread of trust

at all levels (customer, end users,

developers, QA) and it improves the

collaboration among the project

stakeholders.

Simplicity

Simplicity stresses to build system in

such a way that is enough to meet the

requirements that are available today.

Feedback

Feedback highlights the opportunities

for improvement. Feedback from

customer and peers plays important

role in refining the system under

development.

Courage

Courage breaks the cultural barriers and

enables higher communication with

constructive feedback. Courage builds

ground for feedback giving and receiving.

Respect

Team members should not feel

unappreciated or ignored. This ensures

high level of motivation and

encourages loyalty toward the team,

and the goal of the project

Values of XP

Page 24: Enterprise Agile - Hybrid of Methods

24

Process Flow for XP

24

Page 25: Enterprise Agile - Hybrid of Methods

25

XP (eXtreme Programming) Practices

25

1. Planning game - Programmers estimate effort of implementing customer stories and

customer decides about scope and timing of releases

2. Metaphor - Guides all development with a simple shared story of how the whole system

works

3. Simple design - The system should be designed as simple as possible at any given moment

4. Test First - Programmers continually write unit tests, which must run flawlessly for

development to continue

Page 26: Enterprise Agile - Hybrid of Methods

26

XP (eXtreme Programming) Practices

26

5. Refactoring - As programmers add new features to the project, the design may start to get messy. If this continues, the design will deteriorate

6. Short/Small releases - Programmers build the system in small releases defined. A Iteration is typically for about two weeks

7. Pair Programming - All production code is written with two programmers at one machine

8. Continuous Integration - Integrate and build the system many times a day, every time a task is completed. New builds as soon as code ready

Page 27: Enterprise Agile - Hybrid of Methods

27

XP (eXtreme Programming) Practices

27

9. Collective ownership - The team owns the code. Programmer pairs modify any piece

of code they need to

10. On-site customer - Include a real, live user on the team, available full-time to answer

questions. customer present and available full-time for team

11. 40 hour week - Work no more than 40 hours a week as a rule. Never work overtime a

second week in a row. maximum 40-hour week

12. Coding standards — Programmers write all code in accordance with rules emphasizing

communication through the code

Page 28: Enterprise Agile - Hybrid of Methods

28

KANBAN

Page 29: Enterprise Agile - Hybrid of Methods

29

KANBAN

29

• Visualize the workflow

• o Split the work into pieces, write each item on a card and

• put on the wall.

• o Use named columns to illustrate where each item is in

• the workflow.

• • Limit Work In Progress (WIP) – assign explicit limits to how

• many items may be in progress at each workflow state.

• Measure the lead time (average time to complete one item,

• sometimes called “cycle time”), optimize the process to make

• lead time as small and predictable as possible.