Software Processes and Life Cycle Models (eBook)

An Introduction to Modelling, Using and Managing Agile, Plan-Driven and Hybrid Processes

(Autor)

eBook Download: PDF
2018 | 1st ed. 2018
XX, 345 Seiten
Springer International Publishing (Verlag)
978-3-319-98845-0 (ISBN)

Lese- und Medienproben

Software Processes and Life Cycle Models - Ralf Kneuper
Systemvoraussetzungen
53,49 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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.

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.

Foreword 5
Preface 7
Book Goals 8
Target Audience 9
Outline 9
Contents 14
Chapter 1: Foundations 20
1.1 Background 20
1.1.1 Basic Concepts 20
1.1.2 The Purpose of Explicitly Using Software Processes 22
1.1.3 Software Processes and their Evolution 24
1.1.4 Managing Software Processes 27
1.1.5 Software Process Models and Meta-models 30
1.2 The Software Process Ecosystem 31
1.3 Historical Overview 32
1.3.1 The Early Days 33
1.3.2 The 1980s: The Rise of Software Processes 35
1.3.3 The 1990s and Early 2000s: Lightweight and Agile Processes 36
1.3.4 Recent Trends 37
1.4 Terminology and Basic Concepts 39
1.4.1 General Terminology 40
1.4.2 Process Terminology 40
1.4.3 Software Process Terminology 43
1.4.4 Model and Meta-model Terminology 46
1.4.5 Process Model Terminology 48
1.4.5.1 The process cube 48
1.4.5.2 Standard processes and tailoring 49
1.4.6 Major Phases Within Software Life Cycles 51
1.4.7 Other Relevant Terminology 53
Further Reading 54
Exercises 55
References 55
Chapter 2: Software Process Definition and Modelling 59
2.1 Introduction 59
2.1.1 Basic Concepts 60
2.1.2 Properties of Process Meta-Models 61
2.1.3 Meta-meta-modelling 64
2.1.4 Core Contents of Software Process Models 65
2.1.5 Further Contents of Software Process Models 67
2.2 Notations for Modelling the Interactions Between Processes 67
2.2.1 Value Chain Diagrams and Process Landscape Diagrams 68
2.2.2 The Multi-View Process Modeling Language (MVP-L) 68
2.3 Detailed-Level Modelling Notations for Individual Processes 71
2.3.1 Process Patterns 71
2.3.2 Modelling Notations from Requirements Analysis 72
2.3.2.1 Modelling notations from structured analysis and design 72
2.3.2.2 Modelling notations from UML 73
2.3.3 High-Level Notations for General Processes 74
2.3.3.1 The Entry-Task-Verification-Exit (ETVX) notation 74
2.3.3.2 Turtle diagrams 75
2.3.3.3 The SIPOC notation 75
2.3.3.4 Schematic representation of processes according to ISO 9001 76
2.3.4 Notations for Modelling Business Processes 76
2.3.5 Process Notations for Formal Analysis 78
2.3.5.1 Process Algebras 78
2.3.5.2 System Dynamics 79
2.4 Combined Modelling Notations Combining High-Level and Detailed-Level Modelling 79
2.4.1 Life Cycle Diagram Plus Textual Process Documentation 80
2.4.2 The Software & Systems Process Engineering Meta-Model (SPEM)
2.4.3 Software Engineering Metamodel for Development Methodologies (SEMDM) ISO/IEC 24744 82
2.4.4 V-Model XT Meta-Model 83
Further Reading 84
Exercises 84
References 85
Chapter 3: Software Processes in the Software Product Life Cycle 87
3.1 Introduction 87
3.1.1 Distinctive Properties of Software Process and Life Cycle Models 88
3.1.2 Software Product Life Cycle 91
3.1.3 Organisational Software Processes 93
3.1.4 Software Development Life Cycle 95
3.1.5 Software Life Cycle Processes According to ISO/IEC/IEEE 12207 95
3.1.6 Categories of Software Process and Life Cycle Models 96
3.1.7 Categorizing Process Models by Level of Detail 98
3.2 Basic Software Development Life Cycle Models 99
3.2.1 Waterfall Models 99
3.2.2 The V-Model 101
3.2.2 Component- or Matrix-Based Models 103
3.2.4 Prototyping 104
3.2.5 Iterative, Incremental and Evolutionary Development 107
3.2.5.1 Basic concepts 107
3.2.5.2 Boehm’s spiral model 111
3.2.5.3 Release trains 112
3.2.6 An Anti-Pattern: Code-and-Fix 113
3.2.7 Digression: the Six Phases of a (Big) Project 113
3.3 Methodology-Driven Life Cycle and Process Models 114
3.4 Detailed, Combined Software Life Cycle and Process Models 115
3.4.1 The (Rational) Unified Process 115
3.4.2 The German V-Model XT 117
3.4.3 Other Software Process Models 118
3.5 Agile and Lean Development Processes and Methodologies 120
3.5.1 The Agile Manifesto 120
3.5.2 Scrum 121
3.5.3 Common Agile Practices 126
3.5.4 Planning and Tracking Work in Agile Development 127
3.5.5 Extreme Programming (XP) 128
3.5.6 Lean Development 129
3.5.7 Other Common Agile and Lean Methodologies 133
3.5.8 Processes for Open Source Software Development 135
3.5.9 Scaling Agile Development 136
3.5.9.1 Techniques for scaling agile development 137
3.5.9.2 Frameworks for scaling agile development 138
3.5.10 Scaled Agile Framework (SAFe®) 139
3.6 Hybrid Approaches 142
3.7 (Capability) Maturity Models 144
3.8 IT Service Management and Operations 144
3.8.1 The IT Infrastructure Library (ITIL) 145
3.8.2 Other Models for IT Service Management and Operations 145
3.9 Integrating Software Development and Software Operations 146
3.10 Software Processes and Architecture 148
3.11 Safety, Security and Privacy 149
3.11.1 Basic Concepts 149
3.11.2 Safety Standards and Software Processes 153
3.11.3 Security Standards and Software Processes 155
3.11.4 Privacy Standards and Software Processes 158
3.11.5 Safety, Security and Privacy in the Development Life Cycle 160
3.12 Application-Specific Life Cycle Models 162
3.12.1 Life Cycle Models for the Development of Cyber-Physical Systems 163
3.12.2 Life Cycle Models for Customisation, Configuration and Integration Projects 163
3.12.3 Life Cycle Models for Artificial Intelligence Systems 164
3.12.4 Life Cycle Models for Big Data Projects 164
3.13 Estimating the Dissemination of Software Life Cycle Models 165
Further Reading 169
Exercises 170
References 170
Chapter 4: Governance and Management of Software Processes 176
4.1 Introduction 176
4.2 Process Infrastructure 177
4.2.1 Process Roles 177
4.2.2 Selecting a Process Notation 182
4.2.3 Process Asset Management and Control 182
4.3 Process Definition 185
4.3.1 Basic Concepts 185
4.3.2 Software Process Development 186
4.4 Process Selection 188
4.5 Process Tailoring 193
4.5.1 Overview of Process Tailoring 193
4.5.2 Tailoring Strategies 195
4.5.3 Tailoring Criteria 196
4.6 Process Deployment 197
4.6.1 Challenges in Process Deployment 197
4.6.2 State–Enable–Verify–Reward. 198
4.6.3 Change Management 199
4.7 Quality Assurance 204
4.8 IT Governance and Process Governance 206
4.8.1 Basic Concepts 206
4.8.2 The COBIT Framework 211
4.8.3 Software Process Governance 215
4.8.4 IT Governance and Agile Development 216
4.8.5 Governance of IT Architecture 216
4.9 Software Processes as a Form of Knowledge Management 219
4.9.1 Codification vs. Personalisation of Knowledge 219
4.9.2 Probst's Building Blocks of Knowledge Management 219
4.9.3 Armour's Laws of Software Process 221
4.10 (Globally) Distributed Software Processes 222
4.11 Software Processes for Software Acquisition 223
Further Reading 224
Exercises 225
References 225
Chapter 5: Software Process Assessment and Improvement 227
5.1 Introduction 227
5.2 Quality of Software Processes and Software Process Models 228
5.3 Software Process Improvement 230
5.3.1 Collection, Analysis and Handling of Improvement Ideas 231
5.3.2 Assessments, Appraisals and Audits 233
5.3.3 The SPI Manifesto 236
5.4 Quality Management 237
5.4.1 Foundations of Quality Management 237
5.4.2 The Plan-Do-Check-Act-Cycle (PDCA) 238
5.4.3 The ISO 9000 Series of Standards 240
5.4.4 Responsibility for Quality, Quality Management and Quality Assurance 242
5.4.5 Certification 243
5.4.6 Total Quality Management (TQM) 245
5.5 (Capability) Maturity Models 246
5.5.1 Basic Concepts of Capability Maturity Models 247
5.5.2 Capability and Maturity Levels 252
5.5.3 Capability Maturity Model Integration (CMMI®) 253
5.5.3.1 CMMI constellations 253
5.5.3.2 Structure of CMMI 255
5.5.3.3 Basic philosophy of CMMI 257
5.5.3.4 Generic goals and practices 258
5.5.3.5 CMMI (SCAMPI) appraisals 259
5.5.3.6 A small example of using CMMI for improvement 260
5.5.3.7 The way ahead: CMMI v2.0 261
5.5.3.8 Close relatives: Team Software Process (TSP) and Personal Software Process (PSP) 262
5.5.4 SPICE (ISO/IEC 15504 and ISO/IEC 330xx) 262
5.5.4.1 The SPICE Family of Norms 263
5.5.4.2 Capability and Process Dimension in SPICE 263
5.5.4.3 SPICE assessments 266
5.5.4.4 Variants of SPICE 267
5.5.5 Capability Maturity Models from the Customer's Point of View 268
5.6 Assessment and Improvement in Agile and Lean Development 269
5.7 The TAME Project and Related Work 270
5.8 Further Assessment and Improvement Approaches 272
Further Reading 273
Exercises 273
References 274
Chapter 6: Software and Software Process Measurement 277
6.1 Introduction 277
6.1.1 Why measure? 277
6.1.2 Measurement Terminology 278
6.1.3 Measurement Foundations 279
6.1.4 Metrics 281
6.2 Implementing and Deploying Measures and Measurement Systems 281
6.2.1 Basic Concepts 282
6.2.2 The Goal-Question-Metric Paradigm: GQM and GQM+ 284
6.2.3 Measurement and Analysis in CMMI 286
6.2.4 Aggregating Different Metrics For Reporting 287
6.3 Product Metrics 288
6.3.1 Software Metrics 288
6.3.2 Software Quality Metrics 289
6.4 Project and Service Metrics 289
6.5 Process Metrics: Measuring Process Quality Using Gokyo Ri 291
6.6 Measurement and Agile Methods 299
Further Reading 300
Exercises 300
References 301
Chapter 7: Tool Support for Software Processes 302
7.1 Introduction 302
7.2 Support for Process Modelling and Process Management 304
7.2.1 Process Editors 304
7.2.2 Process and Process Asset Management Tools 306
7.2.3 Compliance and Quality Assurance Tools 307
7.3 Tool Support for Process Enactment in the Early Stages of the Software Life Cycle 307
7.4 Tool Support for Process Enactment in Software Development 308
7.4.1 Why Tool Support for the Enactment of Software Development Processes? 308
7.4.2 Process Visualisation 309
7.4.3 Process-Aware Tools 309
7.4.4 Tool Support for Project Management and Technical Tasks 310
7.4.5 Development Environments 310
7.4.6 Documentation of Source Code 313
7.5 Tool Support for Process Enactment in the Late Stages of the Software Product Life Cycle 314
7.6 Compliance and Quality Assurance Tools in Process Enactment 314
7.7 Privacy (Data Protection) 315
Further Reading 315
Exercises 316
References 316
Chapter 8: Selected Current Trends in Software Processes 317
8.1 Process Intelligence and Process Mining 317
8.1.1 Basic Concepts of Process Mining 317
8.1.2 Process Mining and Software Processes 319
8.1.3 Mining of Software Engineering Processes 320
8.2 Statistical Process Control and Six Sigma 323
8.2.1 Statistical Process Control (SPC) 323
8.2.2 Six Sigma 324
8.2.3 SPC and Six Sigma for Software Processes 325
8.3 DevOps 327
8.3.1 From Continuous Integration to Continuous Deployment 328
8.3.2 The ``Three Ways'' of DevOps 330
8.3.3 DevOps in Context 332
8.3.4 DevOps and CALMS 333
8.3.5 DevOps and ITIL 334
8.3.6 Benefits and Challenges of DevOps 336
Further Reading 338
Exercises 338
References 339
Appendix A: Relevant norms and standards 341
A.1 A Short Overview of the Most Relevant Process Standards 341
A.2 ISO and IEC Standards 342
A.3 Other Relevant Standard Documents 345
Further Reading 346
References 346
Appendix B: Gokyo Ri Check-lists to Measure Process Quality 347
B.1 Process Quality Characteristic ``Process Objectives and Requirements'' 347
B.2 Process Quality Characteristic ``Process Capability'' 347
References 347
Index 351

Erscheint lt. Verlag 24.8.2018
Zusatzinfo XX, 345 p.
Verlagsort Cham
Sprache englisch
Themenwelt Mathematik / Informatik Informatik
Wirtschaft Betriebswirtschaft / Management Wirtschaftsinformatik
Schlagworte Agile software development • management of computing and information systems • software development process management • Software Lifecycle Management • SWEBOK
ISBN-10 3-319-98845-X / 331998845X
ISBN-13 978-3-319-98845-0 / 9783319988450
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 3,8 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Datenanalyse für Künstliche Intelligenz

von Jürgen Cleve; Uwe Lämmel

eBook Download (2024)
De Gruyter (Verlag)
74,95
Digitale Geschäftsmodelle auf Basis Künstlicher Intelligenz

von Christian Aichele; Jörg Herrmann

eBook Download (2023)
Springer Fachmedien Wiesbaden (Verlag)
54,99
Wie Sie Daten für die Steuerung von Unternehmen nutzen

von Mischa Seiter

eBook Download (2023)
Vahlen (Verlag)
39,99