Академический Документы
Профессиональный Документы
Культура Документы
2 Introduction
●● Waiting
●● Handoffs and task switching
2 Measuring waste and value chains ●● Motion
●● Extra processes
3 The seven key causes of waste in software development
●● Extra features
7 Conclusion ●● Partially completed work
●● Defects
Executive summary
This paper will explore how an IBM DevOps approach can help
Lean development is a culture; waste reduction is one of the
address these seven types of waste. IBM DevOps includes two
results. Removing waste can improve operational efficiency,
core tools:
but more importantly, it can shorten development cycles and
increase customer value.
●● IBM® Rational® solution for Collaborative Lifecycle
Management (CLM): a platform for a code creation pipeline
Shorter cycles can improve innovation, competitiveness, and
●● IBM UrbanCode: a platform for a code delivery pipeline
responsiveness in the marketplace. They can also provide a
valuable opportunity for learning and continuous improvement
for development teams. Measuring waste and value chains
Value chains help develop an understanding of how long tasks
Many businesses use IBM DevOps capabilities with lean take and how much waste is present in any aspect of work.
development principles to successfully reduce waste. Forrester Often, the following value chains have significant waste:
Consulting analyzed many IBM customers who use these
solutions and found developers, testers, and project managers
●● Moving new ideas into development
achieve time savings of 30 to 50 percent on communication
●● Getting sign-off on requirements
and collaboration activities alone.
●● Searching for project information
●● Setting up a test infrastructure
Deploying an application into test or production
Introduction
●●
●● Fixing defects
Waste reduction techniques make it possible for development
teams to spend more time doing productive work, reducing cycle
The value chain in figure 1 shows how a task—in this case,
times and increasing the amount of code that can be delivered in
fixing a defect—passes through a number of individuals or teams
a set timeframe.
until it gets completed. At each point the task is either waiting
to be worked on (waste, shown in red), or actions are being
taken to move it towards completion (effort, shown in blue).
IBM Software 3
Cycle time: 16 hours, 15 minutes Effort: 4 hours, 15 minutes Waste: 12 hours Efficiency: 26 percent
Over the length of the value chain, consider these measures: The seven key causes of waste in software
development
●● Cycle time = Effort + Waste 1. Waiting
●● Efficiency = Effort / Cycle time Waiting for infrastructure
The time it takes for a team to provision machines and deploy
Concentrating on reducing the average waste and effort across a software is often the cause of long periods of waiting.
value chain can make processes leaner and provide more value,
more quickly. Reducing waste should be a higher priority than Cloud technologies make it possible for teams to rapidly provi-
reducing effort, because it not only cuts the cycle time but also sion development, test and production infrastructure, potentially
increases efficiency. reducing waiting from days to minutes. Cloud strategies can
also provide access to production-like environments earlier in
IBM DevOps capabilities can be configured to calculate the the development and testing phases, which can drive defects
waste and effort at each stage of any value chain, and use these out sooner and reduce deployment risk.
measurements to drive improvements.
4 Seven ways to reduce waste and accelerate software delivery
IBM DevOps capabilities can automate application deployment. IBM DevOps capabilities help to reduce the handoff waste
One online retailer, for example, reduced the time for each between development and operations by enabling teams to:
deployment by 95 percent by using IBM DevOps.
●● Automate deployments
Waiting for other teams ●● Promote applications between environments
Teams often fail to prioritize work appropriately. Often there ●● Organize and manage large-scale releases.
is no simple way for a team to understand which aspects of its
work impact others. With IBM DevOps capabilities, team members from any team
can view information and follow changes in other teams, helping
IBM DevOps capabilities can raise the visibility of which tasks to save time. This transparency reduces the time wasted in hand-
are being blocked by other tasks, helping teams self-organize offs, because team members can see the information they require
to reduce waiting time. without having to disturb others for status updates.
Waiting for reviews to complete Handoffs between projects and later phases
Authors of requirements, design documents, code and software As well as waste within project teams, there can also be waste
assets often have to wait for reviews to finish before they can between projects, departments, and third parties. Handoffs
move forward. between teams can be wasteful:
IBM DevOps capabilities can help by centrally assigning these ●● An application is passed from the development team to
artifacts to reviewers, who are then notified and reminded auto- another team for deployment.
matically. Moreover, the status of any review can be seen at any ●● An application is passed to a support team with insufficient
time. documentation, so the support team must spend time figuring
out how it works.
2. Handoffs and task switching ●● An application needs to be upgraded, but the original require-
A handoff occurs when one team member hands off a piece of ments, design, tests, or even code can no longer be found.
work to another. Task switching is when an individual switches ●● An application needs to meet requirements that have already
between different tasks. been addressed when developing an earlier application, but
the designs, tests and code of the earlier project can no longer
Handoffs within project teams
be found.
Handoffs can introduce significant waste for several reasons:
Removing extra processes, particularly through automation, If a team’s work is spread across too many stories, testing might
can make it easier to implement smaller, more frequent releases, be left until very late in the iteration cycle. If defects are discov-
continuous integration, integration testing, test virtualization, ered when there is too little time to fix them, the iteration may
and automated testing. These practices can also reduce waste, end up not delivering any new functionality.
because they can reduce cycle times and enable more frequent
feedback. Therefore, within each iteration, the focus should be on finish-
ing each story in turn, with the team working on as few stories
5. Extra features as possible at any one time. This approach minimizes partially
Extra features are unnecessary features that take time and completed work and means that some completed code is deliv-
effort to design and develop, but deliver little value to project ered within each iteration or sprint.
stakeholders.
Again, IBM DevOps capabilities can help. Agile planning task-
IBM DevOps capabilities enable the business to collaborate boards can be used to help teams see where partially finished
around a set of high-level business ideas, prioritize them, man- work exists, and close it off as quickly as possible. Collaborative
age the approval processes, and commit them to development. development tools can also allow a greater number of developers
After the idea is in development, the business can view its to work on the same area of code.
progress across all the different teams involved.
7. Defects
This approach helps the business focus on the ideas that repre- Defects cause two kinds of waste: the waste in repairing the
sent the best investment. It also minimizes the number of items defect, and the waste caused by the software not working
that are developed, reducing both effort and waste. Meanwhile, correctly. The IBM DevOps approach helps avoid this by
the business retains the agility to respond to changing improving the quality of requirements and reducing the time
conditions. taken to find and fix defects—or in lean terms, improving the
efficiency of the defect value chain.
6. Partially completed work
Waste from partially completed work is the amount of effort The later defects are discovered, the more they cost to fix. To
invested in features that are not yet implemented. find defects earlier and reduce the waste associated with them,
it becomes necessary to test earlier and earlier in the lifecycle.
Using the waterfall development approach leads to a significant However, this can be difficult to achieve—particularly in integra-
amount of partially completed work, because no working soft- tion testing—because of the complexity of setting up all the
ware exists until late in the development cycle. Yet even with dependent applications.
an iterative approach, waste from partially completed work can
still be significant.
IBM Software 7
Re-test is
easier to run
as application is
deployed and ready
for testing
Cycle time: 4 hours, 30 minutes Effort: 3 hours, 45 minutes Waste: 45 minutes Efficiency: 83 percent
IBM Corporation
For more information Software Group
Route 100
For an in-depth discussion of how to shorten software delivery Somers, NY 10589
cycles by finding and reducing waste, please read this paper:
Produced in the United States of America
ibm.co/1nnHZ73 September 2014
IBM, the IBM logo, ibm.com, DOORS, Focal Point, Rational, Rational
To learn more about how IBM DevOps can help create leaner Team Concert, and urban{code} are trademarks of International Business
software development practices, please visit: ibm.com/devops Machines Corp., registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the web at “Copyright
and trademark information” at ibm.com/legal/copytrade.shtml
The performance data and client examples cited are presented for illustrative
purposes only. Actual performance results may vary depending on specific
configurations and operating conditions. It is the user’s responsibility to
evaluate and verify the operation of any other products or programs with
IBM products and programs.
Please Recycle
RAW14367-USEN-00