What is Applied Software Economics
Software economics is the study of how scarce project resources are allocated for software projects. Software economics helps software managers allocate those resources in the most efficient manner. The process of counting function points, gathering data, analyzing data is commonly referred to as Software Metrics, but in reality is a branch of economics which should be called Software Economics.
Increasing Marginal Cost
As the size of a software project the unit cost (or average cost) rises. In other words software has increasing marginal costs and there are few economies of scale when developing a software application. Any large engineering or construction project follows this same economic model.
Diseconomies of Scale
In all software projects there are some basic principles which cause diseconomies of scale. That is:
- There are low fixed costs relative to variable costs
- Communication becomes difficult as project becomes larger
- Multiple logical paths grow in a nonlinear manner as size increases
- Interrelationships of functions grow geometrically as project becomes large.
Software Economics Includes Many Different Disciplines
Many in the field of software development limit their understanding of the field to only the technical aspects
Software Economics - examines the entire idea of software development and it includes many different disciplines.
Psychology - focuses on the study of behavior and the reward/punishment model. "What get's rewarded gets done."
Social Psychology - focuses on how people behave in an organization, quality of work life, and peer pressures.
Organizational Behavior - is the process of analyzing the structure of an organization to understand those structural issues impacting organizational productivity and quality.
Economics - the study of prices, costs, and scarcity.
Statistics - deals with quantitative and qualitative techniques for the collection of data, how data is analyzed, and how results are presented.
What Get's Rewarded Gets Done
One of the first things necessary to understand organizational productivity and quality is looking at which behaviors are being rewarded within an organization. Who is being promoted? What specific behaviors are noticed and rewarded? What behaviors are being punished?