From a panel position statement for OOPSLA'96 ...
A competitive market places extreme demands
on software development teams and the
products they produce. Under time to market
pressure a just acceptable product
developed quickly will be preferred to an
excellent product produced slowly. (cf.
TheBestIsTheEnemyOfTheGood) Invisible
attributes of a product, such as its software
architecture, are often the most
compromised in the name of acquired market
share. However, market share brings its own
set of problems. The once satisfactory
architecture of a successful product will
often crumble under the weight of
continuous revision and enhancement.
It would seem
that the choice is between failing in
the race to the market or failing under the
pressure of success once in it.
It is my position that small teams using
an evolutionary development method in a pure
object-oriented environment have the best
chance of walking this tightrope. Each one
of these factors, team, method and
environment, can be adjusted and studied in
isolation. However, when we consider
the whole of the software development system we
find debatable decisions for one factor
can create surprising efficiencies for
another. Using the terminology of patterns
we would say that competitive forces, when
resolved, expose unique patterns of lesser
forces, which have solutions which might
not have occurred in isolation. I have
assembled a network of forty patterns of
competitive development and studied the
interactions between them. Competitive
developers will find the particular
patterns useful while organizational theorists
might benefit most from adopting the
pattern form.
--
WardCunningham
See also:
EPISODES: A Pattern Language of Competitive Development. [
http://c2.com/ppr/episodes.html]
CategoryExternalLink