Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem...

20
Agile and Lean in Safety-critical Software Development XP2013 PhD Symposium, Wien June 3th, 2013

Transcript of Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem...

Page 1: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Agile and Lean in Safety-critical Software Development

XP2013 PhD Symposium, WienJune 3th, 2013

Page 2: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

About Myself

� +12 year industrial experience of software development projects

� Industrial PhD Student � employed by Etteplan� Finnish company

Umeå

� Finnish company � Advisors from Mälardalen University,

Västerås� Sasikumar Punnekkat� Stig Larsson

Stockholm

Göteborg

Malmö

Västerås

Page 3: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

The world is full of challenges

Page 4: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Challenge #1: Being an “Industrial PhD”

Course-work

Company Academia

Earn moneyFind improvements

Scientific contributionPapers, papers and papers

Not research-related work

“Research-related work”

ConferencesEtc.

Study rate

Page 5: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Our customers’ challenges

Our customers’ customers want

More intelligent /automatedsolutions

Safe products

Morecomplex software

Must fulfill international standards

solutions

Increased development time and cost

Page 6: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Why not look at Agile and Lean?

Page 7: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Agile and Lean promises

Shorter time to market

HigherproductivityManaging

change better

Less documentation

Team satisfaction

Page 8: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Overall research question

�How can agile and lean thinking improve the efficiency of developing software for safety-critical systems ?�Which benefits?�Which benefits?�Which barriers?

� How can we overcome them?

�Constraints:�Under current regulations� In context X (domain)

Page 9: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Research approach

A. What is the problem?� The standards?� The current way of

working?

B. What is the potential solution?• What is Lean Sw. dev?

working?

C. What happens when we combine them?�Adapted safety development life-cycle

models?�Empirical evidence

Page 10: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

A. The problem: Current standards?

EN 50128 for Railway

Page 11: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Extreme Programming (XP) vs EN 50128

�Both supporting and conflicting features�XP does not address all

� planning, � planning, � hazard/risk analysis, � documentation, � verification and validation activities

Page 12: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

B. The solution? Lean?

�Larger improvement framework�Starts from existing process

� Thinking, then Doing�Quality focus all the time�Quality focus all the time�Visualize and optimize flow�Eliminate waste to increase productivity

�But how to define it for, and apply it to, software development?�Systematic Literature Review

Page 13: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Seminal Lean Sources Identified

Lean productionin general

Lean software

development

14 5

13 6 3

2

Page 14: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

2nd paper: A comprehensive framework for Lean software development

Lean Software Development

Key concepts Value, Waste, etc.

Goals

Recommended activities

Examples of practices

Page 15: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

A. The problem: Current way of working

�Paper C: Which waste can observed by looking at assessment data?

�Analysis of reports from audits�Analysis of reports from audits

Page 16: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

C. Upcoming research

�Empirical investigations �Application of selected agile and lean

principles and practices principles and practices � In the safety-critical software domain�Solve real-world problems�Contribute to “general knowledge”

Page 17: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Participatory Action Research –Applying Lean A3 problem solving as research?

1. Diagnosis• Finding problems• Identifying root causes• Collecting data (go to gemba)• Value stream mapping

2. Planning• Looking for state-of-the-art• Agile / Lean solutions?• Involving affected people• Creating baseline

3. Taking action• Pilot projects• Participating

4. Evaluation• Comparing with baseline• Interviews• Retrospectives• Paper writing

Page 18: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Research Challenge Summary

�Getting time for research

�Combining complex software with safety

�Developing safe software efficiently�Developing safe software efficiently

�Applying agile and lean in regulated

environments

�Defining Lean software development

�Performing research at work

Page 19: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes

Thanks for listening!

Contact information:Henrik JonssonE-mail: [email protected]: [email protected]: hen_jonsson

Page 20: Agile and Lean in Safety-critical Software Development · 6/3/2013  · Applying Lean A3 problem solving as research? 1. Diagnosis • Finding problems • Identifying root causes