E-Book, Englisch, 359 Seiten
Kneuper Software Processes and Life Cycle Models
1. Auflage 2018
ISBN: 978-3-319-98845-0
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
An Introduction to Modelling, Using and Managing Agile, Plan-Driven and Hybrid Processes
E-Book, Englisch, 359 Seiten
ISBN: 978-3-319-98845-0
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
This book provides a comprehensive overview of the field of software processes, covering in particular the following essential topics: software process modelling, software process and lifecycle models, software process management, deployment and governance, and software process improvement (including assessment and measurement). It does not propose any new processes or methods; rather, it introduces students and software engineers to software processes and life cycle models, covering the different types ranging from 'classical', plan-driven via hybrid to agile approaches.
The book is structured as follows: In chapter 1, the fundamentals of the topic are introduced: the basic concepts, a historical overview, and the terminology used. Next, chapter 2 covers the various approaches to modelling software processes and lifecycle models, before chapter 3 discusses the contents of these models, addressing plan-driven, agile and hybrid approaches. The following three chapters address various aspects of using software processes and lifecycle models within organisations, and consider the management of these processes, their assessment and improvement, and the measurement of both software and software processes. Working with software processes normally involves various tools, which are the focus of chapter 7, before a look at current trends in software processes in chapter 8 rounds out the book.
This book is mainly intended for graduate students and practicing professionals. It can be used as a textbook for courses and lectures, for self-study, and as a reference guide. When used as a textbook, it may support courses and lectures on software processes, or be used as complementary literature for more basic courses, such as introductory courses on software engineering or project management. To this end, it includes a wealth of examples and case studies, and each chapter is complemented by exercises that help readers gain a better command of the concepts discussed.
Ralf Kneuper got a diploma in mathematics from the University of Bonn, Germany, in 1985, and a Ph.D. in Computer Science from the University of Manchester, UK, in 1989. Since then, he has worked with various companies on software quality assurance, quality management and software processes. Currently, he works both as an independent consultant on software quality management, process improvement and data protection, and as a professor of Business Informatics and Computer Science at the IUBH Internationale Hochschule in Germany. He has published extensively on CMMI, process improvement and process quality.
Autoren/Hrsg.
Weitere Infos & Material
1;Foreword;5
2;Preface;7
2.1;Book Goals;8
2.2;Target Audience;9
2.3;Outline;9
3;Contents;14
4;Chapter 1: Foundations;20
4.1;1.1 Background;20
4.1.1;1.1.1 Basic Concepts;20
4.1.2;1.1.2 The Purpose of Explicitly Using Software Processes;22
4.1.3;1.1.3 Software Processes and their Evolution;24
4.1.4;1.1.4 Managing Software Processes;27
4.1.5;1.1.5 Software Process Models and Meta-models;30
4.2;1.2 The Software Process Ecosystem;31
4.3;1.3 Historical Overview;32
4.3.1;1.3.1 The Early Days;33
4.3.2;1.3.2 The 1980s: The Rise of Software Processes;35
4.3.3;1.3.3 The 1990s and Early 2000s: Lightweight and Agile Processes;36
4.3.4;1.3.4 Recent Trends;37
4.4;1.4 Terminology and Basic Concepts;39
4.4.1;1.4.1 General Terminology;40
4.4.2;1.4.2 Process Terminology;40
4.4.3;1.4.3 Software Process Terminology;43
4.4.4;1.4.4 Model and Meta-model Terminology;46
4.4.5;1.4.5 Process Model Terminology;48
4.4.5.1;1.4.5.1 The process cube;48
4.4.5.2;1.4.5.2 Standard processes and tailoring;49
4.4.6;1.4.6 Major Phases Within Software Life Cycles;51
4.4.7;1.4.7 Other Relevant Terminology;53
4.5;Further Reading;54
4.6;Exercises;55
4.7;References;55
5;Chapter 2: Software Process Definition and Modelling;59
5.1;2.1 Introduction;59
5.1.1;2.1.1 Basic Concepts;60
5.1.2;2.1.2 Properties of Process Meta-Models;61
5.1.3;2.1.3 Meta-meta-modelling;64
5.1.4;2.1.4 Core Contents of Software Process Models;65
5.1.5;2.1.5 Further Contents of Software Process Models;67
5.2;2.2 Notations for Modelling the Interactions Between Processes;67
5.2.1;2.2.1 Value Chain Diagrams and Process Landscape Diagrams;68
5.2.2;2.2.2 The Multi-View Process Modeling Language (MVP-L);68
5.3;2.3 Detailed-Level Modelling Notations for Individual Processes;71
5.3.1;2.3.1 Process Patterns;71
5.3.2;2.3.2 Modelling Notations from Requirements Analysis;72
5.3.2.1;2.3.2.1 Modelling notations from structured analysis and design;72
5.3.2.2;2.3.2.2 Modelling notations from UML;73
5.3.3;2.3.3 High-Level Notations for General Processes;74
5.3.3.1;2.3.3.1 The Entry-Task-Verification-Exit (ETVX) notation;74
5.3.3.2;2.3.3.2 Turtle diagrams;75
5.3.3.3;2.3.3.3 The SIPOC notation;75
5.3.3.4;2.3.3.4 Schematic representation of processes according to ISO 9001;76
5.3.4;2.3.4 Notations for Modelling Business Processes;76
5.3.5;2.3.5 Process Notations for Formal Analysis;78
5.3.5.1;2.3.5.1 Process Algebras;78
5.3.5.2;2.3.5.2 System Dynamics;79
5.4;2.4 Combined Modelling Notations Combining High-Level and Detailed-Level Modelling;79
5.4.1;2.4.1 Life Cycle Diagram Plus Textual Process Documentation;80
5.4.2;2.4.2 The Software & Systems Process Engineering Meta-Model (SPEM);81
5.4.3;2.4.3 Software Engineering Metamodel for Development Methodologies (SEMDM) ISO/IEC 24744;82
5.4.4;2.4.4 V-Model XT Meta-Model;83
5.5;Further Reading;84
5.6;Exercises;84
5.7;References;85
6;Chapter 3: Software Processes in the Software Product Life Cycle;87
6.1;3.1 Introduction;87
6.1.1;3.1.1 Distinctive Properties of Software Process and Life Cycle Models;88
6.1.2;3.1.2 Software Product Life Cycle;91
6.1.3;3.1.3 Organisational Software Processes;93
6.1.4;3.1.4 Software Development Life Cycle;95
6.1.5;3.1.5 Software Life Cycle Processes According to ISO/IEC/IEEE 12207;95
6.1.6;3.1.6 Categories of Software Process and Life Cycle Models;96
6.1.7;3.1.7 Categorizing Process Models by Level of Detail;98
6.2;3.2 Basic Software Development Life Cycle Models;99
6.2.1;3.2.1 Waterfall Models;99
6.2.2;3.2.2 The V-Model;101
6.2.3;3.2.2 Component- or Matrix-Based Models;103
6.2.4;3.2.4 Prototyping;104
6.2.5;3.2.5 Iterative, Incremental and Evolutionary Development;107
6.2.5.1;3.2.5.1 Basic concepts;107
6.2.5.2;3.2.5.2 Boehm’s spiral model;111
6.2.5.3;3.2.5.3 Release trains;112
6.2.6;3.2.6 An Anti-Pattern: Code-and-Fix;113
6.2.7;3.2.7 Digression: the Six Phases of a (Big) Project;113
6.3;3.3 Methodology-Driven Life Cycle and Process Models;114
6.4;3.4 Detailed, Combined Software Life Cycle and Process Models;115
6.4.1;3.4.1 The (Rational) Unified Process;115
6.4.2;3.4.2 The German V-Model XT;117
6.4.3;3.4.3 Other Software Process Models;118
6.5;3.5 Agile and Lean Development Processes and Methodologies;120
6.5.1;3.5.1 The Agile Manifesto;120
6.5.2;3.5.2 Scrum;121
6.5.3;3.5.3 Common Agile Practices;126
6.5.4;3.5.4 Planning and Tracking Work in Agile Development;127
6.5.5;3.5.5 Extreme Programming (XP);128
6.5.6;3.5.6 Lean Development;129
6.5.7;3.5.7 Other Common Agile and Lean Methodologies;133
6.5.8;3.5.8 Processes for Open Source Software Development;135
6.5.9;3.5.9 Scaling Agile Development;136
6.5.9.1;3.5.9.1 Techniques for scaling agile development;137
6.5.9.2;3.5.9.2 Frameworks for scaling agile development;138
6.5.10;3.5.10 Scaled Agile Framework (SAFe®);139
6.6;3.6 Hybrid Approaches;142
6.7;3.7 (Capability) Maturity Models;144
6.8;3.8 IT Service Management and Operations;144
6.8.1;3.8.1 The IT Infrastructure Library (ITIL);145
6.8.2;3.8.2 Other Models for IT Service Management and Operations;145
6.9;3.9 Integrating Software Development and Software Operations;146
6.10;3.10 Software Processes and Architecture;148
6.11;3.11 Safety, Security and Privacy;149
6.11.1;3.11.1 Basic Concepts;149
6.11.2;3.11.2 Safety Standards and Software Processes;153
6.11.3;3.11.3 Security Standards and Software Processes;155
6.11.4;3.11.4 Privacy Standards and Software Processes;158
6.11.5;3.11.5 Safety, Security and Privacy in the Development Life Cycle;160
6.12;3.12 Application-Specific Life Cycle Models;162
6.12.1;3.12.1 Life Cycle Models for the Development of Cyber-Physical Systems;163
6.12.2;3.12.2 Life Cycle Models for Customisation, Configuration and Integration Projects;163
6.12.3;3.12.3 Life Cycle Models for Artificial Intelligence Systems;164
6.12.4;3.12.4 Life Cycle Models for Big Data Projects;164
6.13;3.13 Estimating the Dissemination of Software Life Cycle Models;165
6.14;Further Reading;169
6.15;Exercises;170
6.16;References;170
7;Chapter 4: Governance and Management of Software Processes;176
7.1;4.1 Introduction;176
7.2;4.2 Process Infrastructure;177
7.2.1;4.2.1 Process Roles;177
7.2.2;4.2.2 Selecting a Process Notation;182
7.2.3;4.2.3 Process Asset Management and Control;182
7.3;4.3 Process Definition;185
7.3.1;4.3.1 Basic Concepts;185
7.3.2;4.3.2 Software Process Development;186
7.4;4.4 Process Selection;188
7.5;4.5 Process Tailoring;193
7.5.1;4.5.1 Overview of Process Tailoring;193
7.5.2;4.5.2 Tailoring Strategies;195
7.5.3;4.5.3 Tailoring Criteria;196
7.6;4.6 Process Deployment;197
7.6.1;4.6.1 Challenges in Process Deployment;197
7.6.2;4.6.2 State–Enable–Verify–Reward.;198
7.6.3;4.6.3 Change Management;199
7.7;4.7 Quality Assurance;204
7.8;4.8 IT Governance and Process Governance;206
7.8.1;4.8.1 Basic Concepts;206
7.8.2;4.8.2 The COBIT Framework;211
7.8.3;4.8.3 Software Process Governance;215
7.8.4;4.8.4 IT Governance and Agile Development;216
7.8.5;4.8.5 Governance of IT Architecture;216
7.9;4.9 Software Processes as a Form of Knowledge Management;219
7.9.1;4.9.1 Codification vs. Personalisation of Knowledge;219
7.9.2;4.9.2 Probst's Building Blocks of Knowledge Management;219
7.9.3;4.9.3 Armour's Laws of Software Process;221
7.10;4.10 (Globally) Distributed Software Processes;222
7.11;4.11 Software Processes for Software Acquisition;223
7.12;Further Reading;224
7.13;Exercises;225
7.14;References;225
8;Chapter 5: Software Process Assessment and Improvement;227
8.1;5.1 Introduction;227
8.2;5.2 Quality of Software Processes and Software Process Models;228
8.3;5.3 Software Process Improvement;230
8.3.1;5.3.1 Collection, Analysis and Handling of Improvement Ideas;231
8.3.2;5.3.2 Assessments, Appraisals and Audits;233
8.3.3;5.3.3 The SPI Manifesto;236
8.4;5.4 Quality Management;237
8.4.1;5.4.1 Foundations of Quality Management;237
8.4.2;5.4.2 The Plan-Do-Check-Act-Cycle (PDCA);238
8.4.3;5.4.3 The ISO 9000 Series of Standards;240
8.4.4;5.4.4 Responsibility for Quality, Quality Management and Quality Assurance;242
8.4.5;5.4.5 Certification;243
8.4.6;5.4.6 Total Quality Management (TQM);245
8.5;5.5 (Capability) Maturity Models;246
8.5.1;5.5.1 Basic Concepts of Capability Maturity Models;247
8.5.2;5.5.2 Capability and Maturity Levels;252
8.5.3;5.5.3 Capability Maturity Model Integration (CMMI®);253
8.5.3.1;5.5.3.1 CMMI constellations;253
8.5.3.2;5.5.3.2 Structure of CMMI;255
8.5.3.3;5.5.3.3 Basic philosophy of CMMI;257
8.5.3.4;5.5.3.4 Generic goals and practices;258
8.5.3.5;5.5.3.5 CMMI (SCAMPI) appraisals;259
8.5.3.6;5.5.3.6 A small example of using CMMI for improvement;260
8.5.3.7;5.5.3.7 The way ahead: CMMI v2.0;261
8.5.3.8;5.5.3.8 Close relatives: Team Software Process (TSP) and Personal Software Process (PSP);262
8.5.4;5.5.4 SPICE (ISO/IEC 15504 and ISO/IEC 330xx);262
8.5.4.1;5.5.4.1 The SPICE Family of Norms;263
8.5.4.2;5.5.4.2 Capability and Process Dimension in SPICE;263
8.5.4.3;5.5.4.3 SPICE assessments;266
8.5.4.4;5.5.4.4 Variants of SPICE;267
8.5.5;5.5.5 Capability Maturity Models from the Customer's Point of View;268
8.6;5.6 Assessment and Improvement in Agile and Lean Development;269
8.7;5.7 The TAME Project and Related Work;270
8.8;5.8 Further Assessment and Improvement Approaches;272
8.9;Further Reading;273
8.10;Exercises;273
8.11;References;274
9;Chapter 6: Software and Software Process Measurement;277
9.1;6.1 Introduction;277
9.1.1;6.1.1 Why measure?;277
9.1.2;6.1.2 Measurement Terminology;278
9.1.3;6.1.3 Measurement Foundations;279
9.1.4;6.1.4 Metrics;281
9.2;6.2 Implementing and Deploying Measures and Measurement Systems;281
9.2.1;6.2.1 Basic Concepts;282
9.2.2;6.2.2 The Goal-Question-Metric Paradigm: GQM and GQM+;284
9.2.3;6.2.3 Measurement and Analysis in CMMI;286
9.2.4;6.2.4 Aggregating Different Metrics For Reporting;287
9.3;6.3 Product Metrics;288
9.3.1;6.3.1 Software Metrics;288
9.3.2;6.3.2 Software Quality Metrics;289
9.4;6.4 Project and Service Metrics;289
9.5;6.5 Process Metrics: Measuring Process Quality Using Gokyo Ri;291
9.6;6.6 Measurement and Agile Methods;299
9.7;Further Reading;300
9.8;Exercises;300
9.9;References;301
10;Chapter 7: Tool Support for Software Processes;302
10.1;7.1 Introduction;302
10.2;7.2 Support for Process Modelling and Process Management;304
10.2.1;7.2.1 Process Editors;304
10.2.2;7.2.2 Process and Process Asset Management Tools;306
10.2.3;7.2.3 Compliance and Quality Assurance Tools;307
10.3;7.3 Tool Support for Process Enactment in the Early Stages of the Software Life Cycle;307
10.4;7.4 Tool Support for Process Enactment in Software Development;308
10.4.1;7.4.1 Why Tool Support for the Enactment of Software Development Processes?;308
10.4.2;7.4.2 Process Visualisation;309
10.4.3;7.4.3 Process-Aware Tools;309
10.4.4;7.4.4 Tool Support for Project Management and Technical Tasks;310
10.4.5;7.4.5 Development Environments;310
10.4.6;7.4.6 Documentation of Source Code;313
10.5;7.5 Tool Support for Process Enactment in the Late Stages of the Software Product Life Cycle;314
10.6;7.6 Compliance and Quality Assurance Tools in Process Enactment;314
10.7;7.7 Privacy (Data Protection);315
10.8;Further Reading;315
10.9;Exercises;316
10.10;References;316
11;Chapter 8: Selected Current Trends in Software Processes;317
11.1;8.1 Process Intelligence and Process Mining;317
11.1.1;8.1.1 Basic Concepts of Process Mining;317
11.1.2;8.1.2 Process Mining and Software Processes;319
11.1.3;8.1.3 Mining of Software Engineering Processes;320
11.2;8.2 Statistical Process Control and Six Sigma;323
11.2.1;8.2.1 Statistical Process Control (SPC);323
11.2.2;8.2.2 Six Sigma;324
11.2.3;8.2.3 SPC and Six Sigma for Software Processes;325
11.3;8.3 DevOps;327
11.3.1;8.3.1 From Continuous Integration to Continuous Deployment;328
11.3.2;8.3.2 The ``Three Ways'' of DevOps;330
11.3.3;8.3.3 DevOps in Context;332
11.3.4;8.3.4 DevOps and CALMS;333
11.3.5;8.3.5 DevOps and ITIL;334
11.3.6;8.3.6 Benefits and Challenges of DevOps;336
11.4;Further Reading;338
11.5;Exercises;338
11.6;References;339
12;Appendix A: Relevant norms and standards;341
12.1;A.1 A Short Overview of the Most Relevant Process Standards;341
12.2;A.2 ISO and IEC Standards;342
12.3;A.3 Other Relevant Standard Documents;345
12.4;Further Reading;346
12.5;References;346
13;Appendix B: Gokyo Ri Check-lists to Measure Process Quality;347
13.1;B.1 Process Quality Characteristic ``Process Objectives and Requirements'';347
13.2;B.2 Process Quality Characteristic ``Process Capability'';347
13.3;References;347
14;Index;351




