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

Slides:



Advertisements
Similar presentations
Problem Solving.
Advertisements

Project leaders will keep track of team progress using an A3 Report.
Essays for TDT4235 Tor Stålhane IDI / NTNU. Intro The essay counts for 30 of the 100 points used to grade the students of this course The essay must be.
Exam 2012 Tor Stålhane IDI / NTNU. Unit Testing - Possible QA Killer – 1 With unit testing you can properly check over 90 percent of your code, and, unlike.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
PLANNING in NURSING ADMINISTRATION DECISION MAKING & PROBLEM SOLVING.
Part A - QUALITY AS (3.1): Demonstrate understanding of how internal factors interact within a business that operates in a global context.
VENDORS, CONSULTANTS AND USERS
Problem solving in project management
thinking hats Six of Prepared by Eman A. Al Abdullah ©
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
Introduction to TDT 4235 Tor Stålhane IDI / NTNU.
Business Statistics, A First Course (4e) © 2006 Prentice-Hall, Inc. Chap 9-1 Chapter 9 Fundamentals of Hypothesis Testing: One-Sample Tests Business Statistics,
Introduction to. Sep. 4, 1997 r Engineering economy relates or applies many concepts from economics, mathematics, finance, accounting, statistics, and.
Testing and Cost / Benefit Tor Stålhane. Why cost / benefit – 1 For most “real” software systems, the number of possible inputs is large. Thus, we can.
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
LEADERSHIP. What is leadership? Leadership is a process by which a person influences others to accomplish an objective and directs the organization in.
Introduction to Human Resource Management.
Chapter 8: Systems analysis and design
Software Quality Assurance Lecture #4 By: Faraz Ahmed.
What is Software Process Improvement Tor Stålhane IDI / NTNU.
Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
Job Hunting in a Recession. What, exactly, does “during a recession’ mean? And how does job hunting differ during a recession?
Course summary TDT4235 Tor Stålhane IDI / NTNU. What we try to do QA – Create trust to a product or service SPI – Solve fuzzy problems by –Identifying.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
PAPER PRESENTATION: EMPIRICAL ASSESSMENT OF MDE IN INDUSTRY Erik Wang CAS 703.
Change is NOT a four letter word: What can we do to actually see results! Lynda Pletcher MEd National Early Childhood Technical Assistance Center Chapel.
Decision-making and goal-setting skills are needed to help you make health-enhancing choices; to choose behaviors that promote health and reduce the risk.
Using error reports in SPI Tor Stålhane IDI / NTNU.
To improve or not to improve Tor Stålhane IDI / NTNU.
WEEK TWO, Session 2 Information Gathering. Helpdesk metrics must be reprioritized from measuring internal efficiencies to evaluating customer retention.
LEVEL 3 I can identify differences and similarities or changes in different scientific ideas. I can suggest solutions to problems and build models to.
INFO 637Lecture #91 Software Engineering Process II Post Mortem and Teamwork INFO 637 Glenn Booker.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
What is a case?  A written description of a business situation or problem  Provides factual information about a company’s background ○ organizational.
The six factors are closer to real life organizational dynamics demonstrate the complexities of routines of real life. 1. UN ANTICIPATED CONSEQUENCES OF.
May, 2005(c) 2005, US Civilian R&D Foundation1 The U.S. Civilian Research and Development Foundation (CRDF) Industry Partner Development Program (PDP)
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice 1 Knowing what to Position HP BAC.
Course summary TDT4235 Tor Stålhane IDI / NTNU. What we try to do QA – Create trust to a product or service SPI – Solve fuzzy problems by –Identifying.
Unit (7) Why businesses make decisions? The decision that they make might include. - what to produces, where to locate the premises, what method of production.
YOUR EXTERNAL AND INTERNAL CUSTOMERS
What is this course about Tor Stålhane IDI / NTNU.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Information and Decision Making
Higher National Certificate in Engineering Unit 36 Lesson 1 - Statistical Process Control.
SOFTWARE PROCESS IMPROVEMENT SHARATH CHANDAR REDDY ALETI CSC 532 TERM PAPER.
Mastering Workflow Jennifer Pecor Advocate Experience Coach Time Management.
MODULE 9 MANAGERS AS DECISION MAKERS “Decide first, then act” How do managers use information to make decisions and solve problems? What are the steps.
Advances In Software Inspection
Key-vocabulary Management consultant Goals Strategy SWOT analysis Troubleshooting.
IB Business & Management
CHAPTER TEN Dr. Rami Gharaibeh BUSINESS MODEL ANALYSIS 1.
Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Statistics for Business and Economics 8 th Edition Chapter 9 Hypothesis Testing: Single.
RISK MANAGEMENT FOR COMMUNITY EVENTS. Today’s Session Risk Management – why is it important? Risk Management and Risk Assessment concepts Steps in the.
MGT 423 Chapter 1: Training in Organizations FEIHAN AHSAN BRAC University Sep 21, 2013.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
MGT 498 TUTORIAL Success trials - mgt498tutorial.com
Sarah A. Sheard Christopher L. Miller Software Productivity Consortium
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Building the foundations for innovation
Managerial Accounting Concepts and Principles
MGT 498 Education for Service-- snaptutorial.com.
MGT 498 EDU Lessons in Excellence-- mgt498edu.com.
MGT 498 Education for Service-- snaptutorial.com
MGT 498 TUTORIAL Education for Service--mgt498tutorial.com.
MGT 498 Teaching Effectively-- snaptutorial.com
MGT 498 EDU Education for Service-- mgt498edu.com.
NUR 425 Decision Making in Clinical Practice
5 Reasons Why Your Business Needs Idea Management Software.
Presentation transcript:

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

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 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 human- centered activity What to do while we wait for the perfect tool

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 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 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 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% – Incomplete requirements13.1% – Lack of user involvement12.4% – Did not need it any longer 7.5% – Unrealistic expectations 9.9% Bad management – 34.2% – Lack of resources10.6% – Lack of executive support 9.3% – Lack of planning 8.1% – Lack of IT management 6.2% Technical problems – 13.0% – Challenging requirements 8.7% – Technology illiteracy 4.3% Others – 9.9% The important problems are bad communication and bad management. The rest is just noise. From The Standish Group Report.

What is SPI – 1

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 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

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 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 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.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 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 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 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 B k : 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. n k-1 : proportion of adopters after cycle k-1. 0 < n < 1. Adapt the invention if B k > 0

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 = of 150 companies are already using Scrum. n k-1 = 0.21 All developers have to take a one-day course. – Cost = 5000 per employee => – Gain = 5000*(Invoicing rate)*(Productivity) => 5000*0.8*1.3*10 =

Example – 2 B k = ( – ) / * 0.21 => B k = = 0.15 > 0 Even if the ROI had been negative, we could have chosen Scrum due to the relatively large last term - An k-1

Bandwagon effect – advanced approach r i : the reputation of organization i. D i,k : an indicator variable that is equal to 1 if organization i has adopted the innovation by bandwagon cycle k and 0 otherwise. p i : 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 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 assessed. r i : the reputation of organization i. 0 < r i < 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 – 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 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.