''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