Traditional ways of developing software and improving the software process
rely on theories that assume that the environment is predictable. However,
for most small software organizations the environment is constantly changin
g and often unpredictable. The author explores improvisation and its role i
n smaller companies.