SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
C TT OT
  U I C SS
 B A P YN
  Y P L IG
LA P I CP E
 E N RN ILS
White Paper




              Cutting IT Costs by Applying
              Lean Principles
              Software Measurement
              for Lean Application Management

              IT organizations are experimenting with Lean techniques to reduce
              application costs and delivery times with mixed results. To achieve
              these objectives, IT must eliminate the largest source of waste in
              application development and maintenance—defects and the
              enormous rework they cause. This paper shows how focusing on
              the Jidoka pillar of the Toyota Production System, which is the
              use of automation to detect and eliminate defects early, attacks
              and reduces defects and rework. By applying the waste-reducing
              principles of Jidoka to development, maintenance, and the design
              of applications, IT can both cut costs and shorten time-to-service.




                             Dr. Bill Curtis
                             Senior Vice President and Chief Scientist, CAST
                             Director, Consortium for IT Software Quality
Cutting IT Costs by Applying Lean Principles
Page 2




                                   Dr. Bill Curtis, SVP and Chief Scientist at CAST, explains how the Lean
      Executive Summary
                                   practices pioneered in the Toyota Production System apply to the develop-
                                   ment and maintenance of application software, leading to decreased
                                   total cost of ownership and improved business responsiveness and
                                   operational dependability.


                                   The Problem
                                   •   IT organizations have been applying Lean practices to development
                                       and maintenance of application software, yet the powerful benefits
                                       have yet to be fully realized because they have not focused on the
                                       early detection and elimination of defects.
                                   •   Defects in source code and the rework they cause are the largest
                                       sources of waste in application development – accounting for 30%
                                       to 50% of development effort.
                                   •   As much as two thirds of all application maintenance effort can be
                                       classified as waste due to rework caused by defects and time
                                       spent trying to understand what is going on in poorly constructed
                                       applications.
                                   •   Over time, applications become less responsive and obese with
                                       code that is no longer needed, wasting machine resources.
                                   •   The fast pace and short release cycles of Agile truncates the time
                                       available for identifying and remediating structural problems in the
                                       source code of an application.


                                   The Solution
                                   •   By focusing on Jidoka, the pillar of Lean involving the automated
                                       early detection and elimination of defects, defects can be identified
                                       when they are injected into the source code and fixed quickly, rather
                                       than later in the life cycle when their repair is often 10 times more
                                       time-consuming and expensive.
                                   •   Eliminating the causes of defects and continually training developers
                                       for defect-free work can dramatically improve productivity and shorten
                                       time-to-release.
                                   •   In application maintenance, it is vital to address the changeability of
                                       code before its release to reduce the time needed to understand the
                                       application for subsequent releases, and sustain the quality of the
                                       application over its lifetime.
                                   •   Over an application’s operational life, you must continuously tune
                                       the performance of the code and manage application size,
                                       especially when deploying it in a cloud environment.
Cutting IT Costs by Applying Lean Principles
Page 3




Executive Summary (continued)      Key Takeaways
                                   •   Through adherence to the Jidoka component of Lean, the
                                       combination of Lean Application Development, Lean Application
                                       Maintenance, and Lean Application Assets provides the foundation
                                       for Lean Application Management.
                                   •   Software analysis and measurement is key to supporting Lean
                                       Application Management. The automated analysis and
                                       measurement of structural quality of applications is critical to the
                                       overall cost of ownership, business responsiveness, and
                                       operational dependability required to run a Lean Enterprise.
                                   1. Lean processes work at their most efficient when performed on
                                      Lean products. The best way to reduce waste is to design it out of
                                      the application from the beginning by driving design decisions
                                      based on prioritized quality goals.
Cutting IT Costs by Applying Lean Principles
Page 4




                                    I. How Lean Applies to Software Applications
            Contents
                                    For the past several years, IT organizations have been exploring the
I. How Lean Applies to Software     application of Lean practices pioneered in the Toyota Production System1,2
     Applications                   for automobile assembly to the development and maintenance of appli-
II. Lean Application Development    cation software. Its focus on empowered teams and process streamlining3,4
III. Lean Application Maintenance   has popularized Lean in the Agile Methods community. However, some
IV. Lean Application Assets         of the most powerful benefits of Lean have yet to be fully realized in
V. Lean Application Management      application development since the Agile community has focused more on
VI. References                      the just-in-time aspects of Lean rather than on Jidoka, the automated
                                    early detection and elimination of defects.

                                    Jidoka is one of the two pillars of the Toyota Production System that
                                    provides the foundation for Lean practices (Figure 1). Jidoka uses
                                    automation to detect defects early in the production process, as well as
                                    their causes so they can be identified and eliminated. The fifth principle
                                    of what has become known as the Toyota Way is to “build a culture of
                                    stopping to fix problems and get quality right the first time.”5 This principle
                                    had a profound effect on the productivity of automobile manufacturing, and
                                    has the potential to transform the economics of application development
                                    as well.




                                    Figure 1. The Toyota Production System
Cutting IT Costs by Applying Lean Principles
Page 5




                                    Jidoka can be implemented in an application portfolio through the practices
           Highlights               of Lean Application Management, which focuses on applying Lean methods
                                    in three areas: Application Development, Application Maintenance, and
An IT organization can establish    Application Assets. In the context of development and maintenance of
Lean Application Management by
                                    business applications, Jidoka involves the use of technologies such as
automating software measurement
                                    static analysis to identify defects when they are added to the source
that supports key Lean practices.
                                    code, so they can be fixed before being passed on to a later life cycle
                                    phase where their repair is much more expensive. The sections that
                                    follow describe how an IT organization can establish Lean Application
                                    Management by automating software measurement that supports key
                                    Lean practices in each of these three areas.



                                    II. Lean Application Development
                                    The largest opportunity for improving quality and productivity during
                                    application development is by eliminating its largest sources of waste—
                                    defects and the rework they cause. In many organizations, 30% to 50%
                                    of development effort is devoted to rework7, 8. These staggering numbers
                                    are exacerbated by the fact that defects become 10 times more expensive
                                    to fix for each major phase of the software life cycle they slip past. Under
                                    these circumstances, productivity is largely determined by quality.

                                    Before the Toyota Production System, 25% of the effort in traditional mass
                                    production automobile manufacturing was devoted to fixing defects in
                                    fully assembled automobiles at the end of the production line1. Defects
                                    that would have been inexpensive to fix during assembly became expensive
                                    because large portions of the car had to be disassembled to make the
                                    needed repairs. Lean practices in the Toyota Production System virtually
                                    eliminated rework areas at the end of production lines, contributing
                                    heavily to Lean’s dramatic improvements in productivity, quality, and
                                    time-to-market over traditional mass production.1

                                    The level of rework in software applications is actually worse than that
                                    observed in traditional automobile assembly (Figure 2). As in mass
                                    production automobile manufacturing, rework in application development
                                    piles up at the end of the development cycle, causing delays and often
                                    throwing the project into chaotic thrashing to get the application sufficiently
                                    stable for release. This rework is manifest in the continuing cycle of
                                    testing, recoding defective components, and then retesting them to find
                                    even more defects.
Cutting IT Costs by Applying Lean Principles
Page 6




           Figure 2. Comparison of rework in traditional automobile assembly and software development

                                     Why doesn’t testing eliminate the rework problem? Modern testing
                                     practices are generally effective in detecting functional defects—deviations
                                     from what the customer wanted. However, testing is not as effective in
                                     detecting the non-functional defects that represent structural flaws in
                                     the construction of the application.9,10,11 These structural defects are
                                     difficult to detect through testing and are frequently the most expensive
                                     to fix because they involve interactions between multiple tiers of the
                                     application, which are often written in different languages and hosted on
                                     different platforms. Structural defects are at the root of most devastating
                                     operational problems such as outages, security breaches, data corruption,
                                     and performance degradation.9,10 Static analysis of the structural quality
                                     of business applications augments other quality assurance techniques
                                     such as testing and design inspections to eliminate such defects.
Cutting IT Costs by Applying Lean Principles
Page 7




                                     There are three main keys to eliminating rework (Figure 3) in Lean
                                     Application Development.




                  Figure 3. How structural analysis contributes to Lean Application Development

                                     1. Detect and remediate defects early: Every component added to the
                                        source code should be analyzed at build time when it is integrated
                                        with the evolving application to see its impact on the system as a
                                        whole. Detection and repair at this point can be an order of magnitude
                                        cheaper than if these structural flaws slip into the final stages of testing,
                                        when they are deeply embedded in the application and a larger portion
                                        of the code has to be torn down, fixed, and rebuilt. If structural defects
                                        escape into operations where multiple versions of the software are in
                                        use, the cost of correcting them can expand by an additional order
                                        of magnitude.

                                         Early detection of defects is especially critical when using Agile. Agile
                                         methods are popular development techniques, but their fast pace
                                         and short release cycles truncate the time available for identifying
                                         and remediating the structural problems remaining in the source
                                         code. Although Agile teams typically rebuild their application daily to
                                         integrate newly developed components, their short schedules do
                                         not allow time for evaluating structural quality at the application level
                                         unless the analysis is automated. Agile teams benefit from detecting
Cutting IT Costs by Applying Lean Principles
Page 8




                                         structural defects early so the most severe ones can be remediated
            Highlights                   before release if a schedule buffer provides time for addressing
                                         them. Addressing structural problems prior to release helps prevent
Organizations that rigorously apply      waste in maintenance.
Lean techniques have been able
to reduce rework by 80% to 90%.
                                      2. Eliminate the causes of defects: When structural quality diagnostics
                                         are coupled with a powerful root cause analysis method such as
                                         Orthogonal Defect Classification12, application teams can identify
                                         the process sources of structural defects so that their root causes
                                         can be eliminated. Typically an organization will not investigate the
                                         causes of every defect, but instead focus on those that recur most
                                         frequently or have the potential for devastating impact. While early
                                         detection minimizes rework, root cause-based process improvement
                                         virtually eliminates it.

                                      3. Train developers continually for defect-free work: Techniques such
                                         as Pareto charts of structural quality violations identify the most
                                         frequent types of structural defects being injected into applications.
                                         The results can be fed into training activities to help developers avoid
                                         these recurring structural defects in the future, further eliminating
                                         sources of rework. Some projects have a formal launch process for each
                                         phase of development, giving the opportunity to review current issues
                                         and the types of errors to be avoided during the next phase. Developing
                                         workflow and a knowledge center to classify and guide developers
                                         in understanding and remediating structural defects can raise the
                                         bar on the performance of an application development organization.

                                      Combinations of these three Lean techniques enabled by software
                                      analysis and measurement technology can reduce, and in many cases
                                      eliminate, the structural defects that cause the most severe rework in
                                      application development. Organizations that apply these techniques
                                      rigorously have been able to reduce rework by 80% to 90%13, dramatically
                                      improving productivity and shortening time-to-release.



                                      III. Lean Application Maintenance
                                      The two primary sources of waste in application maintenance are rework
                                      due to defects or badly constructed software and the staggering time
                                      maintenance staff spend trying to understand what is going on in poorly
                                      constructed applications. Correcting defects frequently accounts for as
                                      much as one third of all postrelease work, and time spent understanding
                                      the code has been shown to account for as much as half of all the effort
                                      expended by maintenance staff14,15 (Figure 4). When the overlap between
                                      these two activities is removed, as much as two thirds of all maintenance
Cutting IT Costs by Applying Lean Principles
Page 9




                                   effort can be classified as waste. Since these sources of waste result
                                   from poor application design and coding, they must be addressed as a
                                   critical focus of Lean Application Maintenance.




                              Figure 4. How maintenance staff spend their time15

                                   By identifying structural defects that have a high probability of causing
                                   operational problems and result in maintenance rework, software analysis
                                   and measurement provides strong support for Lean Application Main-
                                   tenance. In addition, by addressing the changeability of the code before a
                                   release, the time spent understanding the application can be dramatically
                                   reduced in maintaining subsequent releases. Similarly, by sustaining
                                   the quality of the application over its lifetime, IT can avoid degraded
                                   applications and costly redevelopments.

                                   There are three main keys to eliminating waste (Figure 5) in Lean
                                   Application Maintenance.

                                   1. Improve application changeability: The maintenance team can identify
                                      the most serious structural flaws degrading the changeability of an
                                      application using diagnostics from structural analysis of the application,
                                      such as high coupling among components especially across application
                                      layers. Prioritizing and remediating the most severe changeability
                                      problems will reduce the time that maintenance staff spends trying
                                      to trace control and data flows through the code. Improving the
                                      changeability of an application not only slashes the time wasted on
                                      understanding unnecessarily complex code, but also shortens imple-
                                      mentation and verification cycles. As a result, the amount of functionality
                                      delivered in a single release can be as much as doubled.

                                       In addition, as the ease of changing an application improves, fewer new
                                       defects will be injected into the code during maintenance by eliminating
Cutting IT Costs by Applying Lean Principles
Page 10




                                         the misunderstanding of interactions among application layers. Lessons
                                         learned in improving changeability can be used in training developers
                                         how to produce more changeable architectures and code.




                  Figure 5. How structural analysis contributes to Lean Application Development

                                     2. Reduce defect-fixing releases: IT organizations must too frequently
                                        plan releases devoted primarily to fixing defects in the application. The
                                        defects that take the longest to fix in maintenance are frequently
                                        structural, since such flaws are harder to detect through traditional
                                        testing. Implementing software analysis and measurement as a
                                        component of the development process helps dramatically reduce
                                        the number of structural defects that slip into operational software. By
                                        detecting and eliminating these defects before release, it is possible
                                        to reduce defect fixing in maintenance to near zero in a mature
                                        development environment13. The percentage of maintenance effort
                                        devoted to implementing new business functions is dramatically
                                        increased as the releases of an application devoted to defect fixing
                                        are eliminated.

                                     3. Sustain lifetime quality: To track and sustain the quality of an appli-
                                        cation throughout its lifetime, software analysis and measurement
                                        should be implemented as a standard component of the maintenance
                                        process. The structural quality of many applications degrades
                                        continually over a succession of maintenance releases, to the point that
                                        management has to weigh the tradeoff between the increasing time
Cutting IT Costs by Applying Lean Principles
Page 11




                                            and expense of adding functionality versus the cost of redeveloping
            Highlights                      the application. The quality of an application can be sustained across
                                            its lifetime by measuring the status of various quality attributes
Technical debt is the cost of fixing        during maintenance and remediating the quality problems created
structural problems that are not            by maintenance actions, eliminating the need for extremely costly
fixed before release, but can cause         redevelopments.
problems in the future.
                                        All three of these aspects of Lean Application Maintenance involve
                                        reducing the technical debt that builds up in applications. Technical debt
                                        can be defined as the cost of fixing the structural problems in source
                                        code that are not fixed before release, but will have to be corrected so
                                        they don’t cause operational problems or degrade the maintainability of
                                        the application. Technical debt has been conservatively measured to
                                        cost $2.82 per line of code, although the actual cost based on more
                                        realistic assumptions about time to repair defects is easily twice as
                                        high.16 Applications appear to differ in their technical debt based on the
                                        language in which they were implemented (Figure 6). Structural analysis
                                        and measurement provides executives with a way to measure the
                                        opportunity for cost reductions from applying the practices of Lean
                                        Application Maintenance.




                            Figure 6. Technical Debt measured in applications by language16
Cutting IT Costs by Applying Lean Principles
Page 12




                                        IV. Lean Application Assets
            Highlights
                                        Lean processes work at their most efficient when performed on Lean
The best way to reduce waste is to      products. The best way to reduce waste is to design it out of the appli-
design it out of the application from   cation from the beginning by driving design decisions based on prioritized
the beginning by driving design         quality goals. However, even when designed well, applications age and
based on prioritized quality goals.     can become less responsive and obese with code that is no longer needed,
                                        wasting machine resources. This excess is especially acute in a cloud
                                        environment where the application owner is being charged for both
                                        space and processing time.

                                        There are three keys to creating Lean Applications that eliminate waste
                                        (Figure 7).




                          Figure 7. How waste is reduced by creating Lean Application Assets

                                        1. Design for prioritized quality characteristics: The principles of Lean
                                           Product Development and Design for Six Sigma both encourage
                                           applications that are designed with quality priorities in mind. Quality
                                           characteristics such as Robustness, Changeability, Security, and
                                           Performance Efficiency should be prioritized for each application at the
                                           beginning of its development. Architectural and coding decisions
                                           should maximize the most important quality characteristics. These
                                           quality characteristics can be measured and analyzed during both
                                           development and maintenance to ensure the quality of the source
Cutting IT Costs by Applying Lean Principles
Page 13




                                       code is consistent with its quality priorities. Architectural and coding
           Highlights                  lessons from an IT organization’s application experience related to
                                       these characteristics should be captured for consideration when
An application’s code base should      making future design and coding decisions, since the most effective
be evaluated at each release to
                                       way to eliminate waste is to design it out of the application from the
detect code that is no longer
                                       beginning.
needed.

                                    2. Tune the performance of application code: Poorly designed and
                                       coded applications can waste expensive machine resources by
                                       requiring more processing than necessary. Structural analysis should
                                       be applied to detect poor coding and architectural practices that can
                                       dramatically affect processing requirements and time. Structural
                                       problems such as expensive calls inside loops, failure to properly
                                       index queries, and embedding functions inside ‘WHERE’ clauses
                                       can dramatically increase processing loads, requiring the acquisition
                                       of additional machine resources and slowing response times. In one
                                       example, a major multinational financial services company that started
                                       proactively measuring and remediating performance problems in their
                                       applications saw processing expenses reduced by roughly $10,000
                                       each month for a single application. Performance issues are especially
                                       acute in cloud environments where such problems can result in
                                       unexpectedly large bills.

                                    3. Manage application size: The size of an application should be
                                       continually monitored to ensure its growth is under control and fits
                                       within parameters appropriate for its environment. Automated measure-
                                       ment of code size can be done in both function points and lines of
                                       code to indicate the amount of code added, changed, or deleted.
                                       When these measures indicate that code growth exceeds allowable
                                       thresholds, corrective actions should be triggered. Further, the code
                                       base should be evaluated at each release to detect code that is no
                                       longer needed. Dead code throughout the application can then be
                                       scheduled for removal in an upcoming release. Removing dead code
                                       ensures that application growth and the machine resources needed
                                       to support it are consistent with the business requirements of the
                                       application. In addition to tracking application growth, these size
                                       measures will be important for evaluating maintenance productivity,
                                       as will be explained in the next section.
Cutting IT Costs by Applying Lean Principles
Page 14




                                         V. Lean Application Management
             Highlights
                                         Establishing a Lean IT organization requires rapid and continual feedback
Automated analysis and measure-          on the quality of the applications being placed in operation. The combination
ment of structural quality is critical   of Lean Application Development, Lean Application Maintenance, and
to run a Lean Enterprise.                Lean Application Assets provides the foundation for Lean Application
                                         Management (Figure 8), a critical step in turning an IT organization into
                                         a Lean Enterprise. By aggressively pursuing the Jidoka component of
                                         Lean, the analysis and measurement of applications provides a critical
                                         ingredient required to reduce many sources of waste associated with
                                         application development and maintenance.




                                         Figure 8. Lean Application Management


                                         The ability to continually monitor application productivity is another critical
                                         component of Lean Application Management. Productivity data provides
                                         insight into the effectiveness of Lean practices at the application, portfolio,
                                         and delivery center level. It is important to choose a consistent measure
                                         for the numerator of productivity measures – that is, for the size of both
                                         the application and the actual work accomplished during each release.
                                         When these size measures are fully automated, they can be evaluated
                                         consistently across all applications and used for comparisons across
                                         an application portfolio or between different delivery centers.
Cutting IT Costs by Applying Lean Principles
Page 15




                                   Consequently, the benefits of Lean practices and other improvement
                                   activities can also be assessed at the application, portfolio, or delivery
                                   center levels. These analyses provide the insight needed by application
                                   executives to target troubled applications or delivery centers, and allocate
                                   the resources required to optimize their cost structure and service to
                                   the business.

                                   Software analysis and measurement can be easily integrated into a
                                   disciplined software life cycle process. In an undisciplined environment,
                                   diagnostics can be used to motivate disciplined work by holding developers
                                   accountable for the quality of the applications they produce. In either
                                   environment, automated analysis and measurement of structural quality
                                   of applications is critical to the overall cost of ownership, business
                                   responsiveness, and operational dependability required to run a Lean
                                   Enterprise.
Cutting IT Costs by Applying Lean Principles
Page 16




                                   VI. Lean Application Management
                                   1. J.P. Womack, D.T. Jones, & D. Roos (1990). The Machine That
                                      Changed the World. New York: Free Press.
                                   2. J. Womack & D.T. Jones (1996). Lean Thinking. New York: Simon
                                      & Schuster.
                                   3. M. Poppendieck & T. Poppendieck (2003). Lean Software
                                      Development: An Agile Toolkit. Boston: Addison Wesley.
                                   4. M. Poppendieck & T. Poppendieck (2007). Implementing Lean
                                      Software Development. Boston: Addison Wesley.
                                   5. J.K. Liker (2004). The Toyota Way. New York: McGraw-Hill.
                                   6. J.M. Morgan & J.K. Liker (2006). The Toyota Product Development
                                      System. New York: Taylor & Francis.
                                   7. R. Dion (1993). Process improvement and the corporate balance
                                      sheet. IEEE Software, 10 (4), 28-35.
                                   8. B. Boehm (1987). Increasing software productivity. IEEE
                                      Computer, 20 (9), 43-57.
                                   9. D. Spinellis (2006). Code Quality. Boston: Addison Wesley.
                                   10. M.T. Nygard (2007). Release It. Raleigh, NC: The Pragmatic
                                       Bookshelf.
                                   11. D. Jackson (2009). A direct path to dependable software.
                                       Communications of the ACM, 52 (4), 78-88.
                                   12. R. Chillarege, et al. (1992). Orthogonal Defect Classification:
                                       Concept for In-Process Measurement. IEEE Transaction on
                                       Software Engineering, 18 (11), 943-956.
                                   13. M.C. Paulk, C.W. Weber, B. Curtis, & M.B. Chrissis (1995). The
                                       Capability Maturity Model. Boston: Addison Wesley.
                                   14. D.C. Littman, J. Pinto, S. Letovsky, & E. Soloway (1987). Mental
                                       models and software maintenance. Journal of Systems and
                                       Software, 7 (4), 341-355.
                                   15. M. Ben-Menachem & G.S. Marliss (2005). IT assets - control by
                                       importance and exception: Supporting the "paradigm of change".
                                       IEEE Software, 22 (4), 94-102.
                                   16. J. Sappidi, B. Curtis, & J. Subramanyam (2010). CAST Worldwide
                                       Application Software Quality Study2010. New York: CAST
                                       Research Labs.
Cutting IT Costs by Applying Lean Principles
Page 17




                                            About the Author
                                            Bill Curtis is an industry luminary who is responsible for influencing CAST’s
                                            scientific and strategic direction, as well as helping CAST educate the IT
                                            market to the importance of managing and measuring the quality of its
                                            software. He is best known for leading the development of the Capability
                                            Maturity Model (CMM) which has become the global standard for evaluating
                                            the capability of software development organizations.

                                            Prior to joining CAST, Dr. Curtis was a Co-Founder of TeraQuest, the
                                            global leader in CMM-based services, which was acquired by Borland.
                                            Prior to TeraQuest, he directed the Software Process Program at the
            Dr. Bill Curtis                 Software Engineering Institute (SEI) at Carnegie Mellon University. Prior
Senior Vice President and Chief Scientist   to the SEI he directed research on intelligent user interface technology
                                            and the software design process at MCC, the fifth generation computer
                                            research consortium in Austin, Texas. Before MCC he developed a
                                            software productivity and quality measurement system for ITT, managed
                                            research on software practices and metrics at GE Space Division, and
                                            taught statistics at the University of Washington.

                                            Dr. Curtis holds a Ph.D. from Texas Christian University, an M.A. from the
                                            University of Texas, and a B.A. from Eckerd College. He was recently
                                            elected a Fellow of the Institute of Electrical and Electronics Engineers for
                                            his contributions to software process improvement and measurement. In
                                            his free time Dr. Curtis enjoys traveling, writing, photography, helping
                                            with his daughter’s homework, and University of Texas football.
About CAST
                             CAST is a pioneer and world leader in Software Analysis and Measurement,
                             with unique technology resulting from more than $90 million in R&D
                             investment. CAST provides IT and business executives with precise
                             analytics and automated software measurement to transform application
                             development into a management discipline. More than 650 companies
                             across all industry sectors and geographies rely on CAST to prevent
                             business disruption while reducing hard IT costs. CAST is an integral part
                             of software delivery and maintenance at the world’s leading IT service
                             providers such as IBM and Capgemini.

                             Founded in 1990, CAST is listed in NYSE-Euronext (Euronext: CAS) and
                             services IT intensive enterprises worldwide with a network of offices in
                             North America, Europe, and India.




  www.castsoftware.com




                                                               North America            Europe
                                                               373 Park Avenue South    3, rue Marcel Allegot
  www.castsoftware.com                                         New York, NY 10016       92190 Meudon - France
                                                               Phone: +1 212-871-3330   Phone: +33 1 46 90 21 00

© CAST All Rights Reserved
L a nmo ea o t A T
 er    r bu C S




    w w c ss f aec m
     w .a tot r.o
              w
    bo .a tot aec m
     lgc ss f r.o
             w
w w fc b o .o c so q a t
 w . e o kc m/a tn u ly
    a                 i
w w sd s aen t a tot ae
 w . ie h r.e/ ss f r
     l         c    w
  w w t ie.o O Q a t
   w . t r m/ n u ly
       wt c         i

Más contenido relacionado

La actualidad más candente

Exploiting Tools for Faster, More Acceptable Process Improvement Initiatives
Exploiting Tools for Faster, More Acceptable Process Improvement InitiativesExploiting Tools for Faster, More Acceptable Process Improvement Initiatives
Exploiting Tools for Faster, More Acceptable Process Improvement InitiativesMahesh Singh
 
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...Kathy (Kat) Mandelstein
 
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT ijseajournal
 
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...Kathy (Kat) Mandelstein
 
IBM Social Business Agenda template
IBM Social Business Agenda templateIBM Social Business Agenda template
IBM Social Business Agenda templateFlávio Mendes
 
CMI Overview
CMI OverviewCMI Overview
CMI OverviewFungarten
 
UC2 International Deployment, Baltimore Society of Communications Technology ...
UC2 International Deployment, Baltimore Society of Communications Technology ...UC2 International Deployment, Baltimore Society of Communications Technology ...
UC2 International Deployment, Baltimore Society of Communications Technology ...Agustin Argelich Casals
 
Project and portfolio management
Project and portfolio managementProject and portfolio management
Project and portfolio managementLilian Schaffer
 
IBM TGMC Certificate
IBM TGMC CertificateIBM TGMC Certificate
IBM TGMC CertificateDipin Kanojia
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerKurt Solarte
 
Integrated ERP
Integrated ERPIntegrated ERP
Integrated ERPkprao1979
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalpsluaces
 
Business Value of App Structural Quality
Business Value of App Structural QualityBusiness Value of App Structural Quality
Business Value of App Structural QualityCAST
 
Multi Model Performance Improvement
Multi Model Performance ImprovementMulti Model Performance Improvement
Multi Model Performance ImprovementGeorge Brotbeck
 
Webinar: Increase technology Uptake with Software Usage Metering Tools
Webinar: Increase technology Uptake with Software Usage Metering ToolsWebinar: Increase technology Uptake with Software Usage Metering Tools
Webinar: Increase technology Uptake with Software Usage Metering ToolsOpen iT Inc.
 

La actualidad más candente (20)

Exploiting Tools for Faster, More Acceptable Process Improvement Initiatives
Exploiting Tools for Faster, More Acceptable Process Improvement InitiativesExploiting Tools for Faster, More Acceptable Process Improvement Initiatives
Exploiting Tools for Faster, More Acceptable Process Improvement Initiatives
 
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...
IBM Rational Software Conference 2009: Modeling, Architecture & Construction ...
 
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
 
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...
IBM Rational Software Conference 2009: Enterprise Architecture Management Tra...
 
IBM Social Business Agenda template
IBM Social Business Agenda templateIBM Social Business Agenda template
IBM Social Business Agenda template
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
CMI Overview
CMI OverviewCMI Overview
CMI Overview
 
UC2 International Deployment, Baltimore Society of Communications Technology ...
UC2 International Deployment, Baltimore Society of Communications Technology ...UC2 International Deployment, Baltimore Society of Communications Technology ...
UC2 International Deployment, Baltimore Society of Communications Technology ...
 
Project and portfolio management
Project and portfolio managementProject and portfolio management
Project and portfolio management
 
IBM TGMC Certificate
IBM TGMC CertificateIBM TGMC Certificate
IBM TGMC Certificate
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements Composer
 
Integrated ERP
Integrated ERPIntegrated ERP
Integrated ERP
 
Day 3 p5 - hp art
Day 3   p5 - hp artDay 3   p5 - hp art
Day 3 p5 - hp art
 
Agile development
Agile developmentAgile development
Agile development
 
Dev ops intro
Dev ops  introDev ops  intro
Dev ops intro
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity final
 
Business Value of App Structural Quality
Business Value of App Structural QualityBusiness Value of App Structural Quality
Business Value of App Structural Quality
 
Multi Model Performance Improvement
Multi Model Performance ImprovementMulti Model Performance Improvement
Multi Model Performance Improvement
 
Innovate presentation
Innovate presentationInnovate presentation
Innovate presentation
 
Webinar: Increase technology Uptake with Software Usage Metering Tools
Webinar: Increase technology Uptake with Software Usage Metering ToolsWebinar: Increase technology Uptake with Software Usage Metering Tools
Webinar: Increase technology Uptake with Software Usage Metering Tools
 

Similar a Cutting IT Costs by Applying Lean Principles CAST

Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Strongback Consulting
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
 
Planning for and assessing an itsm program
Planning for and assessing an itsm programPlanning for and assessing an itsm program
Planning for and assessing an itsm programTroy DuMoulin
 
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...Compuware APM
 
IRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET Journal
 
Application Management Framework
Application Management FrameworkApplication Management Framework
Application Management FrameworkRory Mackay
 
Amazing Winter Keynote - IT as a Team Sport
Amazing Winter Keynote - IT as a Team SportAmazing Winter Keynote - IT as a Team Sport
Amazing Winter Keynote - IT as a Team SportPaul Muller
 
Application management services overview
Application management services overviewApplication management services overview
Application management services overviewtuhinp
 
Making a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent TechnologyMaking a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent Technologydgalanti
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Fast-Track Solution to Transform Your Application Management Operation
Fast-Track Solution to Transform Your Application Management OperationFast-Track Solution to Transform Your Application Management Operation
Fast-Track Solution to Transform Your Application Management OperationInfogain
 
Improving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scaleImproving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scaleIBM Rational software
 
Lean Construction: From Theory to Implementation
Lean Construction: From Theory to ImplementationLean Construction: From Theory to Implementation
Lean Construction: From Theory to ImplementationAntonius Pompi Bramono
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 
HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization HCL Technologies
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...IRJET Journal
 
Five Principles for Application Life Cycle Management
Five Principles for Application Life Cycle ManagementFive Principles for Application Life Cycle Management
Five Principles for Application Life Cycle ManagementSriram Rajagopalan
 

Similar a Cutting IT Costs by Applying Lean Principles CAST (20)

Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
 
Planning for and assessing an itsm program
Planning for and assessing an itsm programPlanning for and assessing an itsm program
Planning for and assessing an itsm program
 
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
 
Application Modernization
Application ModernizationApplication Modernization
Application Modernization
 
IRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software Development
 
Application Management Framework
Application Management FrameworkApplication Management Framework
Application Management Framework
 
Rsc 03
Rsc 03Rsc 03
Rsc 03
 
Amazing Winter Keynote - IT as a Team Sport
Amazing Winter Keynote - IT as a Team SportAmazing Winter Keynote - IT as a Team Sport
Amazing Winter Keynote - IT as a Team Sport
 
Application management services overview
Application management services overviewApplication management services overview
Application management services overview
 
Making a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent TechnologyMaking a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent Technology
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Fast-Track Solution to Transform Your Application Management Operation
Fast-Track Solution to Transform Your Application Management OperationFast-Track Solution to Transform Your Application Management Operation
Fast-Track Solution to Transform Your Application Management Operation
 
Improving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scaleImproving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scale
 
Lean Construction: From Theory to Implementation
Lean Construction: From Theory to ImplementationLean Construction: From Theory to Implementation
Lean Construction: From Theory to Implementation
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization HCLT Whitepaper: Legacy Modernization
HCLT Whitepaper: Legacy Modernization
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...
 
Five Principles for Application Life Cycle Management
Five Principles for Application Life Cycle ManagementFive Principles for Application Life Cycle Management
Five Principles for Application Life Cycle Management
 

Más de CAST

Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsCAST
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsCAST
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportCAST
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCAST
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCAST
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCAST
 
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...CAST
 
Why computers will never be safe
Why computers will never be safeWhy computers will never be safe
Why computers will never be safeCAST
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeCAST
 
9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets9 Steps to Creating ADM Budgets
9 Steps to Creating ADM BudgetsCAST
 
Improving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsImproving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsCAST
 
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitDrive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitCAST
 
CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesCAST
 
Applying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityApplying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityCAST
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurementCAST
 
Cast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCAST
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysisCAST
 
Deloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtDeloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtCAST
 
What you should know about software measurement platforms
What you should know about software measurement platformsWhat you should know about software measurement platforms
What you should know about software measurement platformsCAST
 

Más de CAST (20)

Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systems
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST Highlight
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case Study
 
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
 
Why computers will never be safe
Why computers will never be safeWhy computers will never be safe
Why computers will never be safe
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in code
 
9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets
 
Improving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsImproving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based Contracts
 
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitDrive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
 
CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business Outcomes
 
Applying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityApplying Software Quality Models to Software Security
Applying Software Quality Models to Software Security
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurement
 
Cast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance Infographic
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 
Deloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtDeloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical Debt
 
What you should know about software measurement platforms
What you should know about software measurement platformsWhat you should know about software measurement platforms
What you should know about software measurement platforms
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Cutting IT Costs by Applying Lean Principles CAST

  • 1. C TT OT U I C SS B A P YN Y P L IG LA P I CP E E N RN ILS
  • 2. White Paper Cutting IT Costs by Applying Lean Principles Software Measurement for Lean Application Management IT organizations are experimenting with Lean techniques to reduce application costs and delivery times with mixed results. To achieve these objectives, IT must eliminate the largest source of waste in application development and maintenance—defects and the enormous rework they cause. This paper shows how focusing on the Jidoka pillar of the Toyota Production System, which is the use of automation to detect and eliminate defects early, attacks and reduces defects and rework. By applying the waste-reducing principles of Jidoka to development, maintenance, and the design of applications, IT can both cut costs and shorten time-to-service. Dr. Bill Curtis Senior Vice President and Chief Scientist, CAST Director, Consortium for IT Software Quality
  • 3. Cutting IT Costs by Applying Lean Principles Page 2 Dr. Bill Curtis, SVP and Chief Scientist at CAST, explains how the Lean Executive Summary practices pioneered in the Toyota Production System apply to the develop- ment and maintenance of application software, leading to decreased total cost of ownership and improved business responsiveness and operational dependability. The Problem • IT organizations have been applying Lean practices to development and maintenance of application software, yet the powerful benefits have yet to be fully realized because they have not focused on the early detection and elimination of defects. • Defects in source code and the rework they cause are the largest sources of waste in application development – accounting for 30% to 50% of development effort. • As much as two thirds of all application maintenance effort can be classified as waste due to rework caused by defects and time spent trying to understand what is going on in poorly constructed applications. • Over time, applications become less responsive and obese with code that is no longer needed, wasting machine resources. • The fast pace and short release cycles of Agile truncates the time available for identifying and remediating structural problems in the source code of an application. The Solution • By focusing on Jidoka, the pillar of Lean involving the automated early detection and elimination of defects, defects can be identified when they are injected into the source code and fixed quickly, rather than later in the life cycle when their repair is often 10 times more time-consuming and expensive. • Eliminating the causes of defects and continually training developers for defect-free work can dramatically improve productivity and shorten time-to-release. • In application maintenance, it is vital to address the changeability of code before its release to reduce the time needed to understand the application for subsequent releases, and sustain the quality of the application over its lifetime. • Over an application’s operational life, you must continuously tune the performance of the code and manage application size, especially when deploying it in a cloud environment.
  • 4. Cutting IT Costs by Applying Lean Principles Page 3 Executive Summary (continued) Key Takeaways • Through adherence to the Jidoka component of Lean, the combination of Lean Application Development, Lean Application Maintenance, and Lean Application Assets provides the foundation for Lean Application Management. • Software analysis and measurement is key to supporting Lean Application Management. The automated analysis and measurement of structural quality of applications is critical to the overall cost of ownership, business responsiveness, and operational dependability required to run a Lean Enterprise. 1. Lean processes work at their most efficient when performed on Lean products. The best way to reduce waste is to design it out of the application from the beginning by driving design decisions based on prioritized quality goals.
  • 5. Cutting IT Costs by Applying Lean Principles Page 4 I. How Lean Applies to Software Applications Contents For the past several years, IT organizations have been exploring the I. How Lean Applies to Software application of Lean practices pioneered in the Toyota Production System1,2 Applications for automobile assembly to the development and maintenance of appli- II. Lean Application Development cation software. Its focus on empowered teams and process streamlining3,4 III. Lean Application Maintenance has popularized Lean in the Agile Methods community. However, some IV. Lean Application Assets of the most powerful benefits of Lean have yet to be fully realized in V. Lean Application Management application development since the Agile community has focused more on VI. References the just-in-time aspects of Lean rather than on Jidoka, the automated early detection and elimination of defects. Jidoka is one of the two pillars of the Toyota Production System that provides the foundation for Lean practices (Figure 1). Jidoka uses automation to detect defects early in the production process, as well as their causes so they can be identified and eliminated. The fifth principle of what has become known as the Toyota Way is to “build a culture of stopping to fix problems and get quality right the first time.”5 This principle had a profound effect on the productivity of automobile manufacturing, and has the potential to transform the economics of application development as well. Figure 1. The Toyota Production System
  • 6. Cutting IT Costs by Applying Lean Principles Page 5 Jidoka can be implemented in an application portfolio through the practices Highlights of Lean Application Management, which focuses on applying Lean methods in three areas: Application Development, Application Maintenance, and An IT organization can establish Application Assets. In the context of development and maintenance of Lean Application Management by business applications, Jidoka involves the use of technologies such as automating software measurement static analysis to identify defects when they are added to the source that supports key Lean practices. code, so they can be fixed before being passed on to a later life cycle phase where their repair is much more expensive. The sections that follow describe how an IT organization can establish Lean Application Management by automating software measurement that supports key Lean practices in each of these three areas. II. Lean Application Development The largest opportunity for improving quality and productivity during application development is by eliminating its largest sources of waste— defects and the rework they cause. In many organizations, 30% to 50% of development effort is devoted to rework7, 8. These staggering numbers are exacerbated by the fact that defects become 10 times more expensive to fix for each major phase of the software life cycle they slip past. Under these circumstances, productivity is largely determined by quality. Before the Toyota Production System, 25% of the effort in traditional mass production automobile manufacturing was devoted to fixing defects in fully assembled automobiles at the end of the production line1. Defects that would have been inexpensive to fix during assembly became expensive because large portions of the car had to be disassembled to make the needed repairs. Lean practices in the Toyota Production System virtually eliminated rework areas at the end of production lines, contributing heavily to Lean’s dramatic improvements in productivity, quality, and time-to-market over traditional mass production.1 The level of rework in software applications is actually worse than that observed in traditional automobile assembly (Figure 2). As in mass production automobile manufacturing, rework in application development piles up at the end of the development cycle, causing delays and often throwing the project into chaotic thrashing to get the application sufficiently stable for release. This rework is manifest in the continuing cycle of testing, recoding defective components, and then retesting them to find even more defects.
  • 7. Cutting IT Costs by Applying Lean Principles Page 6 Figure 2. Comparison of rework in traditional automobile assembly and software development Why doesn’t testing eliminate the rework problem? Modern testing practices are generally effective in detecting functional defects—deviations from what the customer wanted. However, testing is not as effective in detecting the non-functional defects that represent structural flaws in the construction of the application.9,10,11 These structural defects are difficult to detect through testing and are frequently the most expensive to fix because they involve interactions between multiple tiers of the application, which are often written in different languages and hosted on different platforms. Structural defects are at the root of most devastating operational problems such as outages, security breaches, data corruption, and performance degradation.9,10 Static analysis of the structural quality of business applications augments other quality assurance techniques such as testing and design inspections to eliminate such defects.
  • 8. Cutting IT Costs by Applying Lean Principles Page 7 There are three main keys to eliminating rework (Figure 3) in Lean Application Development. Figure 3. How structural analysis contributes to Lean Application Development 1. Detect and remediate defects early: Every component added to the source code should be analyzed at build time when it is integrated with the evolving application to see its impact on the system as a whole. Detection and repair at this point can be an order of magnitude cheaper than if these structural flaws slip into the final stages of testing, when they are deeply embedded in the application and a larger portion of the code has to be torn down, fixed, and rebuilt. If structural defects escape into operations where multiple versions of the software are in use, the cost of correcting them can expand by an additional order of magnitude. Early detection of defects is especially critical when using Agile. Agile methods are popular development techniques, but their fast pace and short release cycles truncate the time available for identifying and remediating the structural problems remaining in the source code. Although Agile teams typically rebuild their application daily to integrate newly developed components, their short schedules do not allow time for evaluating structural quality at the application level unless the analysis is automated. Agile teams benefit from detecting
  • 9. Cutting IT Costs by Applying Lean Principles Page 8 structural defects early so the most severe ones can be remediated Highlights before release if a schedule buffer provides time for addressing them. Addressing structural problems prior to release helps prevent Organizations that rigorously apply waste in maintenance. Lean techniques have been able to reduce rework by 80% to 90%. 2. Eliminate the causes of defects: When structural quality diagnostics are coupled with a powerful root cause analysis method such as Orthogonal Defect Classification12, application teams can identify the process sources of structural defects so that their root causes can be eliminated. Typically an organization will not investigate the causes of every defect, but instead focus on those that recur most frequently or have the potential for devastating impact. While early detection minimizes rework, root cause-based process improvement virtually eliminates it. 3. Train developers continually for defect-free work: Techniques such as Pareto charts of structural quality violations identify the most frequent types of structural defects being injected into applications. The results can be fed into training activities to help developers avoid these recurring structural defects in the future, further eliminating sources of rework. Some projects have a formal launch process for each phase of development, giving the opportunity to review current issues and the types of errors to be avoided during the next phase. Developing workflow and a knowledge center to classify and guide developers in understanding and remediating structural defects can raise the bar on the performance of an application development organization. Combinations of these three Lean techniques enabled by software analysis and measurement technology can reduce, and in many cases eliminate, the structural defects that cause the most severe rework in application development. Organizations that apply these techniques rigorously have been able to reduce rework by 80% to 90%13, dramatically improving productivity and shortening time-to-release. III. Lean Application Maintenance The two primary sources of waste in application maintenance are rework due to defects or badly constructed software and the staggering time maintenance staff spend trying to understand what is going on in poorly constructed applications. Correcting defects frequently accounts for as much as one third of all postrelease work, and time spent understanding the code has been shown to account for as much as half of all the effort expended by maintenance staff14,15 (Figure 4). When the overlap between these two activities is removed, as much as two thirds of all maintenance
  • 10. Cutting IT Costs by Applying Lean Principles Page 9 effort can be classified as waste. Since these sources of waste result from poor application design and coding, they must be addressed as a critical focus of Lean Application Maintenance. Figure 4. How maintenance staff spend their time15 By identifying structural defects that have a high probability of causing operational problems and result in maintenance rework, software analysis and measurement provides strong support for Lean Application Main- tenance. In addition, by addressing the changeability of the code before a release, the time spent understanding the application can be dramatically reduced in maintaining subsequent releases. Similarly, by sustaining the quality of the application over its lifetime, IT can avoid degraded applications and costly redevelopments. There are three main keys to eliminating waste (Figure 5) in Lean Application Maintenance. 1. Improve application changeability: The maintenance team can identify the most serious structural flaws degrading the changeability of an application using diagnostics from structural analysis of the application, such as high coupling among components especially across application layers. Prioritizing and remediating the most severe changeability problems will reduce the time that maintenance staff spends trying to trace control and data flows through the code. Improving the changeability of an application not only slashes the time wasted on understanding unnecessarily complex code, but also shortens imple- mentation and verification cycles. As a result, the amount of functionality delivered in a single release can be as much as doubled. In addition, as the ease of changing an application improves, fewer new defects will be injected into the code during maintenance by eliminating
  • 11. Cutting IT Costs by Applying Lean Principles Page 10 the misunderstanding of interactions among application layers. Lessons learned in improving changeability can be used in training developers how to produce more changeable architectures and code. Figure 5. How structural analysis contributes to Lean Application Development 2. Reduce defect-fixing releases: IT organizations must too frequently plan releases devoted primarily to fixing defects in the application. The defects that take the longest to fix in maintenance are frequently structural, since such flaws are harder to detect through traditional testing. Implementing software analysis and measurement as a component of the development process helps dramatically reduce the number of structural defects that slip into operational software. By detecting and eliminating these defects before release, it is possible to reduce defect fixing in maintenance to near zero in a mature development environment13. The percentage of maintenance effort devoted to implementing new business functions is dramatically increased as the releases of an application devoted to defect fixing are eliminated. 3. Sustain lifetime quality: To track and sustain the quality of an appli- cation throughout its lifetime, software analysis and measurement should be implemented as a standard component of the maintenance process. The structural quality of many applications degrades continually over a succession of maintenance releases, to the point that management has to weigh the tradeoff between the increasing time
  • 12. Cutting IT Costs by Applying Lean Principles Page 11 and expense of adding functionality versus the cost of redeveloping Highlights the application. The quality of an application can be sustained across its lifetime by measuring the status of various quality attributes Technical debt is the cost of fixing during maintenance and remediating the quality problems created structural problems that are not by maintenance actions, eliminating the need for extremely costly fixed before release, but can cause redevelopments. problems in the future. All three of these aspects of Lean Application Maintenance involve reducing the technical debt that builds up in applications. Technical debt can be defined as the cost of fixing the structural problems in source code that are not fixed before release, but will have to be corrected so they don’t cause operational problems or degrade the maintainability of the application. Technical debt has been conservatively measured to cost $2.82 per line of code, although the actual cost based on more realistic assumptions about time to repair defects is easily twice as high.16 Applications appear to differ in their technical debt based on the language in which they were implemented (Figure 6). Structural analysis and measurement provides executives with a way to measure the opportunity for cost reductions from applying the practices of Lean Application Maintenance. Figure 6. Technical Debt measured in applications by language16
  • 13. Cutting IT Costs by Applying Lean Principles Page 12 IV. Lean Application Assets Highlights Lean processes work at their most efficient when performed on Lean The best way to reduce waste is to products. The best way to reduce waste is to design it out of the appli- design it out of the application from cation from the beginning by driving design decisions based on prioritized the beginning by driving design quality goals. However, even when designed well, applications age and based on prioritized quality goals. can become less responsive and obese with code that is no longer needed, wasting machine resources. This excess is especially acute in a cloud environment where the application owner is being charged for both space and processing time. There are three keys to creating Lean Applications that eliminate waste (Figure 7). Figure 7. How waste is reduced by creating Lean Application Assets 1. Design for prioritized quality characteristics: The principles of Lean Product Development and Design for Six Sigma both encourage applications that are designed with quality priorities in mind. Quality characteristics such as Robustness, Changeability, Security, and Performance Efficiency should be prioritized for each application at the beginning of its development. Architectural and coding decisions should maximize the most important quality characteristics. These quality characteristics can be measured and analyzed during both development and maintenance to ensure the quality of the source
  • 14. Cutting IT Costs by Applying Lean Principles Page 13 code is consistent with its quality priorities. Architectural and coding Highlights lessons from an IT organization’s application experience related to these characteristics should be captured for consideration when An application’s code base should making future design and coding decisions, since the most effective be evaluated at each release to way to eliminate waste is to design it out of the application from the detect code that is no longer beginning. needed. 2. Tune the performance of application code: Poorly designed and coded applications can waste expensive machine resources by requiring more processing than necessary. Structural analysis should be applied to detect poor coding and architectural practices that can dramatically affect processing requirements and time. Structural problems such as expensive calls inside loops, failure to properly index queries, and embedding functions inside ‘WHERE’ clauses can dramatically increase processing loads, requiring the acquisition of additional machine resources and slowing response times. In one example, a major multinational financial services company that started proactively measuring and remediating performance problems in their applications saw processing expenses reduced by roughly $10,000 each month for a single application. Performance issues are especially acute in cloud environments where such problems can result in unexpectedly large bills. 3. Manage application size: The size of an application should be continually monitored to ensure its growth is under control and fits within parameters appropriate for its environment. Automated measure- ment of code size can be done in both function points and lines of code to indicate the amount of code added, changed, or deleted. When these measures indicate that code growth exceeds allowable thresholds, corrective actions should be triggered. Further, the code base should be evaluated at each release to detect code that is no longer needed. Dead code throughout the application can then be scheduled for removal in an upcoming release. Removing dead code ensures that application growth and the machine resources needed to support it are consistent with the business requirements of the application. In addition to tracking application growth, these size measures will be important for evaluating maintenance productivity, as will be explained in the next section.
  • 15. Cutting IT Costs by Applying Lean Principles Page 14 V. Lean Application Management Highlights Establishing a Lean IT organization requires rapid and continual feedback Automated analysis and measure- on the quality of the applications being placed in operation. The combination ment of structural quality is critical of Lean Application Development, Lean Application Maintenance, and to run a Lean Enterprise. Lean Application Assets provides the foundation for Lean Application Management (Figure 8), a critical step in turning an IT organization into a Lean Enterprise. By aggressively pursuing the Jidoka component of Lean, the analysis and measurement of applications provides a critical ingredient required to reduce many sources of waste associated with application development and maintenance. Figure 8. Lean Application Management The ability to continually monitor application productivity is another critical component of Lean Application Management. Productivity data provides insight into the effectiveness of Lean practices at the application, portfolio, and delivery center level. It is important to choose a consistent measure for the numerator of productivity measures – that is, for the size of both the application and the actual work accomplished during each release. When these size measures are fully automated, they can be evaluated consistently across all applications and used for comparisons across an application portfolio or between different delivery centers.
  • 16. Cutting IT Costs by Applying Lean Principles Page 15 Consequently, the benefits of Lean practices and other improvement activities can also be assessed at the application, portfolio, or delivery center levels. These analyses provide the insight needed by application executives to target troubled applications or delivery centers, and allocate the resources required to optimize their cost structure and service to the business. Software analysis and measurement can be easily integrated into a disciplined software life cycle process. In an undisciplined environment, diagnostics can be used to motivate disciplined work by holding developers accountable for the quality of the applications they produce. In either environment, automated analysis and measurement of structural quality of applications is critical to the overall cost of ownership, business responsiveness, and operational dependability required to run a Lean Enterprise.
  • 17. Cutting IT Costs by Applying Lean Principles Page 16 VI. Lean Application Management 1. J.P. Womack, D.T. Jones, & D. Roos (1990). The Machine That Changed the World. New York: Free Press. 2. J. Womack & D.T. Jones (1996). Lean Thinking. New York: Simon & Schuster. 3. M. Poppendieck & T. Poppendieck (2003). Lean Software Development: An Agile Toolkit. Boston: Addison Wesley. 4. M. Poppendieck & T. Poppendieck (2007). Implementing Lean Software Development. Boston: Addison Wesley. 5. J.K. Liker (2004). The Toyota Way. New York: McGraw-Hill. 6. J.M. Morgan & J.K. Liker (2006). The Toyota Product Development System. New York: Taylor & Francis. 7. R. Dion (1993). Process improvement and the corporate balance sheet. IEEE Software, 10 (4), 28-35. 8. B. Boehm (1987). Increasing software productivity. IEEE Computer, 20 (9), 43-57. 9. D. Spinellis (2006). Code Quality. Boston: Addison Wesley. 10. M.T. Nygard (2007). Release It. Raleigh, NC: The Pragmatic Bookshelf. 11. D. Jackson (2009). A direct path to dependable software. Communications of the ACM, 52 (4), 78-88. 12. R. Chillarege, et al. (1992). Orthogonal Defect Classification: Concept for In-Process Measurement. IEEE Transaction on Software Engineering, 18 (11), 943-956. 13. M.C. Paulk, C.W. Weber, B. Curtis, & M.B. Chrissis (1995). The Capability Maturity Model. Boston: Addison Wesley. 14. D.C. Littman, J. Pinto, S. Letovsky, & E. Soloway (1987). Mental models and software maintenance. Journal of Systems and Software, 7 (4), 341-355. 15. M. Ben-Menachem & G.S. Marliss (2005). IT assets - control by importance and exception: Supporting the "paradigm of change". IEEE Software, 22 (4), 94-102. 16. J. Sappidi, B. Curtis, & J. Subramanyam (2010). CAST Worldwide Application Software Quality Study2010. New York: CAST Research Labs.
  • 18. Cutting IT Costs by Applying Lean Principles Page 17 About the Author Bill Curtis is an industry luminary who is responsible for influencing CAST’s scientific and strategic direction, as well as helping CAST educate the IT market to the importance of managing and measuring the quality of its software. He is best known for leading the development of the Capability Maturity Model (CMM) which has become the global standard for evaluating the capability of software development organizations. Prior to joining CAST, Dr. Curtis was a Co-Founder of TeraQuest, the global leader in CMM-based services, which was acquired by Borland. Prior to TeraQuest, he directed the Software Process Program at the Dr. Bill Curtis Software Engineering Institute (SEI) at Carnegie Mellon University. Prior Senior Vice President and Chief Scientist to the SEI he directed research on intelligent user interface technology and the software design process at MCC, the fifth generation computer research consortium in Austin, Texas. Before MCC he developed a software productivity and quality measurement system for ITT, managed research on software practices and metrics at GE Space Division, and taught statistics at the University of Washington. Dr. Curtis holds a Ph.D. from Texas Christian University, an M.A. from the University of Texas, and a B.A. from Eckerd College. He was recently elected a Fellow of the Institute of Electrical and Electronics Engineers for his contributions to software process improvement and measurement. In his free time Dr. Curtis enjoys traveling, writing, photography, helping with his daughter’s homework, and University of Texas football.
  • 19. About CAST CAST is a pioneer and world leader in Software Analysis and Measurement, with unique technology resulting from more than $90 million in R&D investment. CAST provides IT and business executives with precise analytics and automated software measurement to transform application development into a management discipline. More than 650 companies across all industry sectors and geographies rely on CAST to prevent business disruption while reducing hard IT costs. CAST is an integral part of software delivery and maintenance at the world’s leading IT service providers such as IBM and Capgemini. Founded in 1990, CAST is listed in NYSE-Euronext (Euronext: CAS) and services IT intensive enterprises worldwide with a network of offices in North America, Europe, and India. www.castsoftware.com North America Europe 373 Park Avenue South 3, rue Marcel Allegot www.castsoftware.com New York, NY 10016 92190 Meudon - France Phone: +1 212-871-3330 Phone: +33 1 46 90 21 00 © CAST All Rights Reserved
  • 20. L a nmo ea o t A T er r bu C S w w c ss f aec m w .a tot r.o w bo .a tot aec m lgc ss f r.o w w w fc b o .o c so q a t w . e o kc m/a tn u ly a i w w sd s aen t a tot ae w . ie h r.e/ ss f r l c w w w t ie.o O Q a t w . t r m/ n u ly wt c i