What is Software Process Improvement Tor Stlhane IDI

  • Slides: 28
Download presentation
What is Software Process Improvement Tor Stålhane IDI / NTNU

What is Software Process Improvement Tor Stålhane IDI / NTNU

Beware - beware There are three ways to look at SPI. The choice has

Beware - beware There are three ways to look at SPI. The choice has dramatic consequences. SPI should be a • search for the “Right tool” • search for the “Right way” to develop software • method for solving the individual company’s or project’s problems

The “Right tool” view All – or the majority – of our problems stem

The “Right tool” view All – or the majority – of our problems stem from lack of a good tool. Once identified and put into use, the tools will eliminate all our problems in a certain field. The problems are • This view makes software companies forget that software development is really a humancentered activity • What to do while we wait for the perfect tool

The “Right way” view The right or best way to develop software has •

The “Right way” view The right or best way to develop software has • already been discovered. We need to – Identify it – Implement it • still not been discovered. We need to keep on looking. One day it will be published by ACM or IEEE. The problem is what to do while we wait.

The “Problem” view In order to achieve efficient software development we need to •

The “Problem” view In order to achieve efficient software development we need to • Identify our problems – e. g. why do we – make so many coding errors – find so few errors during unit testing • Suggest and try out one or more solutions • Did it help? – Yes => go on to solve the next problem – No => have a second look at the solution. • Why did it not work • What should we try instead

My view of SPI is the “Problem” view. As should be expected, I will

My view of SPI is the “Problem” view. As should be expected, I will use the course to expound this view. Remember, however that: • there are several tools and methods out there that should be tried out. • the main thing is to be goal oriented => – start with the problem – not with the tool or the method.

What are the problems – 1 Many of the problems for the software industry

What are the problems – 1 Many of the problems for the software industry are related to the way we • Work • Cooperate • Communicate Different companies have different ways to work, different cultures and different values. Solution to the problems need to be adapted to each company – there is no silver bullet and there is no such thing as “one size fits all”. For this reason, this course contains no “how to start using inspections”, “how to start using UML” or any other tool or method.

What are the problems – 2 • Bad communication – 42. 9% – –

What are the problems – 2 • Bad communication – 42. 9% – – • Lack of resources Lack of executive support Lack of planning Lack of IT management 10. 6% 9. 3% 8. 1% 6. 2% From The Standish Group Report. Technical problems – 13. 0% – Challenging requirements – Technology illiteracy • 13. 1% 12. 4% 7. 5% 9. 9% Bad management – 34. 2% – – • Incomplete requirements Lack of user involvement Did not need it any longer Unrealistic expectations 8. 7% 4. 3% Others – 9. 9% The important problems are bad communication and bad management. The rest is just noise.

What is SPI – 1

What is SPI – 1

What is SPI – 2 The starting points of effective SPI are: • “Listen

What is SPI – 2 The starting points of effective SPI are: • “Listen to your customers”. Avoid complaints and elicit compliments. • “Listen to your personnel”. Fix the problems that they complain about and strengthen the things they like. Customers and developers have one thing in common – it is cheaper to keep the ones you have that to get new ones.

What is SPI – 3 In order to implement SPI we need to know:

What is SPI – 3 In order to implement SPI we need to know: • What are our main problems? • How can we solve these problems? • How can we check that we really have solved the problems? • How can we avoid running into the same problems again?

The SPI feedback loop

The SPI feedback loop

Keep it simple SPI must be simple – it cannot be the exclusive field

Keep it simple SPI must be simple – it cannot be the exclusive field of statisticians and process experts. SPI will affect everyone in an organization. In order to be implemented, the processes of SPI must be trusted. Trust stems from understanding what is going on and how it will affect those involved. Trust can only be gained if the ideas and concepts are simple. Complicated statistical models and advanced, data-heavy decision models have their place but it is not here. In order to realize SPI, quality must be everybody’s business. If everybody shall participate, everybody must understand what is going on, why we do this and why we do that.

Know thy company Two questions need to be answered before we start improvement •

Know thy company Two questions need to be answered before we start improvement • what is your goal? • what are your competitive advantages? If we ignore these factors we might end up prescribing the wrong type of medicine. The goal can be • Reactive => avoid complaints and defend the market share • Proactive => elicit compliments and gain new market shares Current research seems to indicate that large companies will prefer the first strategy while the small ones will prefer the latter.

The job of the SPI engineer Many developers and managers know what their main

The job of the SPI engineer Many developers and managers know what their main problems are. What the SPI engineer do is to bring it to the surface. • Identify possible solutions – improvement opportunities. • Identify and give priorities to possible solutions. • Implement solution. • Check that the solution had the intended effect. Unfortunately, most companies don’t care about this last activity.

SPI through “Follow the bandwagon” Many companies never do any conscious SPI – i.

SPI through “Follow the bandwagon” Many companies never do any conscious SPI – i. e. collect data, analyse and decide. Instead they follow the bandwagon or any current fad, based on the argument that if • Company X does it, it must be a smart move. • If guru Y recommends it, it must be a good way to do the job

The bandwagon effect – 1 The basic bandwagon model has a feed-back loop where

The bandwagon effect – 1 The basic bandwagon model has a feed-back loop where the bandwagon effect is strengthened by the observation that more companies has adopted a certain technique or tool, leading more companies to follow in their footsteps. Not all companies will jump on the bandwagon right away, since different companies has different levels of bandwagon threshold.

The bandwagon effect – 2 The general mechanism seems to be • A few

The bandwagon effect – 2 The general mechanism seems to be • A few early adopters start to use a new technology. This creates a small bandwagon effect. • Companies with a low bandwagon threshold will get on, thus creating a stronger bandwagon effect. • This brings on companies with a higher threshold, thus creating a stronger bandwagon effect and so ad infinitum. This adoption cycle stops when the new level of the bandwagon effect stays below the adoption threshold for the remaining part of the relevant industrial sector.

Adoption stems from social pressure • Loss of legitimacy. – The greater the organization’s

Adoption stems from social pressure • Loss of legitimacy. – The greater the organization’s reputation is, the more it is taken for granted that the innovation is good. – Organizations that do not follow suite are assumed to be abnormal. – The company adapts the innovations to keep legitimacy. • Loss of competitive advantages. – Those who do not adopt the new method or tool experience a growing risk that the innovation will cause them to lag behind other companies. • They know something we don’t know. – An increasing number of companies adopt the new method or tool. This is taken as a proof that the adopters known something that the other companies do not know.

Bandwagon effect – simple approach • Bk: the company’s assessment of the innovation’s profitability

Bandwagon effect – simple approach • Bk: the company’s assessment of the innovation’s profitability in cycle k. • I: company’s assessment of the innovation’s ROI. • A: experienced level of ambiguity - ignorance. 0 < A < 1. • nk-1: proportion of adopters after cycle k-1. 0 < n < 1. Adapt the invention if Bk > 0

Ambiguity We have three types of ambiguity: • State ambiguity: ignorance about future states

Ambiguity We have three types of ambiguity: • State ambiguity: ignorance about future states of the environment – where will we be? • Effect ambiguity: ignorance about the effect of a future state of the environment – what are the consequences? • Response ambiguity: ignorance about the outcome of response choices for a specific environmental state – how can we handle it?

Example – 1 Introduce Scrum – 10 developers • Assessed ambiguity: medium. A =

Example – 1 Introduce Scrum – 10 developers • Assessed ambiguity: medium. A = 0. 5 • 32 of 150 companies are already using Scrum. nk -1 = 0. 21 • All developers have to take a one-day course. – Cost = 5000 per employee => 50 000. – Gain = 5000*(Invoicing rate)*(Productivity) => 5000*0. 8*1. 3*10 = 52 000

Example – 2 • Bk = (52 000 – 50 000) / 50 000

Example – 2 • Bk = (52 000 – 50 000) / 50 000 + 0. 50* 0. 21 => Bk = 0. 04 + 0. 11 = 0. 15 > 0 • Even if the ROI had been negative, we could have chosen Scrum due to the relatively large last term - Ank-1

Bandwagon effect – advanced approach • ri: the reputation of organization i. • Di,

Bandwagon effect – advanced approach • ri: the reputation of organization i. • Di, k: an indicator variable that is equal to 1 if organization i has adopted the innovation by bandwagon cycle k and 0 otherwise. • pi: real ROI achieved by organization i. • L: number of bandwagon cycles required to transmit profitability information – lag. Terms for previous cycle Terms for cycle where real info is available

The indicator a mathematical trick The way D is used here, it is called

The indicator a mathematical trick The way D is used here, it is called an indicator variable – in this case an indicator for whether company i has adapted a certain process or not.

Parameters The advanced model has three new parameters which need to be estimated or

Parameters The advanced model has three new parameters which need to be estimated or assessed. • ri: the reputation of organization i. 0 < ri < 1. the simplest way to assess this value is to define three categories of companies, e. g. : – high reputation, r = 1. 0 – medium reputation, r = 0. 5 – low reputation, r = 0. 1 • D: a counting variable which is either 1 (adopted) or 0 (not adopted)

Example • • • Company assessment of ROI – I = 0. 10 Ambiguity

Example • • • Company assessment of ROI – I = 0. 10 Ambiguity – future ignorance – A = 0. 30 Reputation of adaptors – r = {0. 7, 0. 8, 0. 9, 0. 3} Real ROI for adaptors L cycles ago – p = {0. 1, 0. 3, 0. 2, 0. 1} Portion of companies that adapted the method L cycles ago n = 0. 4

SPI – main principles • Keep it simple Advanced methods have their place in

SPI – main principles • Keep it simple Advanced methods have their place in research. When running an SPI program they are counterproductive. The participant will not understand such methods and will distrust what they don’t understand. • Goal oriented To try any improvement and see if it helps is a waste of resources. • Risk driven Understand the risks and benefits, what we can do to reduce the risks and how the cost of this reduction compares to the benefits. • Cost – benefit Understand costs and the benefits. Include both direct savings and future opportunities. • Learn from experience We must evaluate our decisions when we have the facts. – smart decision => how to reuse the experience – otherwise => how to avoid the same mistake the next time we are in a similar situation.