I came across this story while I was doing some research work on a building an agile database solution for my team. (I’ll be blogging more about this soon, as I know databases seems to always be the one place that catch people out while trying to be agile)
The story is called “The Breakfast Food Cooker“, in basic terms it shows the two sorts of developers that I have come across in my working career, and most of them fall into the “computer scientist” camp.  The first (in the story Engineer) is someone that takes the issue on it merits and just builds what is required, and the second (in the story computer scientist) takes the problem and then adds to it and then returns a product which doesn’t meet the original requirements.
As developers we’re deep down optimistic, (well most some I know have had this beaten out of them) we always try to value add, and this in most cases will cause more trouble than it’s worth.
When you work in an agile team, you need to be more like the engineer and do exactly what is required and no more, if you think more should be added great we don’t want to lose these ideas, have a chat with the Product Owner of the idea and maybe create a story card for it and place it in the backlog for review. 
By just doing enough, you can make sure that the additional energy you’d spend in doing the extra you thing are needed in to making the one solution better.


4 Responses to Are you an engineer or a programmer (computer scientist)?

  1. Amen. I think this is one of the most valuable lessons I learned while working at GE (hopefully I learned it). I think we became masters of, “let’s not do that, it really isn’t necessary and will mean we don’t deliver. Let’s do something slightly less awesome but that works and is delivered on time. Indeed, maybe the less awesome is really what’s needed; the client will complain if they want more…’.

  2. A good related quote too, “If in doubt, leave it out”. 🙂

  3. I too am (hopefully was) a “Gold Plater”!! It’s almost human nature to always do the best you can for something / someone but when it comes to Agile you need to re-think this approach as it can be to your detriment, all good intentions aside. A new way of thinking but for the better!

  4. Tudor Davies says:

    Although I’m not an amazing programmer, what makes me good is that I’m a “computer scientist”. It is my ideas and ability to adapt code and think of new solutions that makes me good at programming, not my experience or skill level. I think that’s what makes a programmer good, it’s the ideas and creativity not so much the encyclopaedic knowledge of code.

Leave a Reply

Your email address will not be published. Required fields are marked *