Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using requirements specification to speed up STPA-BDD in agile development

5aecc230f8e833c3e2cf2945c704c533?s=47 Stefan Wagner
November 02, 2018

Using requirements specification to speed up STPA-BDD in agile development

A discussion of combining the safety analysis STPA with behaviour-driven development to support agile development of safety-critical systems. This discusses introducing more automation to make it more efficient vs. loosing communication.

5aecc230f8e833c3e2cf2945c704c533?s=128

Stefan Wagner

November 02, 2018
Tweet

Transcript

  1. Amsterdam, 2018-11-02 Stefan Wagner Using requirements specification to speed up

    STPA-BDD in agile development
  2. You can copy, share and change, film and photograph, blog,

    live-blog and tweet this presentation given that you attribute it to its author and respect the rights and licences of its parts. based on slides by @SMEasterbrook und @ethanwhite
  3. !3 Agile Software Development

  4. !4 Agile Software Development of Safety- Critical Systems? Safety analysis

    without an upfront architecture design? Unstable requirements that can change every few weeks?
  5. !5 There are some approaches – S- Scrum Prerequisite SSRS

    with STPA Pre-Planning Meeting Sprint Planning Meeting STPA Regular Safety Meeting Daily Scrum Meeting TDD/BDD/CI Sprint Review Meeting Sprint Retrospective Meeting Final STPA Validation https://arxiv.org/abs/1703.05375
  6. !6 Focus on communication

  7. Based on: M. Cohn. Succeeding with Agile. Addison-Wesley, 2010 Test

    Code Refactor Test Code Refactor Test Code Refactor Passing acceptance test Refactor the test Customer acceptance Implement acceptance test(s) Failing acceptance tests Acceptance- test-driven development Test-driven development Identify conditions of satisfaction Select a user story
  8. !8 Behaviour-Driven Development (BDD) Developer Tester Product Owner Examples Scenarios

    Automated Tests
  9. Feature: Refund item Scenario: Jeff returns a faulty microwave Given

    Jeff has bought a microwave for $100 And he has a receipt When he returns the microwave Then Jeff should be refunded $100 Behaviour-Driven Development (BDD)
  10. !10 STPA-BDD

  11. !11 Example Unsafe Scenario from STPA Gherkin Scenario During auto-parking,

    the autonomous vehicle does not stop immediately when there is an obstacle up front. Given the autonomous vehicle is auto-parking When the ultrasonic sensor provides the feedback that the forward distance is smaller or equal to a threshold indicating that ther is an obstacle up front Then the autonomous vehicle stops immediately.
  12. !12 Experimental results many safety requirements can be written into

    test cases within a limited time slot. 25 But: Communication effectiveness is significantly different! The developers consider the safety requirements deeply and initiatively. The business analysts are more confident about the test cases. It becomes easier to identify conflicts in business rules and test cases. The business analysts are clear about the status of acceptance testing. The business analysts could spend less time on sprint-end acceptance tests.
  13. !13 Speeding it up with automation

  14. !14

  15. !15 Putting a formal basis below it

  16. !16 Will we loose communication? Developer Tester Product Owner

  17. !17

  18. Prof. Dr. Stefan Wagner e-mail stefan.wagner@informatik.uni-stuttgart.de phone +49 (0) 711

    685-88455 WWW www.iste.uni-stuttgart.de/se Twitter prof_wagnerst ORCID 0000-0002-5256-8429 Institute of Software Technology These slides are available at www.stefan-wagner.biz Joint work with Yang Wang (now at Bosch) and John Thomas (MIT)
  19. Pictures used in this slide deck Safety by GotCredit (https://flic.kr/p/qHCmfo,

    Got Credit) Scrum framework by Dr ian mitchell under CC BY-SA 4.0 (https:// en.wikipedia.org/wiki/Scrum_(software_development)#/media/ File:Scrum_Framework.png) Screenshot from http://agilemanifesto.org by Ward Cunningham