SlideShare a Scribd company logo
1 of 33
AGILE METHODS AND SAFETY-CRITICAL SOFTWARE

           Are They Compatible ?




              Peter Gardner
           Technical Consultant
SILVER-ATENA’s Business

    • Software development principally in the rail and
         avionics sectors
    • Consultancy services
    • Provides skilled software engineering staff to work
         on clients’ premises
    • Full system development capability through other
         partner companies in the same group
    •    Group offices in Malmesbury, Bangalore, Madrid
         and Munich


Page 2
SILVER-ATENA Agile Club
    • Established August 2009

    • Purpose : investigate the use of Agile
         methods in safety-critical software
         development


    • “Client” is the Open-DO wider community



Page 3
SILVER-ATENA Agile Club

    • Average attendance 12 people, internal and
         external


    • Total attendance 32 : consultants, software
         engineers, project managers, quality
         department


    • Videos, Powerpoint, discussion

Page 4
What the Presentation is About
    • (1) Can Agile methods be applied to
    safety-critical software and the software still
    be rigorously built and meet certification
    criteria?
    [compatibility].
    • (2) What evidence is there for the benefits
    of Agile methods, especially as regards
    safety-critical software ?
    [cost, quality, time etc]


Page 5
What the Presentation is About
    • For (1), this paper will look at, in
    particular, DO-178B and EN 50128, for the
    aviation and rail sectors respectively
    (level A/B, SIL 3/4)
    • For (2), this paper will summarise the
    results of a websearch looking for evidence of
    the benefits of Agile
    • I will also look at some opinions from
    people who work in the sector


Page 6
Categories of Source Papers
    • Papers on Agile methods and non-safety-
         critical software (10)


    • Papers on Agile methods and safety-critical
         software (7)




Page 7
Different Variants of Agile
    •    XP
    •    Adaptive Software Development
    •    Crystal (family)
    •    Dynamic Systems Development Method
    •    Scrum
    •    Agile Unified Process
    •    Feature-Driven Development




Page 8
Features of Agile Methods
    •    Short release cycles
    •    Incremental requirements development
    •    Customer presence in project
    •    Continuous integration
    •    Customer determines functions in each release cycle
    •    Generally for small teams (up to about 12)
    •    More difficult to apply to larger teams
    •    Adapt for each project
    •    Multi-skilled team members (possibly)
    •    Any team member can change anything




Page 9
Features of Agile Methods

    •     Pair-programming (XP)
    •     Test-driven development
    •     Retrospectives
    •     Larger teams should have shorter cycles (!)
    •     Refactoring
    •     Less emphasis on design and
          documentation
    •     Pair-programming (XP)
    •     Self-organising teams
    •     Project lasts as long as customer gives
          high-value requirements
    •     Departments as service providers


Page 10
Yes, mostly
    • Pass on 15 out of 20
    • Maybe on 3 out of 20
    • No, but not serious, for 1 out of 20 :
          anyone can change anything

    • But there is a real problem with one item :
          reduced emphasis on design and documentation




Page 11
Features of Agile Methods
    •     Short release cycles
    •     Incremental requirements development
    •     Customer presence in project
    •     Continuous integration
    •     Customer determines functions in each release cycle
    •     Generally for small teams (up to about 12)
    •     More difficult to apply to larger teams
    •     Adapt for each project
    •     Multi-skilled team members (possibly)
    •     Any team member can change anything




Page 12
Features of Agile Methods
    •     Pair-programming (XP)
    •     Test-driven development
    •     Retrospectives
    •     Larger teams should have shorter cycles
    •     Refactoring
    •     Less emphasis on design and
          documentation
    •     Change company structure (ideally)
          (departmental to project structure)
    •     Self-organising teams
    •     Project lasts as long as customer gives
          high-value requirements
    •     Departments as service providers




Page 13
DO-178B Outputs(1)
    •     Plan for Software Aspects of Certification
    •     Software Development Plan
    •     Software   Verification Plan
    •     Software   Configuration Management Plan
    •     Software   Quality Assurance Plan
    •     Software   Requirements Standards
    •     Software Design Standards
    •     Software Code Standards
    •     Software Requirements Data



Page 14
DO-178B Outputs(2)
    •     Software Design Description
    •     Source Code
    •     Executable Object Code
    •     Software Verification Cases and Procedures
    •     Software Verification Results
    •     Problem Reports
    •     Software Configuration Management Records
    •     Software Quality Assurance Records
    •     Software Accomplishment Summary



Page 15
EN 50128 Outputs (part 1)
    •     System safety plan
    •     Software Quality Assurance Plan
    •     Software Configuration Management Plan
    •     Software Verification Plan
    •     Software Integration Test Plan
    •     Software /Hardware Integration Test Plan
    •     Software Validation Plan
    •     Software Maintenance Plan
    •     Data Preparation Plan
    •     Data Test Plan




Page 16
EN 50128 Outputs (part 2)
    •     Software Requirements Specification
    •     System Safety Requirements Specification
    •     Software   Requirements Test Specification
    •     Software   Architecture Specification
    •     Software   Design Specification
    •     Software   Module Design Specification
    •     Software Module Test Specification
    •     Software Source Code




Page 17
EN 50128 Outputs (part 3)
    •     Software   Module Test Report
    •     Software   Integration Test Report
    •     Software   Requirements Verification Report
    •     Software   Module Verification Report
    • Software Architecture and Design Verification Report
    •     Software Source Code Verification Report
    •     Software/Hardware Integration Test Report
    •     Software Validation Report
    •     Software Assessment Report
    •     Software Change Records




Page 18
Documents and Contents

    • Its not just a case of producing documentation

    • Much more importantly, one has to produce the
          contents of the documents i.e software
          development artefacts


    • For example, architectural design,
          low-level design, test cases etc



Page 19
Traceability

    • Both DO-178B and EN 50128 require
    traceability through the lifecycle, yet :
    • Agile methods never even consider
    traceability




Page 20
Independence of Roles
    • DO-178B and EN 50128 also require (for higher
    levels) some of the roles to be independent eg.
    implementor and tester
    • This constraint also has to be factored into Agile
    methods




Page 21
Views on Design,
                 Documentation, Traceability
    • Stojanovic et. al. : “[According to] their proponents software code is the main
    deliverable, while the role of system analysis, design and documentation in
    software development and maintenance is de-emphasised and to some extent
    ignored”.
    • Chenu : “without any adaptation, XP’s set of by-the-book practices does not
    provide the formalism and the proofs required for certification
    inspections….documentation must be considered as part of the product”
    • Chenu : “we’ve added the continuous traceability practice”
    • ITEA Deliverable D.1 :“Agile development methods and practices as applied
    for classical software development cannot identically be copied for embedded
    real-time software development”.
    • ITEA Deliverable D.1 : in large, complex systems “a predefined architecture is
    needed…refactoring is not enough, a design is needed”.
    • ITEA Deliverable D.1 : in safety-critical systems“emphasis is placed [on]
    requirements traceability and thus extra documentation is required”.




Page 22
Views on Design,
                 Documentation, Traceability
    • ITEA Deliverable D.2.12 : “developers of mission-critical airborne software are
    heavily constrained by the RTCA DO-178B regulations. These regulations impose
    strict rules regarding traceability and documentation that make it extremely hard
    to employ an iterative software development process” [did they really mean
    this?]
    • ITEA Deliverable D.2.12 : “the mission-critical nature of this software has lead
    to stringent procedures and plans that could specifically exclude the use of Agile
    methods”
    • Wils and Van Baelen : “Agility potential is inherently lower for DO-178B
    compliant projects”
    • Thomas : “beware Agile methods…dangerous where…the system is safety-
    critical” [says use Z and SPARK etc]
    • Ambler : would be “leery of applying Agile modelling to life-critical systems”.
    • Somerville : “critical system engineering needs Agile approaches to
    development”
    • Somerville : “XP includes a set of good practices that have the potential to
    contribute to critical systems engineering” but “some of these need to change
    and new practices need to be included in the XP process”


Page 23
Views on Design,
                 Documentation, Traceability


    • Van Schooenderwoert : “Agile doesn’t treat safety-critical software differently;
    all is maximum quality”
    • Turk et.al. : “formal specification, rigorous test coverage, and other formal
    analysis and evaluation techniques included in software engineering approaches
    provide better, but also more expensive, mechanisms to tackle the development
    of safety- or business-critical software”
    • Rakitin : “it seems to me that this is nothing more than an attempt to
    legitimise hacker behaviour”




Page 24
Empirical Evidence(1)

    • We have seen some opinions
    • Is there any actual data ?




Page 25
Empirical Evidence(2)
    • My web search found two papers (which
    were themselves surveys) :
    • Abrahamsson [7] found 36 papers with
    some evidence
    • ITEA (Information Technology for European
    Advancement) project deliverable D.1
    contained three studies




Page 26
Empirical Evidence(3)

    • Abrahamsson : online survey, 36 papers with
    empirical evidence :
          - a reduction in release time of 20% to 75%
          - a pre-release reduction in defects of 40% to 65%
          - a post-release reduction in defects of 30% to 40%
          - a productivity improvement of 15% to 70%
    Not known if any of these were safety-critical projects




Page 27
Empirical Evidence(4)
    • ITEA
         (1) “has the adoption of Agile processes altered the quality of
    applications?”
          significantly better 36%, better 53%, unchanged 11%, somewhat worse 1%
          (2) “has the adoption of Agile processes altered the cost of development?”
       much less expensive 5%, less expensive 44%, unchanged 46%, more
    expensive 5%
         (3) “has the adoption of Agile processes altered the level of business
    satisfaction with the software ?”
       significantly better 26%, better 57%, unchanged 16%, somewhat worse
    0%, much worse 1%.
          (4) “what proportion of projects are appropriate for Agile processes?”
          all 16%, most 50%, half 22%, some 7%, none 5%


    • Only two out of seven specific projects reported in the literature were safety-
    critical projects


Page 28
Summary
    • I have examined whether Agile methods
    are compatible with the production of safety-
    critical software
    • I have presented evidence from the
    literature of the benefits of Agile methods,
    particularly as regards safety-critical software




Page 29
Conclusions
    • Agile methods, in general, need to be adapted for use in the
          area of safety-critical software development
    •     Certification requirements mean that necessary
          documentation must be incorporated into any
          Agile process selected.
    •     Traceability and role independence must also be considered
    •     The logical extension of Agile methods to the safety-critical
          world requires continuous certification and a colocated
          certification authority
    •     Release cycles are likely to be longer in safety-critical projects but
          there is no reason not to move towards the concept of frequent
          release cycles with an onsite customer
    •     We need to gather more evidence, using reliable, standard metrics
    •     Silver-Atena’s Agile club would be willing to assist in this work

Page 30
References (non-safety-critical)
    [1] Modeling and Architectural Design in Agile Development Methodologies, Stojanovic, Dahanayake, Sol
          http://www.emmsad.org/2003/Final%20Copy/27.pdf
    [2] Agile in Embedded Software Development :
          State-of the-Art Review in Literature and Practice ITEA Deliverable D.1
          http://www.agile-itea.org/public/deliverables.php
    [3] A Practical Guide to Seven Agile Methodologies, part 1, Rod Coffin and Derek Lane
          http://www.devx.com/architect/Article/32761/1954
    [4] A Practical Guide to Seven Agile Methodologies, part 2, Rod Coffin and Derek Lane
          http://www.devx.com/architect/Article/32836/1954
    [5] Empirical Findings in Agile Methods, Lindvall et. al.
          http://www.cs.umd.edu/~mvz/pub/agile.pdf
    [6] The Agile Unified Process, Scott Ambler
          http://www.ambysoft.com/unifiedprocess/agileUP.html
    [7] Pealing the Hype into Pieces : What do we Really Know About Agile in Research and Practice ?
          Pekka Abrahamsson,VTT Technical Research Centre of Finland
          http://www.agile-itea.org/public/papers/OLIO_abrahamsson.pdf
    [8] Limitations of Agile Software Processes, Turk, France, Rump
          http://www.agilealliance.org/system/article/file/1096/file.pdf
    [9] The Cockburn Scale
          http://en.wikipedia.org/wiki/Cockburn_Scale
    [10] Manifesto Elicits Cynicism, Steven Rakitin Computer, December 2001
          http://sunset.usc.edu/events/2002/arr/letters.pdf




Page 31
References (safety-critical)
    [11] Agility and Lean for Avionics, Emmanuel Chenu
          http://manu40k.free.fr/AgilityAndLeanForAvionics1.pdf
    [12] ITEA Deliverable D.2.12 Towards An Agile Avionics Process, Wils and Van Baelen
          http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.12_v1.0.pdf
    [13] Agility in the Avionics World, Wils and Van Baelen
            https://lirias.kuleuven.be/bitstream/123456789/133945/1/2006-Sofia1.pdf
    [14]   Critical Software : The Need For A Radical Solution, Martyn Thomas
            http://www.thomas-associates.co.uk/Critical%20Software.pdf
    [15]   Get Ready for Agile Methods, With Care, Barry Boehm, IEEE Computer 2002
            http://www2.umassd.edu/swpi/xp/papers/r1064.pdf
    [16]   Extreme Programming for Critical Systems, Ian Sommerville
            http://www.cs.st-andrews.ac.uk/~ifs/Talks/XPForCritSys.pdf
    [17]   Safety-Critical Applications Built via Agile Discipline, Nancy van Schooenderwoert
            http://www.boston-spin.org/slides/boston_spin_slides_2008_09.pdf




Page 32
Thank you for your attention !

More Related Content

What's hot

Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity RecognitionAshwinGill1
 
Stock market prediction using Twitter sentiment analysis
Stock market prediction using Twitter sentiment analysisStock market prediction using Twitter sentiment analysis
Stock market prediction using Twitter sentiment analysisjournal ijrtem
 
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!Aggregage
 
Explainable AI
Explainable AIExplainable AI
Explainable AIDinesh V
 
運用ルールの決定
運用ルールの決定運用ルールの決定
運用ルールの決定e-sales-support
 
Get started with Dialogflow & Contact Center AI on Google Cloud
Get started with Dialogflow & Contact Center AI on Google CloudGet started with Dialogflow & Contact Center AI on Google Cloud
Get started with Dialogflow & Contact Center AI on Google CloudDaniel Zivkovic
 
Human Pose Estimation by Deep Learning
Human Pose Estimation by Deep LearningHuman Pose Estimation by Deep Learning
Human Pose Estimation by Deep LearningWei Yang
 
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIES
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIESYOGA POSE DETECTION USING MACHINE LEARNING LIBRARIES
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIESIRJET Journal
 
前列腺癌 在香港的發展與展望 19_6 (2) - 副本.pptx
前列腺癌 在香港的發展與展望 19_6  (2) - 副本.pptx前列腺癌 在香港的發展與展望 19_6  (2) - 副本.pptx
前列腺癌 在香港的發展與展望 19_6 (2) - 副本.pptx崔 家倫
 
인터넷 서비스의 종류
인터넷 서비스의 종류인터넷 서비스의 종류
인터넷 서비스의 종류Chulgyu Shin
 
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!Sri Ambati
 
Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationOptimizely
 
Predicting house prices_Regression
Predicting house prices_RegressionPredicting house prices_Regression
Predicting house prices_RegressionSruti Jain
 
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...Seunghyun Hwang
 
HEALTH PREDICTION ANALYSIS USING DATA MINING
HEALTH PREDICTION ANALYSIS USING DATA  MININGHEALTH PREDICTION ANALYSIS USING DATA  MINING
HEALTH PREDICTION ANALYSIS USING DATA MININGAshish Salve
 
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...DataScienceConferenc1
 
Day 1 (Lecture 3): Predictive Analytics in Healthcare
Day 1 (Lecture 3): Predictive Analytics in HealthcareDay 1 (Lecture 3): Predictive Analytics in Healthcare
Day 1 (Lecture 3): Predictive Analytics in HealthcareAseda Owusua Addai-Deseh
 

What's hot (20)

Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Stock market prediction using Twitter sentiment analysis
Stock market prediction using Twitter sentiment analysisStock market prediction using Twitter sentiment analysis
Stock market prediction using Twitter sentiment analysis
 
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
 
Data Science and Analysis.pptx
Data Science and Analysis.pptxData Science and Analysis.pptx
Data Science and Analysis.pptx
 
Explainable AI
Explainable AIExplainable AI
Explainable AI
 
運用ルールの決定
運用ルールの決定運用ルールの決定
運用ルールの決定
 
Get started with Dialogflow & Contact Center AI on Google Cloud
Get started with Dialogflow & Contact Center AI on Google CloudGet started with Dialogflow & Contact Center AI on Google Cloud
Get started with Dialogflow & Contact Center AI on Google Cloud
 
Human Pose Estimation by Deep Learning
Human Pose Estimation by Deep LearningHuman Pose Estimation by Deep Learning
Human Pose Estimation by Deep Learning
 
7 steps to Predictive Analytics
7 steps to Predictive Analytics 7 steps to Predictive Analytics
7 steps to Predictive Analytics
 
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIES
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIESYOGA POSE DETECTION USING MACHINE LEARNING LIBRARIES
YOGA POSE DETECTION USING MACHINE LEARNING LIBRARIES
 
前列腺癌 在香港的發展與展望 19_6 (2) - 副本.pptx
前列腺癌 在香港的發展與展望 19_6  (2) - 副本.pptx前列腺癌 在香港的發展與展望 19_6  (2) - 副本.pptx
前列腺癌 在香港的發展與展望 19_6 (2) - 副本.pptx
 
인터넷 서비스의 종류
인터넷 서비스의 종류인터넷 서비스의 종류
인터넷 서비스의 종류
 
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!
Get hands-on with Explainable AI at Machine Learning Interpretability(MLI) Gym!
 
Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive Experimentation
 
ThoughtWorks Approach 2009
ThoughtWorks Approach 2009ThoughtWorks Approach 2009
ThoughtWorks Approach 2009
 
Predicting house prices_Regression
Predicting house prices_RegressionPredicting house prices_Regression
Predicting house prices_Regression
 
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...
Energy-based Model for Out-of-Distribution Detection in Deep Medical Image Se...
 
HEALTH PREDICTION ANALYSIS USING DATA MINING
HEALTH PREDICTION ANALYSIS USING DATA  MININGHEALTH PREDICTION ANALYSIS USING DATA  MINING
HEALTH PREDICTION ANALYSIS USING DATA MINING
 
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...
[DSC Europe 22] Fostering the new data culture at Bosch Power Tools - Christo...
 
Day 1 (Lecture 3): Predictive Analytics in Healthcare
Day 1 (Lecture 3): Predictive Analytics in HealthcareDay 1 (Lecture 3): Predictive Analytics in Healthcare
Day 1 (Lecture 3): Predictive Analytics in Healthcare
 

Viewers also liked

Challenges of Agile Qualification
Challenges of Agile QualificationChallenges of Agile Qualification
Challenges of Agile QualificationAdaCore
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaAdaCore
 
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...Editor IJCATR
 
Open Innovation at the Enterprise 2.0 era
Open Innovation at the Enterprise 2.0 eraOpen Innovation at the Enterprise 2.0 era
Open Innovation at the Enterprise 2.0 eraJean-Yves Huwart
 
Integrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntegrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntland Software GmbH
 
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew WeinbergHow to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew WeinbergAtlassian
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development MethodologySteve Greene
 
Agile enterprise architecture
Agile enterprise architectureAgile enterprise architecture
Agile enterprise architectureScott W. Ambler
 
Salesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSalesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSteve Greene
 

Viewers also liked (10)

Challenges of Agile Qualification
Challenges of Agile QualificationChallenges of Agile Qualification
Challenges of Agile Qualification
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and idea
 
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...
Suitability of Agile Methods for Safety-Critical Systems Development: A Surve...
 
Network
NetworkNetwork
Network
 
Open Innovation at the Enterprise 2.0 era
Open Innovation at the Enterprise 2.0 eraOpen Innovation at the Enterprise 2.0 era
Open Innovation at the Enterprise 2.0 era
 
Integrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntegrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) Development
 
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew WeinbergHow to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
 
Adaptive Development Methodology
Adaptive Development MethodologyAdaptive Development Methodology
Adaptive Development Methodology
 
Agile enterprise architecture
Agile enterprise architectureAgile enterprise architecture
Agile enterprise architecture
 
Salesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 ConferenceSalesforce.com Agile Transformation - Agile 2007 Conference
Salesforce.com Agile Transformation - Agile 2007 Conference
 

Similar to Agile methods and safety critical software - Peter Gardner

ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btechIIITA
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Software product development process
Software product development processSoftware product development process
Software product development processSri Kanajan
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processesanointon
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and SecureDenim Group
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]JULIO GONZALEZ SANZ
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile developmentPerforce
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentZahid Hussain
 
What is Software Engineering?
What is Software Engineering?What is Software Engineering?
What is Software Engineering?QAI
 
Five Pain Points of Agile Development (And How Software Version Management Ca...
Five Pain Points of Agile Development (And How Software Version Management Ca...Five Pain Points of Agile Development (And How Software Version Management Ca...
Five Pain Points of Agile Development (And How Software Version Management Ca...Perforce
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 

Similar to Agile methods and safety critical software - Peter Gardner (20)

ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software product development process
Software product development processSoftware product development process
Software product development process
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile development
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-development
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
What is Software Engineering?
What is Software Engineering?What is Software Engineering?
What is Software Engineering?
 
Slides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software EngineeringSlides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software Engineering
 
Five Pain Points of Agile Development (And How Software Version Management Ca...
Five Pain Points of Agile Development (And How Software Version Management Ca...Five Pain Points of Agile Development (And How Software Version Management Ca...
Five Pain Points of Agile Development (And How Software Version Management Ca...
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 

More from AdaCore

RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsAdaCore
 
Have we a Human Ecosystem?
Have we a Human Ecosystem?Have we a Human Ecosystem?
Have we a Human Ecosystem?AdaCore
 
Rust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesRust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesAdaCore
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic libraryAdaCore
 
Developing Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsDeveloping Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsAdaCore
 
Taming event-driven software via formal verification
Taming event-driven software via formal verificationTaming event-driven software via formal verification
Taming event-driven software via formal verificationAdaCore
 
Pushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofPushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofAdaCore
 
RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsAdaCore
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationAdaCore
 
Securing the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareSecuring the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareAdaCore
 
Spark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentSpark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentAdaCore
 
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...AdaCore
 
The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!AdaCore
 
Adaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaCore
 
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...AdaCore
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologyAdaCore
 
MISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextMISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextAdaCore
 
Application of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareApplication of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareAdaCore
 
The Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareThe Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareAdaCore
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentAdaCore
 

More from AdaCore (20)

RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
 
Have we a Human Ecosystem?
Have we a Human Ecosystem?Have we a Human Ecosystem?
Have we a Human Ecosystem?
 
Rust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesRust and the coming age of high integrity languages
Rust and the coming age of high integrity languages
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic library
 
Developing Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsDeveloping Future High Integrity Processing Solutions
Developing Future High Integrity Processing Solutions
 
Taming event-driven software via formal verification
Taming event-driven software via formal verificationTaming event-driven software via formal verification
Taming event-driven software via formal verification
 
Pushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofPushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program Proof
 
RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configuration
 
Securing the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareSecuring the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded Software
 
Spark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentSpark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware Development
 
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
 
The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!
 
Adaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR Architecture
 
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar Technology
 
MISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextMISRA C in an ISO 26262 context
MISRA C in an ISO 26262 context
 
Application of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareApplication of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle software
 
The Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareThe Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling Software
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise Environment
 

Recently uploaded

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Recently uploaded (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

Agile methods and safety critical software - Peter Gardner

  • 1. AGILE METHODS AND SAFETY-CRITICAL SOFTWARE Are They Compatible ? Peter Gardner Technical Consultant
  • 2. SILVER-ATENA’s Business • Software development principally in the rail and avionics sectors • Consultancy services • Provides skilled software engineering staff to work on clients’ premises • Full system development capability through other partner companies in the same group • Group offices in Malmesbury, Bangalore, Madrid and Munich Page 2
  • 3. SILVER-ATENA Agile Club • Established August 2009 • Purpose : investigate the use of Agile methods in safety-critical software development • “Client” is the Open-DO wider community Page 3
  • 4. SILVER-ATENA Agile Club • Average attendance 12 people, internal and external • Total attendance 32 : consultants, software engineers, project managers, quality department • Videos, Powerpoint, discussion Page 4
  • 5. What the Presentation is About • (1) Can Agile methods be applied to safety-critical software and the software still be rigorously built and meet certification criteria? [compatibility]. • (2) What evidence is there for the benefits of Agile methods, especially as regards safety-critical software ? [cost, quality, time etc] Page 5
  • 6. What the Presentation is About • For (1), this paper will look at, in particular, DO-178B and EN 50128, for the aviation and rail sectors respectively (level A/B, SIL 3/4) • For (2), this paper will summarise the results of a websearch looking for evidence of the benefits of Agile • I will also look at some opinions from people who work in the sector Page 6
  • 7. Categories of Source Papers • Papers on Agile methods and non-safety- critical software (10) • Papers on Agile methods and safety-critical software (7) Page 7
  • 8. Different Variants of Agile • XP • Adaptive Software Development • Crystal (family) • Dynamic Systems Development Method • Scrum • Agile Unified Process • Feature-Driven Development Page 8
  • 9. Features of Agile Methods • Short release cycles • Incremental requirements development • Customer presence in project • Continuous integration • Customer determines functions in each release cycle • Generally for small teams (up to about 12) • More difficult to apply to larger teams • Adapt for each project • Multi-skilled team members (possibly) • Any team member can change anything Page 9
  • 10. Features of Agile Methods • Pair-programming (XP) • Test-driven development • Retrospectives • Larger teams should have shorter cycles (!) • Refactoring • Less emphasis on design and documentation • Pair-programming (XP) • Self-organising teams • Project lasts as long as customer gives high-value requirements • Departments as service providers Page 10
  • 11. Yes, mostly • Pass on 15 out of 20 • Maybe on 3 out of 20 • No, but not serious, for 1 out of 20 : anyone can change anything • But there is a real problem with one item : reduced emphasis on design and documentation Page 11
  • 12. Features of Agile Methods • Short release cycles • Incremental requirements development • Customer presence in project • Continuous integration • Customer determines functions in each release cycle • Generally for small teams (up to about 12) • More difficult to apply to larger teams • Adapt for each project • Multi-skilled team members (possibly) • Any team member can change anything Page 12
  • 13. Features of Agile Methods • Pair-programming (XP) • Test-driven development • Retrospectives • Larger teams should have shorter cycles • Refactoring • Less emphasis on design and documentation • Change company structure (ideally) (departmental to project structure) • Self-organising teams • Project lasts as long as customer gives high-value requirements • Departments as service providers Page 13
  • 14. DO-178B Outputs(1) • Plan for Software Aspects of Certification • Software Development Plan • Software Verification Plan • Software Configuration Management Plan • Software Quality Assurance Plan • Software Requirements Standards • Software Design Standards • Software Code Standards • Software Requirements Data Page 14
  • 15. DO-178B Outputs(2) • Software Design Description • Source Code • Executable Object Code • Software Verification Cases and Procedures • Software Verification Results • Problem Reports • Software Configuration Management Records • Software Quality Assurance Records • Software Accomplishment Summary Page 15
  • 16. EN 50128 Outputs (part 1) • System safety plan • Software Quality Assurance Plan • Software Configuration Management Plan • Software Verification Plan • Software Integration Test Plan • Software /Hardware Integration Test Plan • Software Validation Plan • Software Maintenance Plan • Data Preparation Plan • Data Test Plan Page 16
  • 17. EN 50128 Outputs (part 2) • Software Requirements Specification • System Safety Requirements Specification • Software Requirements Test Specification • Software Architecture Specification • Software Design Specification • Software Module Design Specification • Software Module Test Specification • Software Source Code Page 17
  • 18. EN 50128 Outputs (part 3) • Software Module Test Report • Software Integration Test Report • Software Requirements Verification Report • Software Module Verification Report • Software Architecture and Design Verification Report • Software Source Code Verification Report • Software/Hardware Integration Test Report • Software Validation Report • Software Assessment Report • Software Change Records Page 18
  • 19. Documents and Contents • Its not just a case of producing documentation • Much more importantly, one has to produce the contents of the documents i.e software development artefacts • For example, architectural design, low-level design, test cases etc Page 19
  • 20. Traceability • Both DO-178B and EN 50128 require traceability through the lifecycle, yet : • Agile methods never even consider traceability Page 20
  • 21. Independence of Roles • DO-178B and EN 50128 also require (for higher levels) some of the roles to be independent eg. implementor and tester • This constraint also has to be factored into Agile methods Page 21
  • 22. Views on Design, Documentation, Traceability • Stojanovic et. al. : “[According to] their proponents software code is the main deliverable, while the role of system analysis, design and documentation in software development and maintenance is de-emphasised and to some extent ignored”. • Chenu : “without any adaptation, XP’s set of by-the-book practices does not provide the formalism and the proofs required for certification inspections….documentation must be considered as part of the product” • Chenu : “we’ve added the continuous traceability practice” • ITEA Deliverable D.1 :“Agile development methods and practices as applied for classical software development cannot identically be copied for embedded real-time software development”. • ITEA Deliverable D.1 : in large, complex systems “a predefined architecture is needed…refactoring is not enough, a design is needed”. • ITEA Deliverable D.1 : in safety-critical systems“emphasis is placed [on] requirements traceability and thus extra documentation is required”. Page 22
  • 23. Views on Design, Documentation, Traceability • ITEA Deliverable D.2.12 : “developers of mission-critical airborne software are heavily constrained by the RTCA DO-178B regulations. These regulations impose strict rules regarding traceability and documentation that make it extremely hard to employ an iterative software development process” [did they really mean this?] • ITEA Deliverable D.2.12 : “the mission-critical nature of this software has lead to stringent procedures and plans that could specifically exclude the use of Agile methods” • Wils and Van Baelen : “Agility potential is inherently lower for DO-178B compliant projects” • Thomas : “beware Agile methods…dangerous where…the system is safety- critical” [says use Z and SPARK etc] • Ambler : would be “leery of applying Agile modelling to life-critical systems”. • Somerville : “critical system engineering needs Agile approaches to development” • Somerville : “XP includes a set of good practices that have the potential to contribute to critical systems engineering” but “some of these need to change and new practices need to be included in the XP process” Page 23
  • 24. Views on Design, Documentation, Traceability • Van Schooenderwoert : “Agile doesn’t treat safety-critical software differently; all is maximum quality” • Turk et.al. : “formal specification, rigorous test coverage, and other formal analysis and evaluation techniques included in software engineering approaches provide better, but also more expensive, mechanisms to tackle the development of safety- or business-critical software” • Rakitin : “it seems to me that this is nothing more than an attempt to legitimise hacker behaviour” Page 24
  • 25. Empirical Evidence(1) • We have seen some opinions • Is there any actual data ? Page 25
  • 26. Empirical Evidence(2) • My web search found two papers (which were themselves surveys) : • Abrahamsson [7] found 36 papers with some evidence • ITEA (Information Technology for European Advancement) project deliverable D.1 contained three studies Page 26
  • 27. Empirical Evidence(3) • Abrahamsson : online survey, 36 papers with empirical evidence : - a reduction in release time of 20% to 75% - a pre-release reduction in defects of 40% to 65% - a post-release reduction in defects of 30% to 40% - a productivity improvement of 15% to 70% Not known if any of these were safety-critical projects Page 27
  • 28. Empirical Evidence(4) • ITEA (1) “has the adoption of Agile processes altered the quality of applications?” significantly better 36%, better 53%, unchanged 11%, somewhat worse 1% (2) “has the adoption of Agile processes altered the cost of development?” much less expensive 5%, less expensive 44%, unchanged 46%, more expensive 5% (3) “has the adoption of Agile processes altered the level of business satisfaction with the software ?” significantly better 26%, better 57%, unchanged 16%, somewhat worse 0%, much worse 1%. (4) “what proportion of projects are appropriate for Agile processes?” all 16%, most 50%, half 22%, some 7%, none 5% • Only two out of seven specific projects reported in the literature were safety- critical projects Page 28
  • 29. Summary • I have examined whether Agile methods are compatible with the production of safety- critical software • I have presented evidence from the literature of the benefits of Agile methods, particularly as regards safety-critical software Page 29
  • 30. Conclusions • Agile methods, in general, need to be adapted for use in the area of safety-critical software development • Certification requirements mean that necessary documentation must be incorporated into any Agile process selected. • Traceability and role independence must also be considered • The logical extension of Agile methods to the safety-critical world requires continuous certification and a colocated certification authority • Release cycles are likely to be longer in safety-critical projects but there is no reason not to move towards the concept of frequent release cycles with an onsite customer • We need to gather more evidence, using reliable, standard metrics • Silver-Atena’s Agile club would be willing to assist in this work Page 30
  • 31. References (non-safety-critical) [1] Modeling and Architectural Design in Agile Development Methodologies, Stojanovic, Dahanayake, Sol http://www.emmsad.org/2003/Final%20Copy/27.pdf [2] Agile in Embedded Software Development : State-of the-Art Review in Literature and Practice ITEA Deliverable D.1 http://www.agile-itea.org/public/deliverables.php [3] A Practical Guide to Seven Agile Methodologies, part 1, Rod Coffin and Derek Lane http://www.devx.com/architect/Article/32761/1954 [4] A Practical Guide to Seven Agile Methodologies, part 2, Rod Coffin and Derek Lane http://www.devx.com/architect/Article/32836/1954 [5] Empirical Findings in Agile Methods, Lindvall et. al. http://www.cs.umd.edu/~mvz/pub/agile.pdf [6] The Agile Unified Process, Scott Ambler http://www.ambysoft.com/unifiedprocess/agileUP.html [7] Pealing the Hype into Pieces : What do we Really Know About Agile in Research and Practice ? Pekka Abrahamsson,VTT Technical Research Centre of Finland http://www.agile-itea.org/public/papers/OLIO_abrahamsson.pdf [8] Limitations of Agile Software Processes, Turk, France, Rump http://www.agilealliance.org/system/article/file/1096/file.pdf [9] The Cockburn Scale http://en.wikipedia.org/wiki/Cockburn_Scale [10] Manifesto Elicits Cynicism, Steven Rakitin Computer, December 2001 http://sunset.usc.edu/events/2002/arr/letters.pdf Page 31
  • 32. References (safety-critical) [11] Agility and Lean for Avionics, Emmanuel Chenu http://manu40k.free.fr/AgilityAndLeanForAvionics1.pdf [12] ITEA Deliverable D.2.12 Towards An Agile Avionics Process, Wils and Van Baelen http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.12_v1.0.pdf [13] Agility in the Avionics World, Wils and Van Baelen https://lirias.kuleuven.be/bitstream/123456789/133945/1/2006-Sofia1.pdf [14] Critical Software : The Need For A Radical Solution, Martyn Thomas http://www.thomas-associates.co.uk/Critical%20Software.pdf [15] Get Ready for Agile Methods, With Care, Barry Boehm, IEEE Computer 2002 http://www2.umassd.edu/swpi/xp/papers/r1064.pdf [16] Extreme Programming for Critical Systems, Ian Sommerville http://www.cs.st-andrews.ac.uk/~ifs/Talks/XPForCritSys.pdf [17] Safety-Critical Applications Built via Agile Discipline, Nancy van Schooenderwoert http://www.boston-spin.org/slides/boston_spin_slides_2008_09.pdf Page 32
  • 33. Thank you for your attention !