22
Decision Making in the Decision Making in the Software Life Cycle Using Software Life Cycle Using Microeconomic Models Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

Decision Making in the Software Life Decision Making in the Software Life Cycle Using Microeconomic ModelsCycle Using Microeconomic Models

Mr. Peleg Yiftachel supervised by

Prof. Dan PeledDr. Eitan Farchi

Page 2: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

2

Software Development PhasesSoftware Development Phases

Implementation & Unit Testing

Requirements Specification

System & Software Design

Integration & System Testing

Operation & Maintenance

Page 3: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

3

The Research Question The Research Question

What is the most profitable allocation of project resources among the different software production phases – Requirements

– Design

– Implementation

– Testing

Wrong allocation of

human resources

across phases

causes inefficiency !

Page 4: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

4

The Cost of Fixing a BugThe Cost of Fixing a Bug

Page 5: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

5

How to divide the budget ?How to divide the budget ?

Page 6: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

6

Novelty of this project Novelty of this project

Using economic theory to solve resource allocation problems in software development processes

Measure the production of software manufacturer by quality instead of quantity– Each software product has its own “quality units”

Use of objective and reliable measurements of factor allocation in an experimental setting – Does not rely on questionnaires

Page 7: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

7

Using the Using the Theory of the FirmTheory of the Firm

Firm Theory answers three questions– How to produce?

– What will the product price be? Answers are based on the concept of production

function: Y=f(a,b,c,…) We replace quantity with quality

– In both the production function and the market demand

How many quantity units to produce?How much to produce?qualityquality

Page 8: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

8

Quality Production FunctionQuality Production Function

),,,( TIDRfQ

Page 9: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

9

From theory to practiceFrom theory to practice

Construct a production function for several specific software products

Evaluate empirically the relationship between resulting quality and factors allocation

Page 10: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

10

A Case Study: The Eight PuzzleA Case Study: The Eight Puzzle

Our “toy” product is an “Eight Puzzle” problem solver application

The quality of the application will be measured according to the time it takes to solve the problem

Page 11: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

11

The field study The field study

Collecting data on each product developed by a “firm”

Firms simulated by students in a software development competition

Rewards in competition tied to software quality:– Time it takes to solve an “Eight Puzzle”

problem

Page 12: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

12

Result DatabaseResult Database

R D I T Other parameters

Quality

Student1 .. .. .. .. Student2

Studentn

What w

ill

the function

be ?

Page 13: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

13

The field study - Measurements The field study - Measurements

Automatically measuring of the time spent on each development phase

Determining the quality of the product using unified automatic test methods

Page 14: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

14

““Econometric”Econometric”

[demo] The “Econometric” application follows

developer's behavior: – Measures the time spent on each development

phase – Writes it to a log file

Page 15: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

15

Future workFuture work

Continue to develop our theoretical model– Generalization to the Spiral Model – Incorporating different market structures – Constructing demand function for SW products

• Model the link between product quality and price• Considering alternative quality measures

Continue the experiments– Improve accuracy and reliability of measurements

• Controlling for subjects heterogeneity – Additional field studies

• Backgammon competition

Page 16: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

A&QA&Q

The End

Page 17: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

17

AgendaAgenda

The Research Question Novelty of this project From theory to practice

– The field study– “Econometric”

Page 18: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

18

““Econometric” application Econometric” application

The “Econometric” application follows developer's behavior – Measure the time spent on each development

phase – Write it into a log file

Page 19: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

19

Firm Theory & Software Life CycleFirm Theory & Software Life Cycle

Obtain production function for SW product Production factors and Production units

– production factors are be human resources allocated into each stage of the SW life cycle

– production units are defined as quality units • Every SW product has it’s own quality units • The quality units are the linkage between

the production side to the demand side

Page 20: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

20

The Eight Puzzle applicationThe Eight Puzzle application

The application get two inputs – The Start board configuration – The Goal board configuration

The application output is a solution to the problem– Sequence of legal moves starting with the Start board ,

and ending with the Goal board – The sequence has to be an optimal one (a shortest one)

The quality of the application will be measured according to the time it takes to solve the problem – Define t as the solution time

tetQ /11)(

t

Page 21: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

21

Composition of functionsComposition of functions

The “real” production function is–

– Where After the functions composition

TIDR QQQQfQ ,,,

RfQ RR DfQ DD IfQ II TfQ TT

),,,( TIDRfQ

Page 22: Decision Making in the Software Life Cycle Using Microeconomic Models Mr. Peleg Yiftachel supervised by Prof. Dan Peled Dr. Eitan Farchi

22

Formalizing the SW manufacturer Formalizing the SW manufacturer problem problem