Thanks for all the interesting comments. Here's what I learned and what I am planning 
to do.
 
Clearly one of the outcomes of my study might be that when faced with a particular 
programming problem, different developers will have different ways of thinking about 
that problem. Each developer might reason about that programming problem using 
different mental constructs, resulting in potentially different solutions. Mental 
constructs used by one developer might have nothing in common with mental constructs 
used by any other developer. On the other hand, it could be that there is at least 
some commonality amongst the mental constructs used by developers, with respect to a 
given programming problem.
 
Rather than make assumptions about what the outcome will be, I'm planning to 
investigate this issue. Either outcome will have significant impact to the team I am 
working with. In the case where there is no commonality, the team will need to work 
hard to produce documentation etc that describes the programming model well so that it 
can be understood by people approaching it from a variety of different perspectives. 
If there is commonality, the team needs to work hard to try to represent that as best 
they can in the programming model.
 
I intend to run a number of different studies to elicit the mental models used by 
developers when faced with a specific type of programming problem. One idea I am 
currently interested in pursuing is to provide some description of a programming 
problem and then to ask developers to use their own words to describe the problem and 
potential solutions to that problem. Then, using discourse analysis techniques and 
cognitive mapping techniques (such as a Pathfinder analysis) I hope to be able to 
discern any similarities between the ways that different developers think and reason 
about the same programming problems.
 
I'd be really interested in any feedback on this idea and if anyone has similar 
experience with these techniques that they would like to share, I'd love to hear about 
them.
 
Thanks for all your help so far.
 
Steven
 
________________________________

From: [EMAIL PROTECTED] on behalf of Derek M Jones
Sent: Mon 3/1/2004 07:35
To: [EMAIL PROTECTED]
Subject: RE: PPIG discuss: Programmer's mental models



Ruven,

>So the argument is, since we can't change the commercial reality that application 
>domain knowledge is undervalued, those
>interesed in psychology of programming should ignore it as well and focus on what 
>color to make our variables?

There is an important difference between learning to live
with something and ignoring it.

>Further, since people are "inclined to use what they already know,
>rather than learning something new," any innovations in programming that will gain 
>acceptance
>must be restricted to those that minimize new learning?

Minimizing costs (eg, minimizing new learning) is an
important goal in all commercial endeavours.  Of course there
are situation where a benefit may be so large that a high cost
is worth paying (ie sending somebody on a three month training
course to learn new techniques).

>  So what we ought to focus on is getting people who don't understand the job they're 
> really doing to do it better, without their having to put in much effort?

Exactly.  Of course this is an ideal.  In practice there are some
people who know something about what they are doing, or who
are willing to put in lots of effort learning new things.

>In fact, I'd argue that there's a huge, rich area for investigation, training 
>programmers to learn new application domains.

And who is going to pay for this?  We both know you cannot
send turn a 3D graphics person into a database programmer by
sending them on a two week course.  Do the economics of six
month training courses really pan out?

What we need is a taxonomy of mental models for every application
domain, and a way of checking whether a person has and can use
a given mental model.  People could then match their existing mental
models against those needed to work on a given application.  People
wanting to change application domains could go on mental models
courses to learn about those they don't yet have.


derek

--
Derek M Jones                                           tel: +44 (0) 1252 520 667
Knowledge Software Ltd                            mailto:[EMAIL PROTECTED]
Applications Standards Conformance Testing   http://www.knosof.co.uk



----------------------------------------------------------------------
PPIG Discuss List ([EMAIL PROTECTED])
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/



----------------------------------------------------------------------
PPIG Discuss List ([EMAIL PROTECTED])
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to