1. Requirements failures

background

1.1. TUI’s reservation system

miss guardian
Figure 1. (source here)
It was programmed in an unnamed foreign country where the title “Miss” is used for a child and “Ms” for an adult female.

1.2. Integration vs. Unit testing

no integration testing

2. DevOps / Agile / Test / Requirements

  • Plan, Test, OK

  • But towards WHAT?

devops test
Figure 2. Tests in DevOps

2.1. Example of approach (RE'18 tutorial)

  • Express requirements through User Stories

  • Formally express US acceptance tests (BDD/TDD)

  • Use CI/CD to ensure feature availability

2.2. Common situation

The Way
Figure 3. The way of all projects (source Twitter)

2.3. Requirements Engineering Process

  • Requirements Elicitation

  • Requirements Analysis & Negotiation

  • Requirements Validation

  • Requirements Documentation

  • Requirements Management

Requirements Engineering Process
Figure 4. Requirements Engineering Process (source [Sommerville & Sawyer 1997])

Expected properties vs. description

Expected properties vs. description
Figure 5. Expected properties vs. description (source CESAM)

2.4. Requirements in industry = ALM

ALM
Figure 6. (source here)

2.5. Problems…​

  • Readability?

  • Compliance with the specs?

  • Maintainability?

  • Extension to fulfill the specs?

  • Testability?

3. Situation overview

3.1. Typical situation

DevOps Quality Assessment
Figure 7. DevOps Quality Assessment

3.2. Who will use the product?

Persona = Name + Bio + Objectives

3.3. Writing Epics & Stories

Specifying in an agile way

3.4. Specifying with Stories

EPIC = Persona + Action + Benefits

Story = Epic + Acceptance criteria + Tests (+ Estimations)

4. Testing

devops test
Figure 8. Tests in DevOps

4.1. Test-Driven Development

  1. (Write an issue about the bug, with details)

  2. Write a failing test (reproduce the bug)

  3. Correct the bug

  4. Make the test pass

  5. (close the issue)

4.2. Behavior-Driven Development

BDD vs TDD
Figure 9. BDD vs TDD

4.3. Quality Assessment

bonnesPratiques

4.4. Automation (and CI)

buildsstatus

5. Who are your clients?

5.1. Your client(s)

MPA2018 1

5.2. Your teacher(s)

MPA2018 2

5.3. At the same time!

MPA2018

5.4. Minimal Viable Product (usual)

mvp classic
Figure 10. Minimal Viable Product (by Henrik Kniberg)

5.5. Minimal Viable Product (improved)

minimum viable product
Figure 11. A more accurate representation (source https://altkomsoftware.pl/en/blog/mvp-insurance/)

5.6. MVP & EPICS

mvp priorities
mvp

6. Back to the requirements

MOA

Req = Stakeholders Needs

MOE

Req = Systems Needs

7. Stakeholders Value Networks

SVN

8. Traceability

Traceability
Figure 12. Example of traceability in the Dronology project (source here)

Appendix B: Credits