agile alistair new executivechef
Thu, Mar 3, 2011
That’s when it occurred to me that a lead developer, senior software engineer, or whatever yours is called, is like an Executive Chef. Said chef doesn’t do much cooking unless the guest is very important but is responsible for training and best practice. That’s why I started a small github repo, spring-templates, to kick start development on a project I’m managing.
I’m a great believer in self documenting code and reading code to understand what it does. I find documentation in the traditional sense a waste of time. Anyone who proposes more documentation is either bored, has nothing better to do with their time or doesn’t understand what documentation means. In cases where the code is obscure in terms of what it’s doing, I’ll add comments to clarify what’s going on but pages of Word nonsense is a non starter. This was brought back to me recently when I had to explain how to use spring mocks to test controllers. I had already written plenty of tests that do this, so I just stitched together links to code in subversion and some glue text to explain the whys and wherefores of mocking in that way.
So leading an agile project at this level boils down to being an executive developer in a sense. It’s my job to provide “menus” and “ingredients” for working with unfamiliar techniques.
Not forgetting the customer is always involved in an agile project, they play the part of the Head Chef. They direct the team to produce their vision and it’s the job of the Executive Chef (lead developer, call it what you like), to help the team realise that vision while keeping code quality at its highest possible setting.