[clug] July Programming SIG: the fourteen principles for new programmers

Sam Couter sam at couter.id.au
Wed Jul 16 10:20:41 GMT 2008


steve jenkin <sjenkin at canb.auug.org.au> wrote:
> You say:
>   "I've finished the first draft/prototype, [ ... ]
> 
> Management hears:
>   "I've finished the program"

You've already left it too late. What you're supposed to do is say
upfront:
  "I'm not really sure if I know how to solve this problem you've just
  asked me about. Let me whip up a quick proof-of-concept to try out a
  few ideas to see what works. Once I've done that, I'll be able to give
  a better estimate of how long it will take to build the real thing".

Telling management that you've been working hard but all you've got is a
prototype when they were expecting the real thing will never get the
reaction you want. Tell them up-front you don't know how to solve the
problem.

Remember that saying "I don't know" is NOT a weakness, especially when
it's followed by "... but I can think of a few ways I might find out".

> They then infer:
>  - program is production ready
>  - you're ready for another project

They don't know any better. You do. Tell them. You need to work with
management, not against it. Then you need to abide by the decisions they
make, even if you disagree.

> Real issues like maintenance, security, performance, ... don't even
> occur to them.

Build a business case. Attach dollar signs to each of these things. Do a
back-of-the-envelope risk assessment, give it to the boss. Then if he
decides these things aren't important, then they're not important in a
business sense.

> There are some techniques to insulate yourself or prempt the
> conversation such as a *signed* document, agreed beforehand, on what
> will get done - especially that a prototype is *not* fit for production.

Don't ever build a complete prototype. There's no need. You probably
already understand a lot of the problem domain, your prototype needs to
prove the parts you don't understand. Leave the rest out as much as
possible, it's just wasted effort and encouragement to use the prototype
in production.
-- 
Sam Couter         |  mailto:sam at couter.id.au
OpenPGP fingerprint:  A46B 9BB5 3148 7BEA 1F05  5BD5 8530 03AE DE89 C75C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/linux/attachments/20080716/a2e0f0e2/attachment.bin


More information about the linux mailing list