View
213
Download
0
Tags:
Embed Size (px)
Citation preview
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
2
Software Development PhasesSoftware Development Phases
Implementation & Unit Testing
Requirements Specification
System & Software Design
Integration & System Testing
Operation & Maintenance
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 !
4
The Cost of Fixing a BugThe Cost of Fixing a Bug
5
How to divide the budget ?How to divide the budget ?
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
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
8
Quality Production FunctionQuality Production Function
),,,( TIDRfQ
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
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
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
12
Result DatabaseResult Database
R D I T Other parameters
Quality
Student1 .. .. .. .. Student2
Studentn
What w
ill
the function
be ?
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
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
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
A&QA&Q
The End
17
AgendaAgenda
The Research Question Novelty of this project From theory to practice
– The field study– “Econometric”
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
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
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
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
22
Formalizing the SW manufacturer Formalizing the SW manufacturer problem problem