Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
Software Processes and Life Cycle Models - An Introduction to Modelling, Using and Managing Agile, Plan-Driven and Hybrid Processes
  Großes Bild
 
Software Processes and Life Cycle Models - An Introduction to Modelling, Using and Managing Agile, Plan-Driven and Hybrid Processes
von: Ralf Kneuper
Springer-Verlag, 2018
ISBN: 9783319988450
359 Seiten, Download: 3848 KB
 
Format:  PDF
geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop

Typ: A (einfacher Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  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) 81  
        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  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Technik / Wissen
Wirtschaft

© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz