BSI PD CEN/TR 17603-40-01:2022
$215.11
Space engineering. Agile software development handbook
Published By | Publication Date | Number of Pages |
BSI | 2022 | 108 |
This Handbook provides recommendations for the implementation of an Agile approach in space software projects complying with EN 16603-40 (based on ECSS-E-ST-40) and EN 16602-80 (based on ECSS-Q-ST-80). This handbook is not an Agile development book, though it provides an Agile reference model based on Scrum and also covers other major Agile methods and techniques. Scrum has been selected as reference because of its widespread application in industry and its flexibility as a development framework to introduce or merge with other Agile methods and techniques. In relation to the EN 16603-40 and EN 16602-80, this handbook does not provide any tailoring of their requirements due to the use of the Agile approach, but demonstrates how compliance towards ECSS can be achieved. This handbook does not cover contractual aspects for this particular engineering approach, although it recognises that considering the approach of fixing cost and schedule and making the scope of functionalities variable, the customer and supplier need to establish specific contractual arrangements. Furthermore, it does not impose a particular finality for the use of Agile, either as a set of team values, project management process, specific techniques or supporting exploration by prototypes.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
11 | 1 Scope |
12 | 2 References |
13 | 3 Terms, definitions and abbreviated terms 3.1 Terms from other documents 3.2 Terms specific to the present document |
17 | 3.3 Abbreviated terms |
19 | 4 Introduction to the Agile software development approach 4.1 Introduction to Agile 4.1.1 General |
20 | 4.1.2 Agile characteristics (as derived from the manifesto) |
22 | 4.1.3 Lean management |
23 | 4.2 General issues implementing Agile |
26 | 5 Guidelines for Agile life cycle selection 5.1 Selecting Agile 5.2 Analysis of key factors for Agile selection 5.2.1 General |
28 | 5.2.2 Customer context |
29 | 5.2.3 Supplier context 5.2.4 Project context |
31 | 5.2.5 Team context |
32 | 5.2.6 Key Factors Summary |
33 | 5.3 Agile assessment process |
34 | 5.4 Selecting agile or waterfall |
36 | 6 Reference models for Scrum-like Agile software life cycle 6.1 Introduction 6.2 Roles and competences 6.2.1 Overiew 6.2.2 Scrum master |
37 | 6.2.3 Product owner 6.2.4 Development team |
38 | 6.2.5 SCRUM team 6.2.6 Agile coach 6.2.7 Training and competencies |
39 | 6.3 Exemplary Agile activities 6.3.1 Distinction between meeting or activity |
40 | 6.3.2 Planning I – What will be delivered 6.3.3 Planning II – How will it be delivered |
41 | 6.3.4 Sprint backlog management 6.3.5 Product backlog refinement |
42 | 6.3.6 Progress tracking 6.3.7 Product backlog update 6.3.8 Coding, testing and documenting |
43 | 6.3.9 User feedback 6.3.10 Review preparation 6.3.11 Sprint review |
44 | 6.4 Meetings 6.4.1 Daily meeting 6.4.2 Management meeting 6.4.3 Retrospective |
45 | 6.5 Organising the Agile activities and meetings in a project to create a life-cycle compliant to ECSS-E-ST-E-40 6.5.1 Preliminaries |
46 | 6.5.2 Product releases 6.5.2.1 General 6.5.2.2 Qualification of a software product 6.5.2.3 Acceptance of a software product 6.5.3 Start of the project: Sprint#0 |
47 | 6.5.4 Development phase: Sprints #1 – #N 6.5.5 Acceptance phase |
48 | 6.6 Software lifecycle definition 6.6.1 ECSS-E-ST-40 reviews |
49 | 6.6.2 Organising the ECSS-E-ST-40 reviews in an Agile software approach 6.6.2.1 General |
51 | 6.6.2.2 Model 1: Review driven lifecycle |
53 | 6.6.2.3 Model 2: Review driven lifecycle with some flexibility |
55 | 6.6.2.4 Model 3: Review driven lifecycle with full flexibility |
56 | 6.6.2.5 Model 4: Sprint driven lifecycle with formalisation |
58 | 6.6.3 Selecting the right model |
59 | 7 Guidelines for software project management 7.1 Introduction 7.2 Software Project Management approach 7.2.1 Overview 7.2.2 Management objectives and priorities 7.2.2.1 General 7.2.2.2 Cost Schedule Scope triangle |
60 | 7.2.2.3 Cost Management: Change for Free |
61 | 7.2.2.4 Cost Management: Money for nothing 7.2.2.5 Effort estimation |
62 | 7.2.2.6 Make relevant decisions |
63 | 7.2.2.7 Functionality prioritization 7.2.3 Schedule management 7.2.3.1 Schedule definition |
64 | 7.2.3.2 Schedule control and performance evaluation |
65 | 7.2.3.3 Schedule reporting 7.2.4 Assumptions, dependencies and constraints |
66 | 7.2.5 Work breakdown structure 7.2.6 Roles |
67 | 7.2.7 Risk management 7.2.7.1 Overview |
68 | 7.2.7.2 Risk sources 7.2.7.3 Risk process 7.2.8 Monitoring and controlling mechanisms 7.2.8.1 Communication and reporting |
69 | 7.2.8.2 Measurement and analysis |
72 | 7.2.9 Staffing Plan 7.2.9.1 Overview 7.2.9.2 Agile team building principles |
73 | 7.2.9.3 Agile for large projects 7.2.9.4 Pair programming 7.2.9.5 Peer reviews |
74 | 7.2.9.6 Skill management 7.2.10 Software procurement process 7.2.11 Supplier management |
75 | 7.3 Software development approach 7.3.1 Strategy to the software development 7.3.2 Software project development lifecycle 7.3.3 Relationship with the system development lifecycle 7.3.4 Reviews and milestones identification and associated documentation 7.4 Software engineering standards and techniques 7.5 Software development and software testing environment |
76 | 7.6 Software documentation plan |
77 | 8 Guidelines for software engineering processes 8.1 Overview 8.2 Software related system requirements process 8.3 requirements and architectural engineering 8.3.1 Software requirements analysis |
83 | 8.3.2 Software architectural design |
85 | 8.4 Software design and implementation engineering |
87 | 8.5 Software validation |
88 | 8.6 Software delivery and acceptance |
90 | 8.7 Software verification |
93 | 8.8 Software operations 8.9 Software maintenance 8.9.1 Overview 8.9.2 Agile maintenance challenges |
94 | 8.9.3 Tailoring Agile to Maintenance 8.9.3.1 Overview 8.9.3.2 Process Implementation 8.9.3.3 Problem and modification analysis |
95 | 8.9.3.4 Modification implementation 8.9.3.5 Conducting maintenance reviews 8.9.3.6 Software migration 8.9.3.7 Software retirement |
97 | 8.10 Independent software verification and validation |
98 | 9 Guidelines for software product assurance and configuration management 9.1 Software product assurance 9.1.1 Introduction 9.1.1.1 Main motivations for introducing Agile |
99 | 9.1.1.2 Responsibility and authority 9.1.2 Planning of software product assurance activities 9.1.3 Software product assurance reporting |
100 | 9.1.4 Technical Debt and noncompliance of Quality Requirements |
101 | 9.1.5 Software criticality 9.1.6 Software problem management |
102 | 9.1.7 Control of non-conformances 9.1.8 Software development environment aspects 9.1.9 Summary of software product assurance activities in Agile |
104 | 9.2 Software configuration management 9.2.1 Introduction 9.2.2 Agile software configuration management challenges |
106 | 9.2.3 Agile methods for configuration management |
107 | 9.2.4 Summary of software configuration activities in Agile |