|
Current software design concepts for products,
processes, projects, programs, portfolios, and research policy overlook a simple
but fundamental idea: the goal of software design decision making is to create
the maximum value for any given investment of resources. Although the concern is
economic, the technical implications are tremendous.
We propose to relate software design decision-making concepts, as well as
methods and tools to the maximization of economic objectives, with particular
attention to strategic approaches to value creation under uncertainty,
incomplete knowledge, competition, requirements for cooperation of
self-interested stakeholders.
This is a challenging goal.
Software design decisions today are made in an economics-independent
“Flatland,” where concerns for technical properties dominate. Past work on
software economics is relevant but it focuses on cost minimization, rather than
value maximization. Yet, as the PITAC report stated, the vast bulk of resources
is spent bringing products rapidly to market. Time is often far more important
than direct cost today. More generally, value added—not cost, benefits, technical
perfection, or any other isolated property—is the arbiter of success.
When software contributed mainly to off-line, back-room functions, this
situation was not particularly harmful. However,
software design decisions are now intimately intertwined with major business and
public policy issues in almost all fields of human endeavor. As enterprise
success comes to hinge on software design, driving design decisions for value
creation is critical. $85 billion
was sunk in cancelled software projects in 1998 in the U.S. alone.
Value-based decision-making that fostered earlier abandonment of such
projects could save tens of billions of dollars annually.
The value maximization axiom is simple to
state, but the research challenges are deep. First, enterprise-level value is
not a simple idea. Businesses value
profit, but also opportunities, as seen in valuations of profitless Internet
companies. Philanthropic
foundations value solutions to social problems.
Universities value creation and dissemination of knowledge.
Second, value is not created with certainty in a static world, but has to
be sought under uncertainty, incomplete knowledge, competition, change and the
need for the cooperation of self-interested stakeholders.
Third, sophisticated concepts, models, metrics and analysis techniques
have been developed, largely in finance, but also in political science, for
creation of value under such conditions. Of
particular importance is the emerging appreciation of the need for strategy in
design: of products, processes, and multi-project programs; portfolios
structured to diversify risk; and research and development investment policies.
Software phenomenology is uniquely complex and still not well understood.
Models developed for finance and other such domains cannot merely be
imported and exploited directly. New
syntheses of existing software engineering concepts and methods with the
concepts and methods of strategic investment management are needed.
The PI and co-PIs therefore propose to develop
and evaluate a spectrum of new concepts, models, and tools for software design
based on the idea that design decisions should be traceable to explicit value
maximization goals and strategies. Technical concepts to be formulated in these
terms will include software architecture, resource budgeting to software
verification activities, lifecycle models, tools and environments for management
of software design for lifecycle value maximization, and actuarial foundations
in software phenomenology for markets in risks of use of third-party components.
The industrial evaluation and transition to practice of any advances will be
enabled by incorporating them as experimental modification of the MBASE
lifecycle models.
Value creation has the potential to become a
simplifying and empowering “unified field” concept for software design. The
PI has shown how concepts as diverse as information hiding, spiral models, and
timing of design decisions can be unified in terms of the value of options.
A co-PI established the field of software economics.
Success in this work could have an enormous impact on software theory,
practice and, importantly, on teaching. Creating
value through software development depends on people who understand both
software technology and value.
Copyright 2000 Kevin
Sullivan. All Rights Reserved. Site
maintained by Benjamin Hallen.
|
|