ebook img

Project management of large software-intensive systems : controlling the software development process PDF

393 Pages·2019·10.03 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 Project management of large software-intensive systems : controlling the software development process

Contents Contents Project Management of Large Software-Intensive Systems Controlling the Software Development Process Project Management of Large Software-Intensive Systems Controlling the Software Development Process By Marvin Gechman CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2019 by Marvin Gechman CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed on acid-free paper International Standard Book Number-13: 978-0-367-13671-0 (Paperback) This book contains information obtained from authentic and highly regarded sources. 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, microfilming, 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, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com Contents Foreword .............................................................................................................................................................................xv Preface ..............................................................................................................................................................................xvii Acknowledgments ............................................................................................................................................................xxiii Author ..............................................................................................................................................................................xxv SeCtion 1 SoFtWARe PRoJeCt MAnAGeMent FUnDAMentALS 1 Software Project Management Introduction .......................................................................................................3 1.1 W hy You Should Read This Chapter First .........................................................................................................3 1.2 B usiness Operations, Programs and Projects ......................................................................................................4 1.3 S oftware Project Management ...........................................................................................................................5 1.4 A System Perspective .........................................................................................................................................7 1.4.1 What is a Software-Intensive System? ...................................................................................................7 1.4.2 What is Systems Engineering? ...............................................................................................................7 1.4.3 The Collaboration of Systems and Software Engineering ......................................................................8 1.4.4 System Life Cycle Overview ..................................................................................................................8 1.4.5 System Boundaries ................................................................................................................................9 1.4.6 System of Systems ...............................................................................................................................10 1.4.7 The One-Page Big Picture Flowchart Overview ..................................................................................10 1.5 S oftware Project Planning ...............................................................................................................................11 1.5.1 Software Development Plan ................................................................................................................11 1.5.2 Work Breakdown Structure ................................................................................................................12 1.6 Th e Software Project Team ..............................................................................................................................13 1.6.1 Organizing Your Project within a Program .........................................................................................13 1.6.2 Software Development Roles ..............................................................................................................13 1.6.3 Software Project Managers and Lead Programmers ............................................................................13 1.6.4 Chief Software Engineer Team ...........................................................................................................15 1.6.5 Software Integrated Product Team ......................................................................................................17 1.6.6 Interpersonal Communication ............................................................................................................18 1.7 Customer Focus ...............................................................................................................................................18 1.8 S oftware Classes and Categories ......................................................................................................................19 1.8.1 System Critical Software .....................................................................................................................19 1.8.2 Support Software ................................................................................................................................20 1.8.3 Commercial Off-the-Shelf and Reused Software ................................................................................20 1.8.4 Software Category Features ................................................................................................................21 1.9 S oftware Development Standards and Regulations .........................................................................................21 1.10 W hy Software-Intensive Systems Fail and Overrun .........................................................................................21 2 Software Project Management Activities ..........................................................................................................23 2.1 O verview of the Software Project Management Domain .................................................................................23 2.2 S oftware Project Management Objectives .......................................................................................................24 2.3 S oftware Project Management Control Areas ..................................................................................................25 2.3.1 Requirements and Traceability Management ......................................................................................25 v vi ◾ Contents 2.3.2 Software Risk Management ................................................................................................................26 2.3.3 Project Performance Measurement, Tracking and Control..................................................................27 2.3.4 Software Cost and Schedule Management ..........................................................................................27 2.3.5 Software Product Quality ...................................................................................................................27 2.3.6 Software Resource Management .........................................................................................................28 2.3.7 Software Work Products .....................................................................................................................28 2.3.8 Software Procurement Management ...................................................................................................29 2.3.9 Software Integration and Testing Management ..................................................................................29 2.3.10 Software Estimation Management ......................................................................................................31 2.4 S oftware Process Improvement ........................................................................................................................31 2.4.1 Software Engineering Process Group ..................................................................................................31 2.4.2 Software Quality Assurance ................................................................................................................32 2.4.3 Software Configuration Management and Control .............................................................................32 2.4.4 Software Corrective Action Process ....................................................................................................32 2.4.5 Software Peer Reviews and Product Evaluations .................................................................................33 2.4.6 Software Capability Maturity Model Integration ................................................................................33 2.4.7 Six Sigma Applied to Software ............................................................................................................33 2.5 System Sustainment .........................................................................................................................................33 2.6 S oftware Project Management Pitfalls ............................................................................................................34 3 System and Software Life Cycle Processes.........................................................................................................35 3.1 S oftware Project Management Processes .........................................................................................................35 3.1.1 What is a Software Process? ................................................................................................................36 3.1.2 The Cost of No Process .......................................................................................................................37 3.2 S ystem Life Cycle Process ................................................................................................................................37 3.3 System Definition ............................................................................................................................................37 3.4 S oftware Development Life Cycle Process .......................................................................................................38 3.5 S oftware Implementation Process ....................................................................................................................39 3.6 S ystem Integration, Test and Verification Process ...........................................................................................40 3.7 System Sustainment .........................................................................................................................................41 3.8 S ystem Critical and Support Software Processes ..............................................................................................41 3.8.1 Development Process for System Critical Software .............................................................................41 3.8.2 Development Process for Support Software (SS) .................................................................................41 3.9 S oftware Testing Processes ..............................................................................................................................43 3.9.1 Testing is Ubiquitous ..........................................................................................................................43 3.9.2 Testing Strategies ................................................................................................................................43 3.9.3 Regression Testing and Refactoring ...................................................................................................44 3.9.4 Test Risk Analysis ...............................................................................................................................45 3.9.5 Requirements Testability and Verification ...........................................................................................45 3.9.6 Test-Like-You-Operate/Test-Like-You-Fly ...........................................................................................45 3.9.7 The Value of Automated Testing ........................................................................................................46 3.9.8 When to Stop Testing ........................................................................................................................46 4 Software Development Methodologies ..............................................................................................................49 4.1 S oftware Development Process Models ...........................................................................................................49 4.1.1 Evolutionary Software Acquisition Strategy ........................................................................................50 4.1.2 The Incremental Model .......................................................................................................................51 4.1.3 The Iterative Model .............................................................................................................................51 4.1.4 Prototyping .........................................................................................................................................52 4.1.5 The Spiral Model ................................................................................................................................52 4.1.6 The Unified Process Model .................................................................................................................54 4.1.7 The Linear Sequential Model ..............................................................................................................54 4.1.8 Other Process Models .........................................................................................................................55 Contents ◾ vii 4.2 S oftware Analysis and Design Models .............................................................................................................56 4.2.1 Object-Oriented Methodology ............................................................................................................56 4.2.2 Structured Analysis/Structured Design Methodology .........................................................................56 4.3 M anaging Agile Software Development Projects .............................................................................................57 4.3.1 Types of Agile Methodologies .............................................................................................................57 4.3.2 Core Principles of the Agile/Scrum Methodology ...............................................................................58 4.3.3 Is Agile a Silver Bullet? ........................................................................................................................59 4.3.4 Agile Operational Considerations .......................................................................................................59 4.3.5 Application of Agile to Medium and Large Systems ............................................................................60 4.3.6 Agile/Scrum Roles ..............................................................................................................................61 4.3.7 Agile/Scrum Terminology ...................................................................................................................62 4.3.8 Adopting the Agile Philosophy............................................................................................................63 4.3.9 Agile Implementation Considerations .................................................................................................63 4.4 S chedules and Activity Networks ...................................................................................................................64 4.5 Software Standards ..........................................................................................................................................65 4.5.1 Standards for Software Products .........................................................................................................65 4.5.2 Software Product and Testing Levels .................................................................................................66 SeCtion 2 SoFtWARe MAnAGeMent AnD QUALitY DoMAinS 5 Software Management Domain ........................................................................................................................69 5.1 S oftware Project Planning and Oversight ........................................................................................................69 5.1.1 Software Development Plan ................................................................................................................70 5.1.2 Software Development Planning Tasks ...............................................................................................72 5.1.3 Software Resource Estimating ............................................................................................................73 5.1.4 Software Build Planning .....................................................................................................................74 5.1.5 Software Development Tracking and Oversight ..................................................................................75 5.1.6 Avoid Gold Plating ..............................................................................................................................76 5.1.7 Software Item Test Planning ...............................................................................................................76 5.1.8 System Test Planning .........................................................................................................................77 5.1.9 Planning for Software Transition to Operations and Maintenance ....................................................77 5.1.10 Tracking and Updating Project Plans ..................................................................................................78 5.2 S oftware Risk Management and Mitigation ....................................................................................................78 5.2.1 Program-Level Risk Management .......................................................................................................78 5.2.2 Software Risk Handling Plan .............................................................................................................78 5.2.3 Software Risk Management Process ....................................................................................................79 5.2.4 Software Risk Handling Alternatives ..................................................................................................79 5.2.5 Software-Related Risks .......................................................................................................................80 5.3 T echnical and Management Reviews ...............................................................................................................81 5.3.1 Joint Technical Reviews ......................................................................................................................81 5.3.2 Joint Management Reviews .................................................................................................................82 5.4 A ssurance of Critical Requirements .................................................................................................................83 5.4.1 Software Safety ...................................................................................................................................83 5.4.2 Software Security ................................................................................................................................85 5.4.3 Human Systems Integration ................................................................................................................85 5.4.4 Privacy Protection ...............................................................................................................................86 5.4.5 Dependability, Reliability, Maintainability and Availability ...............................................................86 5.4.6 Assurance of Other System Critical Requirements ..............................................................................87 5.5 S oftware Subcontractor Management ..............................................................................................................88 5.5.1 Subcontractor Management Team ......................................................................................................88 5.5.2 Subcontractor Compliance with the SDP ...........................................................................................88 5.5.3 Subcontractor Performance Reviews ...................................................................................................88 5.5.4 Subcontractor Statement of Work .......................................................................................................88 viii ◾ Contents 5.6 S oftware Verification and Validation ...............................................................................................................88 5.6.1 Software Verification and Validation with Associate Developers .........................................................89 5.6.2 Independent Software Verification and Validation Coordination .......................................................90 5.7 S ystem Retirement or Disposal ........................................................................................................................91 5.8 W hat is a Successful Project? ...........................................................................................................................91 6 Software Quality Domain .................................................................................................................................93 6.1 S oftware Process Improvement ........................................................................................................................94 6.1.1 Software Engineering Process Group ..................................................................................................94 6.1.2 Software Process Audits and Assessments ...........................................................................................95 6.1.3 Infrastructure of the Software Engineering Process Group .................................................................96 6.1.4 Software Process Lead .........................................................................................................................97 6.1.5 Sharing the Lessons Learned Database ...............................................................................................97 6.2 S oftware Quality Assurance ............................................................................................................................98 6.2.1 Software Quality Engineer and Program Plan ....................................................................................98 6.2.2 Software Process Audits and Process Reviews .....................................................................................99 6.2.3 Software Quality Factors ....................................................................................................................99 6.2.4 Software Quality Assurance Records ..................................................................................................99 6.2.5 Software Quality Assurance Independence .........................................................................................99 6.2.6 Software Quality Assurance Non-Compliance Issues .......................................................................100 6.3 S oftware Configuration Management and Control .......................................................................................100 6.3.1 Software Configuration Management Control Levels .......................................................................102 6.3.2 Formal Baselines ..............................................................................................................................102 6.3.3 Software Configuration Identification ..............................................................................................103 6.3.4 Software Configuration Control .......................................................................................................103 6.3.5 Software Configuration Status Accounting .......................................................................................104 6.3.6 Software Configuration Audits .........................................................................................................105 6.3.7 Packaging, Storage, Handling and Delivery ......................................................................................105 6.4 M anaging the Software Corrective Action Process ........................................................................................106 6.4.1 Software Discrepancy Reports and Software Change Requests .........................................................106 6.4.2 Software Corrective Action Process ..................................................................................................107 6.4.3 Configuration Control Boards ..........................................................................................................108 6.4.4 When You Need a Paradigm Shift ....................................................................................................109 6.5 S oftware Peer Reviews and Product Evaluations ............................................................................................110 6.5.1 Software Peer Review Objectives ......................................................................................................110 6.5.2 Software Peer Review Process ...........................................................................................................111 6.5.3 Preparing for Software Peer Reviews .................................................................................................111 6.5.4 Conducting Software Peer Reviews ...................................................................................................111 6.5.5 Analyzing Software Peer Review Data ..............................................................................................112 6.5.6 Software Product Evaluations ...........................................................................................................113 6.6 C apability Maturity Model Integrated ..........................................................................................................114 6.6.1 CMMI Background and Principles ...................................................................................................114 6.6.2 CMMI Structure ..............................................................................................................................115 6.6.3 CMMI Staged and Continuous Representations ...............................................................................116 6.6.4 Attributes of the Staged Representation ............................................................................................117 6.6.5 CMMI Appraisals .............................................................................................................................118 SeCtion 3 SoFtWARe ReSoURCeS DoMAin 7 Managing the Software Project Team .............................................................................................................123 7.1 S taffing Your Team ........................................................................................................................................123 7.1.1 Recruiting Paths ...............................................................................................................................124 7.1.2 The Job Description ..........................................................................................................................124 Contents ◾ ix 7.1.3 Staff Selection Filtering Process .........................................................................................................125 7.1.4 Round Pegs and Square Holes...........................................................................................................127 7.2 S taff Loading and Skill Levels .......................................................................................................................128 7.2.1 Staff Loading ....................................................................................................................................128 7.2.2 Skill Levels ........................................................................................................................................129 7.3 S ocial Media and Generational differences ....................................................................................................129 7.3.1 Social Media .....................................................................................................................................129 7.3.2 Generational Differences ...................................................................................................................129 7.3.3 Characteristics of Millennials............................................................................................................130 7.4 M otivating and Demotivating Factors ...........................................................................................................131 7.4.1 Achieving Something Important .......................................................................................................131 7.4.2 Personal Growth ...............................................................................................................................131 7.4.3 New Technology ...............................................................................................................................132 7.4.4 Recognition and Praise .....................................................................................................................133 7.4.5 Job Enjoyment ..................................................................................................................................133 7.4.6 Personal Rewards ..............................................................................................................................133 7.4.7 Interpersonal Relationships ...............................................................................................................133 7.4.8 Promotions........................................................................................................................................134 7.4.9 Working Conditions .........................................................................................................................135 7.4.10 Technical Respect for Manager .........................................................................................................135 7.4.11 Ethical and Realistic Policies .............................................................................................................136 7.5 Communications ...........................................................................................................................................136 7.5.1 Root Cause of Problems ....................................................................................................................137 7.5.2 Honest Discussions ...........................................................................................................................137 7.5.3 Lines of Communication ..................................................................................................................137 7.5.4 Cultivate Communication ................................................................................................................137 7.6 Managing Programmers ................................................................................................................................138 7.6.1 Creativity ..........................................................................................................................................138 7.6.2 Individuality .....................................................................................................................................138 7.6.3 Programmer Personalities ..................................................................................................................139 7.6.4 Lack of Discipline .............................................................................................................................140 7.6.5 Performance Reviews ........................................................................................................................141 7.7 C reating an Environment of Excellence .........................................................................................................141 7.7.1 A Healthy Organizational Culture ....................................................................................................141 7.7.2 The Work Environment ....................................................................................................................142 7.7.3 The Work Atmosphere ......................................................................................................................143 7.7.4 The Work Infrastructure ...................................................................................................................144 7.7.5 Conflict Management and Resolution ..............................................................................................145 7.8 S oftware Training Plans ................................................................................................................................146 8 Managing Software Costs and Schedules ........................................................................................................147 8.1 P rogram Master Plan and Schedule ...............................................................................................................147 8.2 W ork Breakdown Structure ...........................................................................................................................148 8.3 M anaging Software Budgets ..........................................................................................................................149 8.3.1 Budgeting for Labor ..........................................................................................................................150 8.3.2 Budgeting for Contractors and Consultants ......................................................................................150 8.3.3 Budgeting for Capital Equipment .....................................................................................................150 8.3.4 Budgeting for Travel .........................................................................................................................150 8.3.5 Budgeting for Training .....................................................................................................................151 8.4 M anaging Software Schedules .......................................................................................................................151 8.4.1 The Gantt and Milestone Diagrams ..................................................................................................152 8.4.2 Comparing the PERT and CPM Network Charts ............................................................................152 8.4.3 Other Charts and Tools ....................................................................................................................153

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.