This is the paper that got me thinking of "code as design" and seeing UML
in a new light
http://www.developerdotstar.com/mag/articles/reeves_design_main.html
On Mon, Dec 2, 2013 at 6:09 PM, Stephen Cameron
<steve.cameron.62@gmail.com>wrote:
Hi Mike,
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.
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.
This also seems very relevant.
http://www.computer.org/csdl/proceedings/hicss/2013/4892/00/4892e842-abs.html
http://www.computer.org/csdl/proceedings/hicss/2013/4892/00/4892e842.pdf
Steve
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:
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.
I just had a thought: are software trainwrecks caused by the
promulgation of an inappropriate metaphor?
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