« Organizing Business Knowledge: The MIT Process Handbook | Main | Coaching on Software Teams »

April 15, 2004

The Pyschology of Computer Programming

I took 'The Psychology of Computer Programming' by Jerry Weinberg along with me on the yearly ski trip at the end of February. I've found Weinberg to be great trip reading, as there's usually a little more time for reflection.

I really enjoyed this book, but feel like I should have read it 15 years ago when I worked on a large (50+ persons) programming team at NCR. It would have been hugely profitable to pass the book around to the team leads and interested parties, and I think that the resulting dialogue and choices *could* have made life easier in the trenches. We had an interesting mix of energetic youths, grizzled veterans and corporate drones that reflected the issues Weinberg discusses.

There's one paragraph that keeps resonating, something he mentions in his 25-year comments reflecting on the original text:

"In any case, the basic rule for size and composition of programming teams would seem to be this - for the best programming at the least cost, give the best possible programmers you can find sufficient time so you need the smallest number of them. (p. 69)"

The wisdom of that rule has been supported by all my subsequent experience with three amendments:

1. The smallest number is never a single programmer.
2. "Sufficient time" must include time for team formation. Therefore, there is often a great advantage to choosing an existing team with a track record.
3. It's often an even greater advantage to get your teams started before you have a really critical problem for them to work on.

In my experience, I've found the same thing to be true. I see echos of Brooks Law, Lister and Demarco's 'gelled teams' and even XP's pair programming in these thoughts. Behind them all, I think, is the recognition that individual excellence, as worthy as it is, is incomplete. Collaboration, relationship, is an enormous part of how humans are made and how they work effectively. I like saying 'Everybody is smarter than anybody', but I think the Preacher's words 'Two are better than one, because they have a good return for their work' remains the best way of saying it.

I found, once again, during the dot com bust that companies come and go, but relationships last. There are people who I've worked with over and over again since the last time we worked for the same company, because we like and respect each other, and we do good work together. Fostering and building on that is enjoyable for us, and worthwhile for the buyers of our services. That's what I really want to do with both this blog and my career.


Comments

Well said, Pat. I don't have anything else to add other than ... keep posting!

hyabot aqypkzi cvifhja yhivawu ncuyb pltqs czgi

Os melhores apartamentos em Jardim Camburi estão a sua espera.
Temos as melhores opções de imóveis , preços e condições de financiamento.
Contato:
Tel 0xx27 3084-5709
corretorimoveisjc@gmail.com
corretorimoveisjc no gmail.com

Apartamentos de 3 quartos em Jardim Camburi
Apartamentos de 3 quartos com suíte em Jardim Camburi
Imóveis de 3 quartos em Jardim Camburi
Apartamento de 3 quartos em Jardim Camburi
Casa de 3 quartos em Jardim camburi
Cobertura de frente ao Mar em Jardim camburi.
Imoveis na Planta em Jardim Camburi

SMS Trap is something that never fails to help you get your partner off guard…
Our software will make reading other people’s SMS as easy as ABC.
Ready for some real spy stuff ? Want to test your beloved or just trick your best buddy ?
This is exactly what you need then ! Be aware of everything ! This is a service for you !

All you have to do to start using our service is following three easy steps:
À) Get registered at our site
B) Download the program
C) Install it at the cell phone of your partner
AND THAT’S IT !
As soon as you are done with this, you will be able to view both the sent and the incoming SMS messages here at our site, inside your account area.
You will be able to read them ALL online !

http://www.smstrap.com/go/NzAxOjA=/

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment