220 likes | 222 Views
Decision Making in the Software Life Cycle Using Microeconomic Models. Mr. Peleg Yiftachel supervised by. Prof. Dan Peled Dr. Eitan Farchi. Software Development Phases. R equirements Specification. System & Software D esign. I mplementation & Unit Testing. Integration & System T esting.
E N D
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
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 !
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
Using the Theory 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? quality
From theory to practice • Construct a production function for several specific software products • Evaluate empirically the relationship between resulting quality and factors allocation
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
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
Result Database What will the function be ?
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
“Econometric” • [demo] • The “Econometric” application follows developer's behavior: • Measures the time spent on each development phase • Writes it to a log file
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
A&Q The End
Agenda • The Research Question • Novelty of this project • From theory to practice • The field study • “Econometric”
“Econometric” application • The “Econometric” application follows developer's behavior • Measure the time spent on each development phase • Write it into a log file
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
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 t as the solution time
Composition of functions • The “real” production function is • Where • After the functions composition