2.2: news.addx/pythonic software construction:
Fred Brooks` Mythical Man Month:
. Brooks suggested we plan to throw one away
because we will throw the first attempt anyway;
10years later he noted that incremental development
can reduce much of that loss;
what he said still applies on a smaller scale:
while the design should be documented before coding,
don't be overly concerned with self-documenting code
until you see a working prototype;
then pythonically* refactor modules, and the skeleton;
adding the implementer's full documentation
and improving the efficiency .
. as for the design doc's, you might need to
change the spec's or even the req's after seeing
what you can do with the available resources .
. pythonic refers to the Python programming language
which encourages rapid prototyping with scripting,
and then lets you incrementally replace scripted modules
with more efficient modules coded in C .