Anda di halaman 1dari 25

LAPSE

Lean Application in Software Engineering

A summer project report


submitted by

SANDEEP S JANNU
MS13A056

in partial fulfillment of the requirement for the award of the degree


MBA

DEPARTMENT OF MANAGEMENT STUDIES


(July, 2014)

TABLE OF CONTENTS
1
2
3
4
5
6
7
8

Executive Summary
Project Objectives
Project Scope
Understanding Lean
LAPSE Lean Application for Software Engineering
Lean Tools
Conclusion
References

Executive Summary

This project report provides an analysis and study of the Lean Methodology used mostly
in the manufacturing sector and finding relevance and applicability in the area of
Software engineering, hence we have named the project as LAPSE, Lean Applications in
Software Engineering. As part of this study we have analyzed different lean tools and
understood them in detail regarding the specific objectives, implementation steps and the
applications that could be mapped to software engineering processes.
Once the initial study was done, we further moved on to create a structured framework
for applying the same in the companies. As part of LAPSE we have suggested a two
phase implementation approach which would help the organization to achieve stability
and capability accordingly. Specific lean tools would be used to create a tailored program
for each organization so as to cater to its specific needs.
We have tried to bring in the scenarios in Software Engineering while discussing the
applicability but this project report can be bettered by bringing in all the applications and
by making it exhaustive. Hence one limitation of this report would be the application
scenarios which have been missed.

Introduction
4

KPMG is one of the leading provider of audit, tax and advisory services. It operates in 156
countries and has more than 155000 people in all the member firms around the world. It is a
trusted advisor to 82% of the Fortune 500 companies.
KPMG was established in India in September 1993, and has rapidly built a significant
competitive presence in the country. It operates from its offices in Mumbai, Pune, Delhi, Kolkata,
Chennai, Bangalore, Hyderabad, Kochi, Chandigarh and Ahmedabad, and offers its clients a full
range of services, including financial and business advisory, tax and regulatory, and risk advisory
services.
In India, KPMG has a client base of over 2700 companies. Its global approach to service delivery
helps provide value-added services to clients. The firm serves leading information technology
companies and has a strong presence in the financial services sector in India while serving a
number of market leaders in other industry segments.
KPMG differentiates itself from the other firms by differentiating itself from a rapid
performance-based, industry-tailored and technology-enabled business advisory services
delivered by some of the leading talented professionals in the country. Its internal information
technology and knowledge management systems enable the delivery of informed and timely
business advice to clients.
KPMG being a global company uses its reach and the very latest in knowledge-sharing tools and
communications, its teams create industry specific strategies that add real value to the clients. It
also

caters

to

the

different

sectors

suchas

Consumermarkets,

Defense,

Education,

FinancialServices, Technology, Media & Entertainment and etc.


Research is in many of these related areas on contemporary issues that plague the business
community such as the GAAP , Updates with the Accounting and Auditing ,Optimization in
Organizations to name a few.

Project Objectives
5

The objective of the project is to create a framework using the Lean Methodologies (a concept
well suited in the manufacturing sector) which can be implemented in various companies in the
ITES sector for improvement in their business processes.
This is being done by first of all understanding the principles behind lean methodology , the
different tools being used as part of the lean methodology by the various organizations and then
trying to create a program which can be implemented in a phased manner so that the companies
can be given a structured framework for improving upon their business processes. Also we probe
into the possibility of finding the applications of lean and mapping them to the software processes
including both the Engineering processes and the business processes.

Project Scope
The project was started as Lean competency Assessment Mentoring Program (LCAMP) where
the aim was to map the lean application and the competency of people in the organization .But
later the scope of the project was further moved to the area of applicability of Lean in
organizations specifically targeting the Software Engineering to improve the processes .Hence in
this project we have tried to create a program which can be implemented by the companies in a
structured way. As part of this study we have limited ourselves to covering the different lean tools
which find maximum usage in an IT scenario and hence while creating the program we had to
forgo many tools which were redundant in terms of the purpose they served.

Understanding Lean
Lean software development is a translation of Lean manufacturing and Lean IT principles and
practices to the software development domain. Adapted from the Toyota Production System. The
application of Lean principles to Software development process requires interpretation, and there
is more than one school of thought about the best interpretation of Lean Software Development.
Some focus on Lean principles applied to common development practices, some focus on
workflow management, others focus on complementary product development processes.

LEAN Software Development Principles


Lean software development is based on basic five principles which makes it a special way of
software development.

Specify value from the standpoint of the end customer by product family.
Identify all the steps in the value stream for each product family, eliminating every step and

every action and every practice that does not create value.
Make the remaining value-creating steps occur in a tight and integrated sequence so the

product will flow smoothly toward the customer.


As flow is introduced, let customers pull value from the next upstream activity.
As these steps lead to greater transparency, enabling managers and teams to eliminate further
waste, pursue perfection through continuous improvement

Implementation of the Framework:


7

The LAPSE framework would be implemented in the following four steps in a stage wise manner
where the competency and capability of the organization will be gauged and a relevant tailored
roadmap would be given to the organization for further improvement.

RGTI
aei
ncpa
ntaA
&ine
Sfam
uiln
pcy
ras
ti
is
o
n

i
n i
g
s

pt
o

t
s

t
s

Following activities would be covered in the four stages of the LAPSE program

Initiate the Assessment: Take all the employees into confidence, know the processes in the

organization and get the organization ready for the Gap Analysis.
Gap Analysis: Find out the gaps in the processes, areas of improvement by completely

analyzing all the processes and suggest areas of improvement.


Rectification : Fix the gaps in the processes , handhold the project teams in implementing the

solution
Training & Support : Train the employees in the areas that they lack expertise and provide
continuous support in maintaining it

LAPSE Lean Application for Software Engineering


This is a program designed to be implemented in the organizations so as to improve their
processes. It has been divided into two phases, i.e. phase I comprising of the preparatory and the
Stability stages and Phase II comprising of the Capability and the Improve phases.

LAPSE Phase I: Here the focus is to bring the organization to a predefined state of stability
from where it can be taken to the next stage. Five different lean tools would be used in the
Phase I of the programme. An overview and the application of the respective tools have been
listed out below.

LAPSE Phase II: Here the organization already has a stable process and this phase will enable it
to make the processes much more capable .In this phase four different lean tools would be used in

10

the

programme.

Lean Tools
As part of the LAPSE framework the different Lean tools were analyzed for practical
applicability into the Software Engineering processes and following is the overview, application
and the implementation of them.

5 S - Objectives

To reduce waste and optimize productivity through maintaining an orderly workplace to


achieve more consistent operational results

The 5 S framework has the following phases,

Sort (eliminate that which is not needed)

Set In Order (organize remaining items)

Shine (clean and inspect work area)

11

Standardize (write standards for above)

Sustain (regularly apply the standards)

5S Application

Configuration Management

Eliminate the unused work products or configuration items such as the


Installation logs, test tools , hardware and equipment,etc from the working
environment

Set the configuration items in order by having them all accessible in the project
environment

Update the controlling changes ,provide accurate status and current configuration
data to developers, end users, and customers

Have a benchmark for the maintaining the configuration items in the work
environment

Achieve this benchmark and improve upon the above process

12

Quality Management System

Filter and select the objectives of Quality relevant to the organization

Prioritize and structure these objectives and come up with the Quality policies
,manuals

Set up the Quality processes in an organization and also ensure that the
compliance towards the Quality policies

Set up benchmarks such as achieving certifications such as CMMI, ISO,ITIL,etc


at organization level

Sustain these practices and continuously improve

In software development one or more phases of the 5S framework can be effectively


implemented to a particular process

Sort

Requirement Analysis - Build nothing more than the customer requires.


Deconstruct user requirements into Minimum Marketable Features (MMFs).
Dont engage in activities that result in zero value to the product or the customer

Set in order

Scheduling , Project Planning - Organize team and projects to optimize flow of


work and minimize the duration of work in process

Shine

Configuration Management - Archive and remove unused or partially completed


systems, features, and components.

Software Design &Coding - Drop obsolete database tables, foreign keys, etc.
Remove superseded code. Leave nothing in the environment that doesnt add
value

Standardize

Software Design & Coding - Within the software everything should be handled in
a standardized way. So the architecture should define standards and also the
specific design.

13

For E.g. it could be a standard that all components of a larger system


communicate to each other with a REST interface only.

Sustain

This phase is where 5S has now to keep the state as seen in the previous phases
and to even improve it. Also perform regular monitoring of performance using
the metrics

FMEA - Failure Mode and Effects Analysis


Overview

A systematic technique for failure analysis

Is a powerful method for understanding potential issues and problems to processes before
they happen.

It is a forecasting tool and allows to design quality and safety into a product and a process
by eliminating the possible problems that could happen.

As the group identifies risks, a value is attached to each of 3 required parameters for each
risk. Those parameters are:

The severity of the failure (Severity)

The likelihood of a failure occurring (Occurrence)

The likelihood of a failure being detected (Detection)

Advantages of FMEA

Smooth production processes , reduce costs ,long lasting product can be


produced ,minimize product failures, early risk identification, track process
improvements

FMEA Implementation & Application


FMEA can be implemented in the following steps

Review the process

Identify failure modes

List the effects and causes

14

Give each item a severity score (1 to 10)

Give each item an occurrence score(1 to 10)

Give each item a detection score (1 to 10)

Calculate Risk priority number

Develop an action plan (Mitigation Plan)

Value Stream Mapping


Objective

Value Stream Maps exist for two purposes:

To help organizations identify and end wasteful activities

To find problems & find a more efficient process

The end goal of the technique is to make the company "lean," meaning free of wasted
effort

As part of VSM any process will be segregated into two

Value-added

Non value-added

VSM results in an optimized process by removing the non-value added activities

VSM is a

15

VSM-Application

Technical Solution

First the process area ,i.e. Technical Solution is analyzed to understand the
process

The activities are then divided into

Value added : Specific code features the customer wants, change requests

Non-Value added : Errors ,Defects, Communication issues, delays

Specific targets for reducing these non-value added activities such as targeted
Review effectiveness, no of defects ,Cost of Quality are set up

16

These non-value added activities

are then improved by applying specific

strategies such as employing reusable components, or tools or training the


resources, etc.

Organizational Process Performance & Quantitative Project Management

Identify the specific process or the metrics such as quality , Productivity, etc.
which needs to be improved

Collect the present data of these metrics and capture the present performance

Set the benchmark for the Quality metrics that the organization wants to achieve

Come out with strategies to improve these specific metrics

Implement the strategies so as to achieve the desired goal by creating value

Poka Yoke
Overview

Poka-yokes are mechanisms used to mistake-proof an entire process

It ensures that proper conditions exist before actually executing a process step, preventing
defects from occurring in the first place

It prevents problems by making products less prone to misuse

Poka-yoke can be classified into


Prevention-Based Poka-Yokes These sense an abnormality that is about to
happen, and then signal the occurrence or halt processing
o

Control Method - This method senses a problem and stops a line or


process, so that corrective action can take place immediately, thus
avoiding serial defect generation

Warning Method - This method signals the occurrence of a deviation or


trend of deviations through warning signal but does not shut down the
process

Detection-Based Poka-Yokes They prevent defects them from flowing to


downstream processes and multiplying the cost of non-conformance

17

Poka Yoke Implementation


Procedure to implement Poka-Yoke is as follows

Define the potential Errors or mistakes

Identify Root causes

Develop ways to prevent errors

Develop ways to detect errors

Create & test solution

Implement Solution

Poka Yoke Applications

In Requirements Management & Technical Solution

Following steps can be taken in Software project for defects detection

List all user scenarios or end-to-end test cases for the application.

Analyze all these user scenarios by asking 5-whys questions to understand the
ways these scenarios can fail.

Design and apply a Poka Yoke technique to avoid the possible problems (e.g. this
design could be a simple unit test to check if any function written is working
properly or not).

Make sure the technique designed to avoid the defect is working properly by
giving errors or warning message for incorrect input or handing of the user
scenario

Measure the success of this Poka Yoke process. Check if this technique has really
prevented or caught defects when happening (by using metrics)

Andon
Overview

A system to notify management, maintenance, and other workers of a quality or process


problem.

18

The system may include a means to stop the process so the issue can be corrected.

Some modern alert systems incorporate audio alarms, text, or other displays

Andon - Application

Integrated Project Management

Define the relevant project metrics that is to be tracked

Track the metrics at regular milestones

Compare against the set benchmark

Signal the abnormality in health if any for further action

Risk Management

Set-up a process in place for monitoring the risks

Communicate & discuss all the project information among all stakeholders

Identification of Risks using FMEA

Use an Andon system to communicate the risk and the severity for further action

Just-In-Time (JIT)
Overview

Just in time is a strategy that focuses on reducing in process inventory

Here the worker gets the materials just before he has to start his respective work, and this
ensures that the whole process is streamlined and works in a perfect flow.

The system starts its transformation from push process to pull process.

19

JIT implementation

The JIT implementation steps are

Develop people

Eliminate waste in all areas

Optimize the process flow

Increase quality

Improve continuously

JIT Application

In the waterfall model the buildup of intellectual inventory is seen in the various life
cycle stages

Inventory of requirements is created before the product can be designed

Inventory of design is built before engineers can code

Engineering produces an inventory of untested/buggy code before QA can test

QA builds up an inventory of defects for engineering to go back and fix

Using a JIT system this intellectual inventory=waste can be reduced to a minimum

For e.g. JIT Requirements Analysis, Product Integration

20

Just-in-Time Requirements Analysis is the antithesis of traditional analysis.

Develop people

Employees are trained on the new process of requirements analysis &


management

Eliminate waste in all areas

Requirements are continuously analyzed and defined throughout the life


cycle of a project

Optimize the process flow

Requirements are only analyzed and defined when they are needed for
planning or development and only at the level of detail required

Increase quality

Will result in shorter project life cycle, better requirements, less risk, and
an evolving baseline that meets the changing business needs of customer

Improve continuously

Continue this process again improve continuously

Kanban
Overview

Kanban is a scheduling system for lean and just-in-time (JIT) production

Kanban's maintain inventory levels; a signal is sent to produce and deliver a new
shipment as material is consumed.

The Kanban method reduces risk and increases flexibility ,resulting in a more resilient
development cycle

Benefits of Kanban :

Optimize existing process

Improve lead time predictability

Deliver with higher quality

Improve employee satisfaction

Kanban -Implementation

Following five core principles enable the Kanban implementation

Visualize the workflow

Limit Work-in-progress

21

Measure and manage flow

Make process policies explicit

Improve continuously

Kanban is combined with JIT in Requirements Management & Product Integration

Kanban method takes an existing software development process and reveals details about
the current process providing visibility

The software process can be visualized by using the Kanban board. This helps to
understand the flow of the process

The limit on the work-in-progress constrains how many work items are there in
each of the software development life stages

Hence the delay of a work item at any of the life cycle stages will lead to a
blockage and hence drives collaboration in the team to resolve the blockage

Next we ensure that the work items are moving through the development process
in a flow without any bottleneck. For e.g. flow can be affected because of
ambiguous requirements, dependencies or approvals

Now that the flow is achieved explicit understanding of the policies is undertaken
so that the project team collaborates well

Kanban can be then coupled with other models such as Waste reduction or
Systems thinking to see opportunities of improvement

Kaizen
Overview

Kaizen refers to a philosophy or practices that focuses upon continuous improvement of


any process

While kaizen usually delivers small improvements, the culture of continual aligned small
improvements and standardization yields large results

It is designed to address a particular issue over the course of some time and is referred to
as a "kaizen blitz" or "kaizen event".

The format for kaizen can be individual, a small group, or a large group

Kaizen - Implementation

Kaizen can be implemented in the following steps

22

Standardize an operation and activities

Measure the operation (use metrics)

Gauge measurements against requirements.

Innovate to meet requirements and increase productivity.

Standardize the new, improved operations.

Continue cycle

Kaizen Application

Kaizen can be implemented in any process to improve it.

Once the other Lean tools are implemented Kaizen can be parallely taken up so as to
achieve greater results

For E.g. Kaizen can be implemented in improving the Review process in software
development as follows

Standardize an operation and activities

Generate a repeatable process for the review process for a software


project

Measure the operation

Use metrics such as review effectiveness of code , design , requirement


analysis etc.

Gauge measurements against requirements.

Collect data on the metrics defined in the above step

Innovate to meet requirements and increase productivity.

Bring in solutions such as better estimation techniques, improving code


quality, etc.

Standardize the new, improved operations.

Implement the selected solution and redefine the review process

Continue cycle

Repeat the whole process continuously for better results

Conclusion
23

At the end of the project period I was successful in understanding the Lean principles and the
different Lean tools in detail, covering all the overview, implementation and the application
aspects. From the study and analysis of various lean tools we shortlisted few tools which would
be relevant for usage in the Software Engineering Environment. Hence using these tools we have
tried to create a framework which can be implemented in a structured manner in any kind of IT
organization. My contribution was in terms of understanding the lean tools and then mapping
them back to the practical applications in Software Engineering .The major takeaways from this
project is the learning of the lean tools, the different frameworks such as CMMI, ITIL, PCMMi in
detail wherein we understood all the process areas and the practices of these different frameworks
and their implementation and practical mapping to the Software engineering and the Business
processes. I also a got an overall understanding of the different functions and the different service
lines in KPMG and the way the organization works. The major limitation of this project is that the
practical applicability of the LAPSE framework that we have created could not be tested in real
and also the applications and scenarios listed as part of the project are not exhaustive .Hence the
project can be bettered by analyzing and making the applications exhaustive so that all scenarios
can be captured and modelled as part of the framework.

References

Lean Enablers for Engineering Programs , Lean Advancement Institute


http://www.lean.org/
http://www.leaninstitute.in/
http://www.sei.cmu.edu/cmmi/
http://whatis.cmmiinstitute.com/
Harvard Business Review, Lean Consumption, James Womack, Daniel T. Jones, March 3,

2005.
Applying Lean Thinking To It, Forrester Inc, Alexander Peters, Ph.D., Alex Cullen, Tim
Degennaro. January 4, 2008.

Lean IT: Waste Not, Want Not, Ca, Peter Waterhouse, November 2008.
The case for Lean IT , David Hurwitz
People CMM as a contributor to other Models and Frameworks , SEI Carnegie Mellon

24

Best of Everything , ITIL , CMMi ,Lean Six Sigma , SEPG 2008 Tampa FL
Wikipedia.org

******************End of Report******************

25

Anda mungkin juga menyukai