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? 
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?  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?

I don't buy either position, nor do I buy the example.  If I were hiring someone to 
work on a database for industrial automation applications,
I'd much sooner hire someone with 3D graphics experience in industrial automation and 
no database experience, than someone with both database and 3D graphics experience in, 
say, scientific data analysis or chemical engineering.   As the dental example points 
out, if the person who
really understands the application needs a kind of coding that they haven't done, they 
can always buy it or contract with some semi-skilled programmer who does do the same 
thing 400 times to write it again.  The converse is not true; a database expert with 
no knowledge of industrial automation
is, at best, a contribution to the building heating load, until the application expert 
finds the time to do the translation.

In fact, I'd argue that there's a huge, rich area for investigation, training 
programmers to learn new application domains.
There's also the fascinating issue of how application models integrate with and map 
onto programming models.

Ruven Brooks



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Derek M Jones
Sent: Saturday, February 28, 2004 8:58 AM
To: [EMAIL PROTECTED]
Subject: RE: PPIG discuss: Programmer's mental models


Hanania,

>Derek,

Note your quoted text was  posted by Ruven, not me.
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf 
>Of Brooks, Ruven


>While I can acknowledge the problem, the solution is not as simple as 
>replacing "huge, detailed specs" with programmers assumed to "have a 
>good mental model of the application".

I agree.  But, I would also be willing to go along with the assumption is that hiring 
somebody to work on a database project who had previously worked on similar database 
projects is likely to result in more appropriate mental models being used than if a 
person whose previous experience was with 3D graphics.

>                                                   Mental models are 
>not confirmed "good" until they have been validated. Validation can 
>only be done through the examination of some work product.

You cannot validate anything as being 'good' by looking at a single instance of it.  
Good/bad evaluations require comparisons against many instances.

>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf 
>Of Brooks, Ruven The inability of programmers to adapt their mental 
>models to the application domain is a huge problem
>for commercial software development.

In many ways this problem is the software industries own making. People with extensive 
experience in a given domain are rarely valued sufficiently to make it worthwhile for 
them acquiring that experience.  Not only does IT have a relatively high staff 
turnover, but these people change subdisciplines as often as they change companies 
(eg, they spend a few years working in comms, then move to databases, then into gui 
related work, etc).

I need to have some complicated work done on a tooth of mine and was recently referred 
to a specialist.  This, expensive, guys sales pitch included the fact that he had 
performed the operation 400 times with only 2 failures (the industry average is 90% 
success).

Where do I find staff who have written the same code 400 times?  I would probably 
count myself lucky if I could find somebody who had done the same thing once before.  
On the other hand, I might approach the company he had worked for and offer buy what 
he had written from them.

I don't see that there is much we can do about the commercial realities of the 
software industry or the workings of the human brain (eg people are inclined to use 
what they already know, rather than learn something new). What we need to do is accept 
both of them as given and start figuring out how best to get them working together.


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