Life of Python

ABO abo at minkirri.apana.org.au
Thu Jun 30 16:05:43 EDT 2005


> Okay. This makes sense if the software is:
>
> 1) Designed by one institution.
> 2) Designed almost entirely before deployment.
> 3) Not designed to be worked on by users and
>     semi-trained developers.
>
> In other words --- proprietary software.

In my experience, it doesn't work well even in these cases. Investing a
huge amount of effort designing in detail well in advance is nearly
always a mistake, unless the requirements are fully understood and
static... ie never.

Mostly the requirements are unknown until the (possibly internal)
customer has something. Nothing identifies requirements better than
deployment. Particularly with large projects that have long development
times, even if the requirements are well understood at the start, they
will have changed by the time it is deployed.

The biggest and most common mistake with software development is
believing that it finishes. Software has a lifecycle, and development
is like food; it is constantly required, otherwise the software dies.

--
Donovan Baarda




More information about the Python-list mailing list