Session 1

Decision Making in the Software Life
Cycle Using Microeconomic Models
Mr. Peleg Yiftachel
supervised by
Prof. Dan Peled
Dr. Eitan Farchi
Software Development Phases
Requirements
Specification
System &
Software Design
Implementation &
Unit Testing
Integration &
System Testing
Operation &
Maintenance
2
The Research Question

What is the most profitable allocation of
project resources among the different
software production phases
–
–
–
–
Requirements
Design
Implementation
Testing
3
The Cost of Fixing a Bug
4
How to divide the budget ?
5
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
6
Using the Theory of the Firm

Firm Theory answers three questions
– How to produce?
quantity
units to produce?
much to
produce?
– How many
– 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
7
Quality Production Function
Q  f ( R , D, I , T )
8
From theory to practice


Construct a production function for several
specific software products
Evaluate empirically the relationship
between resulting quality and factors
allocation
9
A 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
10
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
11
Result Database
Student1
R
D
I
T
..
..
..
..
Other
parameters
Quality
Student2
Studentn
12
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
13
“Econometric”


[demo]
The “Econometric” application follows
developer's behavior:
– Measures the time spent on each development
phase
– Writes it to a log file
14
Future 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
15
A&Q
The End
Agenda



The Research Question
Novelty of this project
From theory to practice
– The field study
– “Econometric”
17
“Econometric” application

The “Econometric” application follows
developer's behavior
– Measure the time spent on each development
phase
– Write it into a log file
18
Firm 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
19
The 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 tt as the solution time
Q(t )  1  e1/ t
20
Composition of functions

The “real” production function is
– Q  f Q , Q , Q , Q 
R
D
I
T
– Where

QR  f R R
QD  f D D
QI  f I I 
QT  f T T 
After the functions composition
–
Q  f ( R , D, I , T )
21
Formalizing the SW manufacturer
problem
22