Home  |  Login  |  About  


Strategic Software Design

Welcome to SoftwareEconomics.Org, a focal point for scholars, educators, and practitioners  interested in creating, disseminating and using knowledge in the emerging field of Strategic Software Design. This term refers to concepts, tools and methods for software design and engineering based on the view that it is an investment activity whose goal is to maximize the value added by a given investment. Research in this area seeks a scientific theory of software design that is grounded in formal models of value and value creation under conditions of uncertainty, incomplete information, and competition.  

This site is part of a research and education effort supported by the National Science Foundation  under Information Technology Research grant 0086003.

The Need for a Science of Software Design

Research on strategic software design addresses two problems, one theoretical the other pragmatic.  The pragmatic problem is that that investments in software design today are not producing enough value.  Our society spends nearly a trillion dollars annually on software.  An astounding fraction of this total is written off as a loss in the form of cancelled projects and operational failures. The theoretical problem is that current software design concepts, for the most part, remain ad hoc and "cook-booky."  We need sound theoretical models of the core concepts of our field, including information hiding, architecture, risk- and quality-control-based development models: a science of software design.

Software Design as a Value-Seeking Investment Activity

The central principle of the strategic software design thought is that software design is an investment activity, involving the expenditure of valuable resources, whose goal  is to maximize value added net of costs on a scale appropriate to a  given context.  In business, measures such as capital market value apply. In other contexts, other measures are better:  maintaining an open society, national security, solving major social problems. The value of a software system reflects both its fitness to meet current needs and its capacity to evolve to sustain fitness as conditions change over time.  

A key premise for research on strategic software design is that core concepts of software design can be founded on this central principle.  In essence, we view a software product and the organization that develops it within an environment as seeking value.  Concepts such as information hiding, architecture, phased and risk-driven development processes, are then formulated, tested and justified in terms of rigorous models of value and value creation.  

Some Recent Work

We have recently argued that information hiding modularity adds value to a system in the form of real options.  For a paper on this idea, click here.  In an earlier paper, we argued that the ability to delay making design decisions can be analyzed in similar terms.  Kent Beck is popularizing this idea in his book on extreme programming (XP). Boehm and Sullivan have laid out a roadmap for research in strategic software design.

Copyright 2000 Kevin
Sullivan. All Rights Reserved. Site maintained by Benjamin Hallen.