Hi Mike,I think we have to abandon the idea of a design and an implementation phase, its all basically design, I'd even go so far as to abandon UML as a design tool, to the extent that its use is premised on this separation. Building and testing prototypes seems to me to be the means to 'explore' the space of possible solutions.
I think you are getting to the heart of it, but the analogy I like is making a movie, the final result is very open-ended and coordinating the activity of getting a result very complex, also, whether the end result is a success is very much dependant on intimate knowledge of the humans who will view (use) the outcome.
On Mon, Dec 2, 2013 at 1:42 PM, Michael Sokolov <sokolov@falutin.net> wrote:On 11/30/2013 9:39 PM, Stephen Cameron wrote:I just had a thought: are software trainwrecks caused by the promulgation of an inappropriate metaphor?
The idea that we think we know something well, but in fact often all we have is a fuzzy concept (something I learned from my topic maps reading), this extends to experts as I recall from the days of expert systems being the next big thing, that often when asked to explain their thinking, it turned out the experts used rules-of-thumb to handle uncertainty, sometimes without realising such. Changing systems potentially challenges the status of experts as they have to justify such rules-of-thumb. You can also think of this as unknown-unknowns problem.
Maybe if people stopped thinking of designing and building and architecting - software development as architecture and civil engineering - and instead thought about planning and mapping and provisioning and discovery - software development as polar exploration - then a proper respect for the unknowability of the solution at the outset would be built in to the process.
-Mike