Using a Validation Model to Measure the Agility of Software Development in a Large Software Development Organization

Total Page:16

File Type:pdf, Size:1020Kb

Using a Validation Model to Measure the Agility of Software Development in a Large Software Development Organization Using a Validation Model to Measure the Agility of Software Development in a Large Software Development Organization Mikio Ikoma1 Masayuki Ooshima1 Takahiro Tanida1 Michiko Oba1 Sanshiro Sakai2 1 Software Division, Hitachi, Ltd. 2 Dept. of Computer Science, Shizuoka University [email protected] [email protected] [email protected] [email protected] [email protected] Abstract extensive data on various aspects of software development and products (for example, relating to the This paper provides a metric for evaluating the cost, quantity, and quality of projects) and have used agility of software development projects and this data to improve their productivity. organizations. The metric is based on a validation The metric of productivity (the amount of production model derived from the V&V model. In this metric, divided by cost) is an important metric even now. In agility is defined as minimizing the time between the recent years, however, software development production of intermediate deliverables and the organizations have had to face an increasingly validation of those deliverables. The major competitive market and run projects under a variety of distinguishing feature of this metric is that it is environment conditions. In this situation, the independent of any particular software development organizations confront the following issues: process model, such as agile software development In addition to increasing the productivity of software methods or the waterfall model. Therefore, this metric development, organizations also need to improve can be used for software development organizations efficiency and quality in response to reduced that have a wide variety of software development development periods and constantly changing projects with varying kinds of development processes. conditions. This metric has been shown to be practical in large While following many different development software development organizations through processes, organizations need to measure and exhaustive use in more than 7,000 projects over the leverage metrics that are independent of any specific last 9 years. development process model. 1. Introduction To resolve these issues, this paper uses the notion of software development agility, which we initially define In the software industry, if two software as “the ability to quickly build functionality and quality organizations develop a commercial software product into software at an early stage”. The paper proposes a of the same functionality and same quality, the software development model called the Validation organization that can develop it at a lower cost over a model, and a derived metric called the Agility metric shorter period has an advantage. Therefore, just as it is that can measure software development agility. To important for manufacturers in other industries, it also demonstrate the effectiveness of the model and the important for software development organizations to metric, we will show how the Validation model and the measure and improve productivity and the development agility metric were applied in a large development period. organization, and explain how the model and metric were used to improve the agility of that organization. Since the 1980s, Japan’s major software vendors have adopted a unified development process known as The Validation model is based on the V&V the “Japanese software factory” approach [1] [2]. (verification & validation) model ( Boehm [3] ), which Using this approach, the vendors have collected is important for establishing software quality, and ICSE’09, May 16-24, 2009, Vancouver, Canada 978-1-4244-3494-7/09/$25.00 © 2009 IEEE 91 Companion Volume focuses on how a planned software item is validated “the amount of production divided by cost”. In the field during the software development process. The agility of software development, increased efficiency is metric combines the Validation model and existing indicated by a lower cost for implementing the same efficiency models. In particular, the metric references functional or non-functional requirements. Therefore, both a turnover metric (widely used in financial and the metric of productivity is also important for software manufacturing fields) and iterative and incremental development. However, the productivity metric alone development processes [4] (widely used in software cannot measure reductions in development time or development). However, the agility metric is not used increases in software quality, both of which are just to shorten the development process or to enable required for current software development use of specific lightweight software development organizations and projects. processes; the metric is also used to achieve the goals of fast development and high quality software. First, we will describe productivity issues from the viewpoint of shortening the development period. Figure This paper shows that, by combining the V&V model 1 shows Gantt charts of three software development and a turnover metric, the values of the Agile projects that develop the same functionality. Both Manifesto [5] can be modeled, and not just for iteration. project A and B adopt a waterfall process model and We think that many of the values of the Agile project B divides the project into three concurrent Manifesto correspond to the agility notion of “how subprojects. Project C adopts an iterative and quickly, and at how early a stage, planned software incremental development process. items can be validated”. As shown in Figure 1, project C can release software The Validation model and the agility metric can be earlier than the others and keeps less inventory during used to evaluate and improve values of the Agile the development period. In addition, project C has Manifesto independent of any specific software financial advantages compared with project A and B, development process or specific practice. Therefore, as shown by Denne [6]. However, if you just measure large software development organizations, which the productivity (the amount of production divided by usually use a variety of software development cost), there is no difference among these three projects. processes, can use the model and the metric. In this paper, we introduce our experience of applying the agility metric to several thousand software Project A = Project B = Project C development projects in a large organization, which has about 3,000 software engineers, and report the Next, if you use the development period instead of effectiveness of the metric. cost (that is, if you measure “amount of production divided by period”), the result is as follows: 2. Issues of Productivity in Software Project A = Project C > Project B Development However, from the management perspective, Project Shortening the development period and improving C is better than Project B and there are few differences quality are important in product manufacturing in any between Project A and Project B. industry, not just software. Productivity is measured as Estimated [\ ] Projects Personnel Size (KLOC) 'HF -DQ )HE 0DU $SU 0D\ -XQ -XO $XJ 6HS 2FW 1RY 'HF -DQ)HE0DU$SU0D\ Project A Project B Subproject B-1 Subproject B-2 Subproject B-3 Project C Subproject C-1 Subproject C-2 Subproject C-3 Figure 1: Examples of Gantt Charts for Software Development Projects of the Same Size 92 Therefore, productivity or “amount of production in Boehm [11] [12], in large software development divided by period” cannot be used, and a metric that organizations, many software development projects can results in adopt neither pure agile methods only, nor a pure waterfall model only. In short, adopting an agile Project C > Project A = Project B software development method only is impractical. For example, there are many software development projects is required for measuring the efficiency of software that have fixed requirements, for which heavyweight development organizations. development processes similar to the waterfall model are used. Furthermore, from the quality perspective, increasing productivity or shortening the development period Therefore, to measure the agility of an entire should not affect the quality of the developed software software organization, it is difficult to use metrics that product. To satisfy this paper's initial agility definition measure the fit with specific agile development (“the ability to quickly, and at an early stage, build methods. We need to use a metric that is independent functionality and quality into software”), a metric is of various software development process models. required that can evaluate how fast target software satisfies both functional and non-functional 3.2. Issues with Applying Financial or requirements of stakeholders. Hardware Manufacturing Metrics 3. Past Approaches and Issues The issues with specific agile development methods described in the previous section can be resolved by This section describes past approaches for measuring applying the financial indicator “turnover” and the and improving the agility of software development, and hardware manufacturing indicator “cycle time” (used in issues with these approaches. the Just-In-Time (JIT) approach [13]) to software development organizations. That is, software items 3.1. Issues with Metrics for Agile under development can be regarded as corresponding Development Methods to assets in the financial indicator or corresponding to inventory in hardware manufacturing. Also, the amount Four values described in the Agile
Recommended publications
  • A Scorecard Framework Proposal for Improving Software Factories’ Sustainability: a Case Study of a Spanish Firm in the Financial Sector
    Article A Scorecard Framework Proposal for Improving Software Factories’ Sustainability: A Case Study of a Spanish Firm in the Financial Sector César Álvarez †, Vicente Rodríguez †,*, Francisco Ortega † and Joaquín Villanueva † Received: 15 September 2015; Accepted: 23 November 2015; Published: 2 December 2015 Academic Editor: Marc A. Rosen Department of Project Engineering, University of Oviedo, C/Independencia 3, 33004 Oviedo, Spain; [email protected] (C.Á.); [email protected] (F.O.); [email protected] (J.V.) * Correspondence: [email protected]; Tel.: +34-985-104-272 † These authors contributed equally to this work. Abstract: Financial institutions and especially banks have always been at the forefront of innovation in management policies in order to improve their performance, and banking is probably one of the sectors that more effectively measures productivity and efficiency in virtually all aspects of its business. However, there is one area that still fails: the productivity of its software development projects. For years banking institutions have chosen to outsource their software projects using software firms created by them for this purpose, but up until a few years ago, the deadline for the delivery of the projects was more important than the efficiency with which they were developed. The last economic crisis has forced financial institutions to review and improve the software development efficiency related to their software factories to achieve a sustainable and feasible model. The sustainability of these software factories can be achieved by improving their strategic management, and the Balanced Scorecard (BSC) framework can be very useful in order to obtain this. Based on the concepts and practices of the BSC, this paper proposes a specific model to establish this kind of software factory as a way of improving their sustainability and applies it to a large Spanish firm specializing in financial sector software.
    [Show full text]
  • Model Driven Software Engineering for Web Applications
    Model Driven Software Engineering for Web Applications Andreas Kraus Dissertation zur Erlangung des akademischen Grades des Doktors der Naturwissenschaften an der Fakultät für Mathematik, Informatik und Statistik der Ludwig-Maximilians-Universität München vorgelegt am 23.04.2007 Model Driven Software Engineering for Web Applications Tag der Einreichung: 23.04.2007 Tag des Rigorosums: 04.07.2007 Berichterstatter Prof. Dr. Rolf Hennicker (Ludwig-Maximilians-Universität, München) Prof. Dr. Antonio Vallecillo (Universidad de Malaga, Spanien) 2 Model Driven Software Engineering for Web Applications Summary Model driven software engineering (MDSE) is becoming a widely accepted approach for developing complex applications and it is on its way to be one of the most promising para- digms in software engineering. MDSE advocates the use of models as the key artifacts in all phases of the development process, from analysis to design, implementation and testing. The most promising approach to model driven engineering is the Model Driven Architec- ture (MDA) defined by the Object Management Group (OMG). Applications are modeled at a platform independent level and are transformed to (possibly several) platform specific implementations. Model driven Web engineering (MDWE) is the application of model driven engineering to the domain of Web application development where it might be par- ticularly helpful because of the continuous evolution of Web technologies and platforms. However, most current approaches for MDWE provide only a partial application of the MDA pattern. Further, metamodels and transformations are not always made explicit and metamodels are often too general or do not contain sufficient information for the automatic code generation. Thus, the main goal of this work is the complete application of the MDA pattern to the Web application domain from analysis to the generated implementation, with transformations playing an important role at every stage of the development process.
    [Show full text]
  • Report – LEAN 96-02 the Software Factory
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by DSpace@MIT Report – LEAN 96-02 The Software Factory: Integrating CASE Technologies to Improve Productivity Prepared by: José Menendez Lean Aircraft Initiative Center for Technology, Policy, and Industrial Development Massachusetts Institute of Technology 77 Massachusetts Avenue Cambridge, MA 02139 July 1996 The author acknowledges the financial support for this research made available by the Lean Aircraft Initiative at MIT sponsored jointly by the US Air Force and a group of aerospace companies. All facts, statements, opinions, and conclusions expressed herein are solely those of the author and do not in any way reflect those of the Lean Aircraft Initiative, the US Air Force, the sponsoring companies (individually or as a group), or MIT. The latter are absolved from any remaining errors or shortcomings for which the authors take full responsibility. © Massachusetts Institute of Technology, 1996 Report: LEAN 96-02 TABLE OF CONTENTS THE SOFTWARE FACTORY.............................ERROR! BOOKMARK NOT DEFINED. CHAPTER 1: INTRODUCTION........................................................................................................1 CHAPTER 2: CASE TECHNOLOGY AND THE SOFTWARE FACTORY ......................................................5 Software Development in the Aerospace Industry.........................................................................7 The Software Factory...........................................................................................................11
    [Show full text]
  • Scorecard and Kpis for Monitoring Software Factories Effectiveness in the Financial Sector
    ISSN (print):2182-7796, ISSN (online):2182-7788, ISSN (cd-rom):2182-780X Available online at www.sciencesphere.org/ijispm Scorecard and KPIs for monitoring software factories effectiveness in the financial sector Vicente Rodríguez Montequín Francisco Ortega Fernández Project Engineering Area, University of Oviedo Project Engineering Area, University of Oviedo C/Independencia 13, 33004 Oviedo, Spain C/Independencia 13, 33004 Oviedo, Spain www.shortbio.net/ [email protected] www.shortbio.net/[email protected] César Álvarez Pérez Joaquín Villanueva Balsera Project Engineering Area, University of Oviedo Project Engineering Area, University of Oviedo C/Independencia 13, 33004 Oviedo, Spain C/Independencia 13, 33004 Oviedo, Spain www.shortbio.net/[email protected] www.shortbio.net/ [email protected] Abstract: Financial corporations and especially banking institutions have important needs concerning to the development of software around their business core. The software, that traditionally had been developed in house by the IT departments, is now usually outsourced to IT firms. These firms work under the software factories model. An important feature within this sector is that usually the financial groups keep the ownership of these firms because the strategic value of the software for the core business. These firms work almost exclusively for the owner financial group developing their software, but they have to demonstrate that they are so profitable and competitive like any other firm. The organizational structure of these firms has some differential features. Top level tasks (software design and project management) are usually performed by the IT firm but the development is usually subcontracted to other software companies.
    [Show full text]
  • Model-Driven Development of Complex Software: a Research Roadmap Robert France, Bernhard Rumpe
    Model-driven Development of Complex Software: A Research Roadmap Robert France, Bernhard Rumpe Robert France is a Professor in the Department of Computer Science at Colorado State University. His research focuses on the problems associated with the development of complex software systems. He is involved in research on rigorous software modeling, on providing rigorous support for using design patterns, and on separating concerns using aspect-oriented modeling techniques. He was involved in the Revision Task Forces for UML 1.3 and UML 1.4. He is currently a Co-Editor-In-Chief for the Springer international journal on Software and System Modeling, a Software Area Editor for IEEE Computer and an Associate Editor for the Journal on Software Testing, Verification and Reliability. Bernhard Rumpe is chair of the Institute for Software Systems Engineering at the Braunschweig University of Technology, Germany. His main interests are software development methods and techniques that benefit form both rigorous and practical approaches. This includes the impact of new technologies such as model-engineering based on UML-like notations and domain specific languages and evolutionary, test-based methods, software architecture as well as the methodical and technical implications of their use in industry. He has furthermore contributed to the communities of formal methods and UML. He is author and editor of eight books and Co-Editor-in-Chief of the Springer International Journal on Software and Systems Modeling (www.sosym.org). [FR07] R. France, B. Rumpe. Model-Driven Development of Complex Software: A Research Roadmap.. In: Future of Software Engineering 2007 at ICSE. Minneapolis, pg. 37-54, IEEE, May 2007.
    [Show full text]
  • Making the Software Factory Work: Lessons from a Decade of Experience
    Making the Software Factory Work: Lessons from a Decade of Experience Harvey P. Siy1, James D. Herbsleb1, Audris Mockus1, Mayuram Krishnan 2, George T. Tucker 3 1Bell Labs, Lucent Technologies, Naperville, IL 60563 2 University of Michigan Business School, Ann Arbor, Michigan 48109 3 Bell Labs/Lucent Technologies, Holmdel, NJ 07733 Abstract At the heart of proposals to use process-oriented techniques within Lucent. The vision called for an organization for creating organizations that are capable of creating high- characterized by quality software at low cost is a focus on software process • a commitment to following a well-defined maturity, organizational learning to foster continuous software development process, improvement, and contractual arrangements that support an exclusive focus on software construction activities, as • use of state-of-the-art technology that fits opposed to a broader focus on end-to-end development of into the process, and an entire product. • use of various forms of feedback to We study an organization that was to provide fast, low cost, recognize and take advantage of high quality software development services to product opportunities for process improvement. teams within Lucent Technologies. The vision called for an organization with a culture distinct and isolated from the The Center has operated for nearly a decade now, and has rest of Lucent, characterized by a commitment to a well- evolved over the years as the basic principles have been put defined software development process, use of state-of-the- to the test in actual product development work. This art technology that fits into the process, and use of various experience has produced many lessons about what works forms of feedback to recognize and take advantage of and what does not work, about problems, workarounds, and opportunities for process improvement.
    [Show full text]
  • How to Avoid Traps in Contracts for Software Factory Based on Function Point Metric
    How to Avoid Traps in Contracts for Software Factory Based on Function Point Metric Claudia Hazan 1 Eduardo A. Oliveira 2 José Roberto Blaschek 3 [email protected] [email protected] [email protected] 1 Serviço Federal de Processamento de Dados (SERPRO) – CETEC Rua Teixeira de Freitas,31 – 4º andar – Lapa Rio de Janeiro –RJ – Brasil 2 Serviço Federal de Processamento de Dados (SERPRO) – SUPDE Rua Teixeira de Freitas,31 – 9º andar – Lapa Rio de Janeiro –RJ – Brasil 3 Fundação COPPETEC Centro de Tecnologia – UFRJ – Bloco H sala 203 Rio de Janeiro – RJ - Brasil Abstract There is a growing demand for development and maintenance projects of software. The organizations have contracted software factories in order to support this demand. However, the contract management is not a trivial task. Several organizations have used the Function Point (FP) metric as a basis of the contracted payment. In fact, the use of FP assists on the contracts management. The contractor can manage the software product required and received instead of managing the contracted teams. But, the establishment of a contract based on FP is not a silver bullet that solves all conflicts between contractors and contracted. This paper presents the main errors observed during the validation of FP counting in contracted projects; discusses some problems related to contracts based on FP metrics and gives suggestions to solve it. The main objective of this work is to promote the correct use of FP counting rules and to present the Function Point Analysis (FPA) limitations, such as: maintenance projects counting, defects treating, schedule estimation, changing requirements issues related to software contracts.
    [Show full text]
  • Establishment of Software Development Environment for Multimedia Products
    Establishment of Software Development Environment for Multimedia Products Yasumasa MASUDA Yoshinori SAKABE Shozo SUZUKI Tetsuhiro NOGUCHI Abstract For the purpose of efficient software development and higher quality of in-vehicle multimedia products (such as car navigation system), FUJITSU TEN has developed “SWIFT2”, a software development environment, that runs on a personal computer (hereinafter referred to as PC). In SWIFT2, the OS was shifted from μITRON to Windows-Automotive. Due to the development of SWIFT2, we were able to follow the development know-how on the PC that was accumulated through the SWIFT (software development environment for car audio devices) and utilize the various functions installed in Windows-Automotive. This became possible to achieve efficient software development. In addition, by using the advantage that the development is possible only by a PC, SWIFT2 has promoted global designing (offshore development) and enhanced skills of our younger software engineers. 18 Establishment of Software Development Environment for Multimedia Products 1. Introduction 1 Introduction Structure in the microprocessor In the previous article (No.31), we introduced our Application establishment of "SWIFT (Software Integration Framework to the field)", a software development environ- ment for car audio devices. SWIFT is a development tool targeted at software PF (platform) for car audio devices, OS (Windows-Automotive) and its operating system (OS) was limited toμITRON. In this article, we introduce our "SWIFT2", a software development environment for car multimedia products BSP (Board Support Package) (such as car navigation system). "SWIFT2" adopts the for target microprocessor Microsoft's Windows-Automotive (application products of Microprocessor (hardware) Windows-CE) as target OS, and enables us to develop applications on Windows-Automotive only by a PC.
    [Show full text]
  • Hitachi: Pioneering a "Factory" Strategy and Structure for Large-Scale Software Development
    -«r J HD 28 .M414 WORKING PAPER ALFRED P. SLOAN SCHOOL OF MANAGEMENT HITACHI: PIONEERING A "FACTORY" STRATEGY AND STRUCTURE FOR LARGE-SCALE SOFTWARE DEVELOPMENT Michael A. Cusumano September 27, 1987 WP#I886-87 (Revised) MASSACHUSETTS INSTITUTE OF TECHNOLOGY 50 MEMORIAL DRIVE CAMBRIDGE, MASSACHUSETTS 02139 HITACHI: PIONEERING A "FACTORY" STRATEGY AND STRUCTURE FOR LARGE-SCALE SOFTWARE DEVELOPMENT Michael A. Cusumano September 27, 1987 WP#1886-87 (Revised) JfPT LIBRARIES RECEIVED Michael A. Cusumano '^/ll/^l MIT Sloan School of Management Software Project Paper #3 Working Paper #1886-87 HITACHI: PIONEERING A "FACTORY" STRATEGY AND STRUCTURE FOR LARGE-SCALE SOFTWARE DEVELOPMENT INTRODUCTION This paper is part of a larger study examining the question of whether or not companies are choosing to manage a complex engineering activity such as large-scale software development with a range of strategic considerations and organizational as well as technological approaches that corresponds to the spectrum usually associated with "hard" manufacturing, i.e. job shops, batch organizations, and factories exhibiting various degrees of flexibility in product mixes and technologies. The research project includes the proposal of technology and policy criteria defining what a factory environment for software might look like; a survey of 38 software facilities in the U.S. and Japan to determine where firms stand in relation to these criteria; and detailed case studies examining the technology and policy implementation process followed at firms identified as being close to the ' factory model . There are several interrelated conclusions: (1) This spectrum, including "factory" approaches, is clearly observable in the sample of software facilities in the U.S.
    [Show full text]
  • The Software Factory: an Entry for the Encyclopedia of Software Engineering Michael A. Cusumano Massachusetts Institute of Techn
    The Software Factory: An Entry for the Encyclopedia of Software Engineering Michael A. Cusumano Massachusetts Institute of Technology Sloan School WP#BPS-3268-91 Draft: March 29, 1991 INTRODUCTION The story of the "software factory" within the field of software engineering is the story of how companies have attempted to push forward the state of programming practice in order to move beyond loosely organized craft or job-shop modes of operation that treated each project as unique to a more structured process and organization for multiple projects. Factory-like approaches have tended to emphasize standardization of development methods and tools, systematic reuse of program components or designs, some divisions of. labor and functional departments, and disciplined project management as well as product quality control. Many firms, led by IBM in the United States, have introduced these and other concepts for large-scale programming operations, but in varying degrees. This discussion focuses on the specific origins of the term "factory" as used in software and the histories of several companies that have explicitly used this term to describe thei r approaches to managing software development: System Development Corporation (SDC) in the United States, and then Hitachi, Toshiba, NEC, and Fujitsu in Japan.' EARLY FACTORY CONCEPTS The earliest public proposals for the introduction of factory-type methods, tools, and organizations to software development appeared in the late 1960s, as outgrowths of comparisons of programming with established engineering and manufacturing processes. An engineer at General Electric, R.W. Bemer, made numerous suggestions that culminated in a 1968 paper encouraging GE to develop a "software factory" to reduce variability in programmer productivity through standardized tools, a computer-based interface, and an historical database for financial and management control.
    [Show full text]