Hi Greg,

I found your questions and the previous responses quite thoughtful. Rather than give you brief answers to all questions, I would like to focus on just one: why does it take so long to bring a software project from concept to completion?

Development of software that interacts with, or presents information to, human users is both a creative process and a series of logic puzzles. One begins with a goal or concept and materializes same in the medium with which one works -- in this case computer input and output devices.

But software development is different from creative activities such as painting or composing music because:

(A) Virtually all software creations require some physical user interaction beyond simply passively experiencing them, and

(B) Most software creations have one or more utilitarian goals; so they can be fairly judged "correct" or "incorrect" by others that the artist/composer.

Implications of this are:

* The creator must guide the experiencer through the experience

* The creator must take into account that the experiencer's participation may not be voluntary (eg: business software)

* The creative process does not end when the experience achieves the creator's goals: the creator must anticipate how a user may diminish the experience (eg: by hitting a wrong key or entering nonsensical responses) and include within the creation mechanisms to prevent such situations or guide the experience gracefully back to the intended state.

* The creator must compensate for the fact that different computer hardware configurations tend to present the experience differently.

* A software work in progress often presents little in the way of physical manifestation as to how it's coming together until late in the creative process. One can see paint filling canvas and hear the progress of a musical composition; but it's often well into the last stages of pre-alpha testing before one has a sense of the potential quality of the experience.

A corallary of this is that better or enhanced mechanisms for improving the experience, achieving the original goals, and/or adding additional functionality are routinely not discovered until late in the development process.

* A software creation is often not static, but is modified over time; so the creative process must include instructions for others or notes to the creator to facilitate future changes.

* The software creative process also requires preparation of written instructions to people you will never meet telling them how to experience it.

Rob Cozens CCW
Serendipity Software Company

"And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee."

 from "The Triple Foole" by John Donne (1572-1631)

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to