ebook img

SOFTWARE DEVELOPMENT PATTERNS AND ANTIPATTERNS. PDF

513 Pages·2022·6.559 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview SOFTWARE DEVELOPMENT PATTERNS AND ANTIPATTERNS.

Software Development Patterns and Antipatterns Software Development Patterns and Antipatterns Capers Jones First edition published 2022 by CRC Press 6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487- 2742 and by CRC Press 2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN © 2022 Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, LLC The right of Capers Jones to be identified as author of this work has been asserted by him in accordance with sections 77 and 78 of the Copyright, Designs and Patents Act 1988. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilm- ing, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, access www.copyright.com or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978- 750- 8400. For works that are not avail- able on CCC please contact [email protected] Trademark notice: Product or corporate names may be trademarks or registered trademarks and are used only for identification and explanation without intent to infringe. ISBN: 978- 1- 032- 02912- 2 (hbk) ISBN: 978- 1- 032- 01722- 8 (pbk) ISBN: 978- 1- 003- 19312- 8 (ebk) DOI: 10.1201/9781003193128 Typeset in Garamond by SPi Technologies India Pvt Ltd (Straive) Contents Appreciation and Acknowledgment.............................................. xv Preface ........................................................................................xvii Biography ....................................................................................xix PART 1 WORST- CASE PATTERNS OF SOFTWARE DEVELOPMENT 1 1 Challenges of Software Project Management..........................3 Improving Software Project Management Tools and Training .......7 Initial Education for New Project Managers ...............................8 Continuing Education for Software Project Managers ...............9 Guest Lectures from Visiting Experts (Remotely via Zoom or Other Tools) .......................................................10 Acquisition and Use of Software Parametric Estimation Tools ................................................................13 Acquisition and Use of Progress and Milestone Tracking Tools ...................................................................17 The Use of Formal Project Offices (PMOs) for Applications >1,000 Function Points ................................18 Use and Measurement of Effective Quality Control Methods ..19 Elimination of Bad Metrics and Adoption of Effective Software Metrics.................................................26 Primary Software Metrics for High Precision ...........................29 Supplemental Software Metrics for High Precision .................29 Commissioning Annual Software Benchmark Studies .............31 Formal Best Practice Analysis of Software Tools, Methods, and Quality ........................................................34 Summary and Conclusions on Software Project Management .....36 v vi ◾ Contents Suggested Readings on Software Project Management ................41 Suggested Web Sites ......................................................................44 2 Wastage: Lost Time and Money Due to Poor Software Quality...........................................................47 Introduction ...................................................................................47 Analyzing the Work Patterns of Software Engineers and Programmers ........................................................................48 Reuse of Certified Materials for Software Projects .......................55 Achieving Excellence in Software Quality Control .......................56 Excellent Quality Control ..........................................................56 Average Quality Control ............................................................57 Poor Quality Control .................................................................58 Summary and Conclusions ............................................................64 3 Root Causes of Poor Software Quality ..................................67 Introduction ...................................................................................67 Software Quality Education Curricula ..........................................71 References and Readings in Software Quality Control ................79 4 Defenses against Breach of Contract Litigation ....................85 Introduction ...................................................................................85 Problem 1: Estimating Errors and Estimate Rejection ..................86 Problem 2: Missing Defensible Objective Benchmarks ................87 Problem 3: Rapidly Changing Requirements ................................88 Problem 4: Poor Quality Control ..................................................89 Problem 5: Poor Software Milestone Tracking .............................91 Problem 6: Flawed Outsource Agreements that Omit Key Topics ...................................................................96 Summary and Observations Based on Breach of Contract Litigation ................................................................97 Suggested Readings .......................................................................98 Web Sites......................................................................................101 Suggested Web Sites ....................................................................101 5 The Mess of Software Metrics .............................................105 Introduction .................................................................................105 Defining Software Productivity ...................................................115 Defining Software Quality ...........................................................116 Patterns of Successful Software Measurements and Metrics ......121 Successful Software Measurement and Metric Patterns .............121 Function Points for Normalizing Productivity Data ...............122 Function Points for Normalizing Software Quality ................122 Defect Potentials Based on all Defect Types ..........................123 Contents ◾ vii Defect Removal Efficiency (DRE) Based on All Defect Types....................................................................123 Defect Removal Efficiency Including Inspections and Static Analysis..................................................................124 Defect Removal Efficiency Based on 90 Days after Release ..124 Activity-B ased Benchmarks for Development ........................125 Activity-B ased Benchmarks for Maintenance .........................134 Cost of Quality (COQ) for Quality Economics .......................134 Total Cost of Ownership (TCO) for Software Economic Understanding ................................141 Needs for Future Metrics .............................................................143 Summary and Conclusions ..........................................................145 Appendix A: Problems with Cost per Defect Metrics .................148 Why Cost per Defect Penalizes Quality ..................................149 Case A: Poor Quality ...............................................................149 Case B: Good Quality ..............................................................149 Case C: Zero Defects ...............................................................152 Using Function Point Metrics for Defect Removal Economics .......................................................................156 The Value of Quality for Large Applications of 10,000 Function Points ...................................................157 Appendix B: Side- by- Side Comparisons of 79 Languages using LOC and Function Points ..................157 References and Readings ............................................................168 Books and monographs by Capers Jones ......................168 Monographs by Capers Jones 2012–2020 available from Namcook Analytics LLC .....................................................169 Books by Other Authors .............................................................169 Software Benchmark Providers (listed in alphabetic order) ......173 6 Variations in Software Costs and Quality by Application Size ..................................................................175 Introduction .................................................................................175 Summary and Conclusions ..........................................................176 7 Advancing Software from a Craft to a Profession ...............185 Introduction .................................................................................185 What Are the Indicators of a Profession? ...................................187 Why Software Engineering in Not Yet a Profession ...................188 Topic 1: Reduce the Many Software Failures .........................189 Topic 2: Reduce Cost and Schedule Overruns .......................190 Topic 3: Improve Software Quality after Deployment ...........191 Topic 4: Improve Today’s Low Software Development Productivity and Long Schedules ...................................192 viii ◾ Contents Topic 5: Improve Poor Software Security and Reduce Cyber- Attacks .....................................................192 Topic 6: Stop Using Inaccurate and Invalid Metrics That Distort Reality ................................193 Topic 7: Adopt Accurate Metrics and Effective Measurement Practices ....................................194 Topic 8: Improve Inaccurate and Optimistic Estimates before Starting Projects ................195 Topic 9: Eliminate Inaccurate Status Tracking .......................196 Topic 10: Reduce High Maintenance Costs after Deployment .....................................................................196 Topic 11: Reduce or Eliminate Litigation from Unhappy Clients ..............................................................197 Topic 12: Improve Undergraduate and Graduate Software Education .........................................198 Topic 13: Improve Post- Graduate and On- the- Job Software Education ......................................198 Topic 14: Introduce Software Licensing and Board Certification ..........................................................199 Topic 15: Move from Custom and Manual Development to Standard Reusable Components ..........200 Topic 16: Develop Effective Methods for Working at Home Due To Corona Virus ...........................................201 Summary and Conclusions on Software Professionalism ......201 References and Readings on Software and Selected Texts on Medical Practice ....................................202 PART 2 BEST- CASE PATTERNS OF SOFTWARE DEVELOPMENT 209 8 Corporate Software Risk Reduction in a Fortune 500 Company.........................................................211 Introduction .................................................................................211 A National Talent Search .............................................................212 Fact Finding and Software Assessments .....................................213 Software Applications in Use ......................................................213 The Initial Report to the Chairman .............................................216 Corporate Software Risk Factors Found by the Initial Assessment ...............................................................217 The Corporate Risk Reduction Strategy: Fix Quality First .........218 Four-Y ear Software Risk Reduction Targets ................................220 Creating a Software Engineering Laboratory ..............................221 Education .................................................................................221 Contents ◾ ix Applied Technology ................................................................221 Advanced Technology .............................................................222 Measurements ..........................................................................222 Communications ......................................................................223 Administration .........................................................................224 Results of the Corporate Risk Reduction Program .....................224 Cost Justifying a Corporate Risk Reduction Program ................225 Cost Recovery on the Development Side ...............................228 Cost Recovery on the Maintenance Side ................................229 Asset Value of a Library of Reusable Artifacts ........................231 Adding Value through Shorter Development Schedules ........232 Adding Value through Higher Revenues ................................233 Adding Value from Disaster Avoidance ..................................233 Adding Value from Reduced Litigation Risk ...........................234 Adding Value from Improved Staff and Management Morale ...234 Adding Value from Recruiting and Keeping Top- Ranked Personnel ....................................................234 Adding Value from Customer Loyalty .....................................235 Overall Value from Effective Process Improvements .............235 Summary and Conclusions ..........................................................235 Appendix A: Master List of 210 Corporate Software Risks ........236 References and Readings ............................................................236 9 Achieving Software Excellence ...........................................247 Introduction .................................................................................247 Software Sizing, Estimating, and Project Tracking Differences..248 Software Quality Differences for Best, Average, and Poor Projects ...............................................................................252 Excellent Quality Control ........................................................254 Average Quality Control ..........................................................255 Poor Quality Control ...............................................................256 Reuse of Certified Materials for Software Projects .....................258 Reusable Software Artifacts Circa 2019 ......................................258 Software Methodologies ..............................................................261 Quantifying Software Excellence ................................................262 The Metaphor of Technical Debt ................................................265 Stages in Achieving Software Excellence ....................................267 Stage 1: Quantify Your Current Software Results ...................268 Stage 2: Begin to Adopt State of the Art Quality Tools and Methods .......................................269 Formal Sizing, Estimating, and Tracking ............................269 Defect Prevention ................................................................269 Pre- test Defect Removal ......................................................270

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.