Presentation by lavika upadhyay

23
SAFE - The Quantitative way of achieving Process Excellence 1 Cognizant Technology solutions

Transcript of Presentation by lavika upadhyay

Page 1: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

1

Page 2: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

SAFE - The Quantitative way of achieving Process Excellence

Paper Abstract ID: PMI-TAG-14-2-209

Authors:

Lavika Upadhyay ([email protected])

Sumedh Yeolekar ([email protected])

Delivery Assurance Group, Cognizant Technology Solutions, India

Office Address:Plot No 26/27 Rajiv Gandhi Infotech Park, MIDC Hinjewadi, Pune IT Park, Pune - 411020.

Paper submitted for

The PMI Project Management National Conference 2014

2

Mantra for Process Excellence

Lavika UpadhyayQuality AnalystCognizant

Page 3: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

Abstract

Two critical aspects of software system are structure and behavior. Structure describes basic functionality

of software components and behavior describes feature that deliver end user benefit. While agile

development supports both structure and feature based development thereby ensuring on time delivery,

high product quality, improved productivity and employee collaboration, the key challenges in adapting

agile development are: dependencies on external Vendors/organizations that are using waterfall and

Internal culture that requires time to shift to an agile mindset both in terms of people and process and

management feel that they will lose control assuming less planning, discipline and no documentation.

SAFE Agile are specially organized to meet both of these aspects to exhibit highest velocity of value

delivered in short term. This paper describes how a balanced mixture of agile development and Lean

concept enables team to eliminate delay, defects, and variance within business process. The integration

of Agile and Lean Six Sigma is a natural fit. This integrated approach will better define ways to

accomplish product development with transparency, predictability and reliability resulting in Business

Excellence.

Introduction

Agile and Waterfall are two distinct methods of software development. The waterfall model is a sequential

software development process which flows steadily downwards with assumption that the requirements

are available at the start of a project.

In reality, business conditions and requirements change, and generally the business is not particularly

good at requirements definition. The final product is available to business only during verification phase.

Unlike the waterfall approach, the agile development method is based on iterative and incremental

development. Documentation is minimal and customer feedback occurs simultaneously with

development.

Agile offer undeniable benefits: faster time to market, better responsiveness to changing customer

requirements, and higher quality. However, agile practices have been defined and recommended

3

Page 4: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

primarily to small teams here where SAFe comes to picture. SAFE is a framework which scales

Agilemethodology to meet needs of project execution at enterprise level.

Necessity of Transition: Waterfall to Agile

To overcome the limitations of Waterfall Model, it is necessary to adapt AGILE development to achieve

faster time to market and cope up with rapidly changing requirements.

As mentioned in Figure1, Agile methodology is Value/Vision driven and estimation is done based on the

features to be developed as part of iterations.

Figure 1

Four broad success factors in order to do successful transition

4

Page 5: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

What is AGILE?

Agile is a time boxed, iterative approach to

software delivery that builds software

incrementally from the start of the project,

instead of trying to deliver it all at once near the

end.

It works by breaking projects down into little bits

of user functionality called user stories,

prioritizing them, and then continuously

delivering them in short two/three week cycles

called iterations.

Bring Agility and Accuracy by integrating Agile and Lean

Agile teams thrive on spotting and removing problems, constraints and waste, they are well prepared for

using DMAIC thinking and tools. While they may not conduct full DMAIC projects, they can use tools such

as causal analysis, mistake proofing and ongoing process controls. Here is a look into some tools of Six

Sigma and how they can be used in Agile software projects

Define:

In an Agile software project, the problem of being disconnected from the customer is largely removed by

having a product master resent at team meetings. However, in a complex project in a large organization,

5

Techology: The tool to be used to

deliver solution like XP,Rally 2.

People:Organization’s employees are responsible for implementing

Agile.Hence people should be enthusiastic

and support team work

Organizational Design:

It refers to organizational and

physical architecture .If

resources are located at remote location then implementing Agile is a challenge

Leadership: Leadership should

actively sponsor and support the transition

efforts

Page 6: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

it is possible to have many direct and indirect customers, making it impractical to get everyone in a room

for the sprint review meeting. Using VOC ahead of time to prepare for the sprint review meeting will help

make the meeting much more effective

Steps to collect VOC before Scrum Sprint Review:

1. Identify all direct and indirect stakeholders for the upcoming sprint

2. Prepare targeted questionnaires for each user

3. Collect answers for the questions through direct conversation, email, etc.

4. Review any existing forms, issue log, etc. to identify customer pain points

5. Prepare for the sprint review meeting with additional knowledge of all customer needs

Measure:

After receiving requirements from customer critical-to-quality (CTQ) tree helps in translating customer

requirements into measurable characteristics. A CTQ tree takes customer requirements expressed in

non-product terms and extrapolates specific features that can be developed. This can be a useful

exercise in a sprint review meeting. It allows the team, along with the product owner, to brainstorm a

solution from a requirement often expressed in a generalized way

Analyze:

After having information about what is important to address (determined in Define Phase through

VOC) and translating customer requirements into measurable characteristics (Measure), it is time to

prioritize what will be delivered and when. This is the crux of the Scrum product backlog and

planning for a sprint.

The matching of those features or requirements with a sprint and an Agile team still calls for some

estimation using past data regarding team capability (speed and accomplishments of recent sprints).

Attention to measurements and learning from patterns in past sprints are very important to Agile

teams.

Improve & Control:

Agile projects are fundamentally iterative projects that focus on building incremental code complete

in all respects in every iteration. A design decision made in one iteration – based on the

requirements as understood up to that point – may become a risk for a subsequent iteration as new

requirements are gathered.

6

Page 7: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

By maintaining a FMEA design and evaluating it in each iteration, the development team will be able

to ensure that many potential failure points are analyzed ahead of time. Team can evaluate the

defect, impact on the project, the possibility of occurrence and the risk. This can lead to a cost-

benefit discussion with the customer and potentially avoid costly implementations with little value.

OPE can be maintained and analyzed during retrospection meeting which will help the team to

identify efforts spent on core, non-core and non-value added activities. This will enable them to

focus more on value add activities resulting in further cost saving and productivity improvement,

Benefits by implementing Lean in Agile Projects

#1: Customer and Vendor tightly coupled:

Agile methodologies combined with Lean principles demands vendor to work closely with Business Users.

Voice of Customer is converted to CTQ and the same is verified during review/demo, hence end product

is a lot more likely to meet users’ real needs.

#2: Risks are uncovered and mitigated on time:

Lean software development enhances problem solving attitude and Agile promotes Time box activities

which will help developers to anticipate issues/risks that otherwise could be detected only a few days prior

to final product deployment.This way problem, issues and risks will not have major impact as they would if

accumulated until the end of the project - when a solution may even be impossible to find and which will

also reduce reprioritization of story points

#3: More Value Sooner:

The combination of Lean and Agile will help the team to deliver most prioritized features decided by

business within stipulated time by removing waste and unwanted activities which reduces pressure of

delivery by 2/3 weeks.

#4: Confidence booster:

One of the advantages of combining Lean to Agile is that the team constantly identifies opportunities for

improvement that they can implement themselves that allows talented and intrinsically motivated people

to shine.

7

Page 8: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

Constraints:

Agile development practices offer undeniable benefits: faster time to market, better responsiveness to

changing customer requirements, and higher quality. However, agile practices have been defined and

recommended primarily to small teams. Solution to this is to use Scaled Agile Framework which is a

combination of Agile and Lean. Subsequent section of the paper describes how Agile can be scaled at

enterprise level.

SAFe framework

The Scaled Agile Framework provides a recipe for adopting Agile at enterprise scale.SAFe tackles the

tough issues – architecture, integration, funding, governance and roles at scale.There are three levels in

SAFe: A. Team B. Program C. Portfolio

The Team Layer

At the Team level, SAFe recommends use of Scrum plus eXtreme Programming technical practices to

ensure high quality.

Primary responsibilities – 

Each Agile Team has a Product owner and Scrum Master and works in Sprints to deliver new

architecture and User Story functionality.

In addition Agile Teams collaborate in Release Train Planning and each has its own Team

Backlog and PSI Objectives.

8

Page 9: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

In the SAFe framework are mandated common cadence (all teams within a Program work on the

same 2 week sprint/iteration cycle) and the “Hardening, Innovation and Planning” or HIP sprint

which occurs every 5 Iterations.  

The HIP sprint serves several purposes, but primarily aims to provide a bit of a breather for teams

(supporting sustainable pace), permits teams to work on the stories that they believe will add

most value to the platform and provides time for participation in planning for the next release.

Roles at the Team Layer:

Product Owner -The Product Owner is the member of the team responsible for both

defining and prioritizing the Team Backlog

Scrum/Agile Master – Assures that the team follows the rules of Scrum/Agile by :

1. Facilitating the team’s progress toward the goal

2. Leading the team’s efforts in continuous improvement

3. Enforcing the rules of the Agile process

4. Eliminating impediments

Developers and Testers- Everybody tests. Everybody codes.

Program Layer

9

Page 10: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

The Program level provides the essential glue to ensure that the work of the Agile teams is aligned with

the organization’s strategic Vision and Roadmap for each Investment Theme.

Primary responsibilities – 

Program level Product and Release Management is designed to help prevent the work of

multiple Agile teams becoming mis-aligned and difficult to integrate.

At the Program level business and architectural Features are defined and ordered in a

Programmed Backlog.

Release ‘Train’ Planning is performed by teams together on a regular basis, typically every 2-3

months. Potential Shippable Increments (PSIs) of business functionality are used for planning

with Hardening/Innovation/Planning Sprints used as necessary to ensure delivery on demand.

The evolving architecture necessary to support new business functionality is also planned and

developed ahead of the business functionality as an Architecture ‘Runway’ that it can ‘land’ on.

In addition a System Team is often established to create initial infrastructure and then support

and share the Agile teams’ system-level continuous integration and end-to-end testing efforts

Roles at the Program Layer:

Product Manager -The product manager at the program level is analogous to the

product owner at the team level. They have content authority over the program

backlog – deciding and prioritizing what the system will do.

System Architect - The system architect has design authority. There are

architecture-specific backlog items that find their way into the program level

backlog.

Validate user experience via user testing ; Assist in UX system testing ; Share UX

guidelines and best practices across trains ;Participate in program and team level

planning and demos

The Release Train Engineer acts as a Uber-Scrum Master at the program level :

Assist program execution and tracking ; Coordinate all of the train activities

Escalates impediments and helps manage risk; Drives program-level continuous

improvement

Agile Release Trains –These are self-organizing teams of agile teams, reliably

and frequently delivering enterprise value.

Release Management Team - Responsible for scheduling, managing and

governing synchronized release

DevOps Team -Development departments are driven by user needs for frequent

delivery of new features, Operations departments focus more on

10

Page 11: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

availability, stability of IT services and IT cost efficiency.

These two contradicting goals create a “gap” between Development and IT

Operations, which slows down IT’s delivery of business value DevOps team is to

fix this situation

System Team -Team is responsible for building the development infrastructure

and managing development environments. The System team stages the system

sprint demo which is a compilation of Team efforts and assists with test

automation and continuous integration

11

Page 12: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

The Portfolio Layer

At the top level in SAFe the Portfolio Management function turns the organization’s strategy into a set of

investment themes, typically for the next 6-12 months. Business and Architectural Epics to support each

Investment Theme are defined on a Portfolio Backlog of large scale development Programs which will

span multiple releases. A Kanban-based pull system is used to manage the flow of epics and ensure that

the economic basis for decision making is quantitative and transparent.

Primary responsibilities- 

Need to identify Value Streams that can be initiated as programs for delivery by Agile Release

Trains

Manage the funding of the Release Trains to keep them on the rails

Responsible for definition and management of Business and Architectural Epics that run across

value streams and need to be managed at the Portfolio level

Responsible for collecting Metrics throughout the system that help to inform Portfolio

Management.

Roles at the Portfolio Layer:

Program Portfolio Management- Will be taking care of Strategy& Investment Funding .Also

Program Management will be done at Portfolio Level

Epic Architect - The Enterprise Architect works with business stakeholders and System

Architects to drive holistic technology implementation across programs. Within the context of

the Framework, the enterprise architect is focused primarily on the following responsibilities

Epic Owner - The Epic Owner is responsible for driving individual Epics from identification,

through the analysis process, to the go/no go decision making process of Program Portfolio

Management, and when accepted for implementation, working with the Release Train

development teams and Product Management to initiate the development activities necessary

to realize the business benefits of the epic

12

Page 13: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

The SAFe Way to Be Lean

13

Page 14: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

Lean thinking is important for scaling agile:

SAFe synchronizes the alignment, collaboration, and delivery of large numbers of agile teams across

enterprise and employs key Lean principles to underpin it constructs .SAFe is fundamentally based on

five Lean practices

1. The Goal: Value

SAFe inherently supports enterprise value streams which document how value flows through an

organization Value stream represents all the activities that contribute to value delivered to a Customer.

Agile programs also known as Agile Release Trains (ARTs), are the regular, predictable value delivery

mechanisms that realize this value via collaborative program and team objective.

2. Foundation: Leadership

Effective managers must be trained in the principles of Lean Thinking .Managers, in turn primarily develop

people, who ultimately create and deliver solutions.Specifically,Product managers,Product Owners and

Scrum Masters operate as servant leaders and empower their teams to deliver value in the fulfillment of

business objectives.

3. Respect for People

Empowerment of teams to continuously improve the way they work employees are inherently motivated to

solve problems and create quality solutions when empowered to do so.Building employee and business

14

Page 15: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

partnerships based on transparency,trust and mutual respect at all levels of the organization.

4. Kaizen

Kaizen translates as “Change to become good”. Lean enterprise value that represents driven,

5. Product Development Flow

The principles of product Development Flow created a powerful mental model that SAFe uses to apply

lean flow principles to software development.

A. Take an Economic View

At Portfolio Level, Portfolio Epic Kanban System strategic investments themes and lightweight

business case are used to make economic decisions and impacts visible at the enterprise level.

Weighted Shortest Job First (WSJF) this is economic prioritization tool focuses on the cost of delay

(CoD).WSJF is a key concept to prioritizing flow of work within a 2-3 month time box.

B. Actively Manage Queues

Short queues are good based on Little’s Law; The more items we have queued in a system the

longer the average time each will take .Therefore, the longer the queue, the longer our client must

wait for new value Managing queues is very important for reducing wait time.

C. Understand and Exploit Variability

The Scaled Agile Framework accepts the fact that variability exists and attempts to leverage it by:

Limiting Team, Program and Portfolio to a finite size

Frequently re-planning to adjust and adapt

Using a Hardening Innovation Planning (HIP) sprint to promote innovations events that allow

teams’ freedom to use their experience and domain knowledge to discover and present

innovative ideas to the business.

D. Reduce Batch Sizes

A batch size reduction is achieved by having co-located, cross functional teams that delivers small,

potentially shippable increments of work (PSI)

E. Apply WIP Constraints

The more work in process results in multiplexing overhead, which can often run from 20 to50%.A

common mantra in many agile organization is “stop starting and start finishing” which implies that a

small amount of work should be driven to completion before starting any more work. In SAFe, WIP

is constrained at operational level.

15

Page 16: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

F. Control Flow Under Uncertainty: Cadence and Synchronization

SAFe uses cadence a regular rhythm to plan and deliver capability at sprint and PSI boundaries to

ensure that frequent and regular adjustments are made to the plan to help deliver predictable,

valuable results.

G. Get Feedback as Fast as Possible

A key lean principle is gathering feedback from all aspects of the software development process as

frequently and as fast as possible

Team level feedback is facilitated by small batch sizes, sprint retrospectives and technical

practices such as pair programming and automation testing.

At program level, feedback is gained from a fortnightly System Demo and the Inspect and

adapt (I& A) Workshop which is a program level retrospective designed to address and remove

systematic impediments.

Case where SAFe will save You:

Program wherein application consisting of multiple modules and technologies needs to be developed.

Each module belong to different subject areas hence developers with different skillset based on domain

would be needed. Delivering such project with multiple modules/technologies using Waterfall/Agile can be

a big challenge.

Major challenges that drove the need for change are:

Schedule slippage due to multiple streams working together

High number of defects due to late integration testing

Longer month release cycle; unable to respond to rapidly changing requirements.

Cross module communication to discuss dependencies and challenges at early stage of development

Continuous interaction with Architects/SMEs for resolving performance related issues

Benefits:

1. Reduce time-to-market

The agile development cycle uses the release train concept from SAFe.

Releases have a fixed date, and scope is selected and adjusted if necessary — in order to meet the

deadline. If a feature misses the train, it has to wait for the next train. Releases have smaller cycles as

product is developed based on prioritized features and exposed to user based on agreed timelines of first

16

Page 17: Presentation by lavika upadhyay

SAFE - The Quantitative way of achieving Process Excellence

iteration and probability of changes initiated in final release is very minimal due to continuous feedback

process. Complete product is available in final release

2. Significant Quality improvement:

As a result of earlier and more frequent integration testing (which is fundamental to the agile approach)

defects are uncovered and resolved faster giving customer confidence on final delivery.

3. Risks are uncovered and mitigated at early stages of iterations:

As development is iterative and time box in nature effort and schedule risk is out of question

Continuous testing cycle and involvement of roles like UX; technical architect reduces risk of not

meeting NFRs and performance criteria.

Continuous user reviews/feedback gives confidence that we are building right product

Conclusion:

To build complex software in a large enterprise with multiple teams working across geographies, using

traditional approach of product development might not give desired results like faster time to market, on

time delivery and defect free product. To achieve this all the levels like operations, management and

business should work collaboratively.

Integration of Agile and Lean brings these three levels together to achieve vision, mission and values in

small size projects. For a large scale projects SAFe framework promotes a shift from “command and

control” style of management to leadership which will give confidence to deliver faster and qualitative

results even at large scale.

References:

I. http://en.wikipedia.org/wiki/Agile_software_development

II. http://www.isixsigma.com

III. http://scaledagileframework.com/

IV. http://www.intland.com/solutions/by-discipline/safe/

17