Tuesday, October 24, 2006
An interesting perspective on Agile Software Development
- there are managers, sort of, but most of them code at least half-time, making them more like tech leads.
- developers can switch teams and/or projects any time they want, no questions asked; just say the word and the movers will show up the next day to put you in your new office with your new team.
- Google has a philosophy of not ever telling developers what to work on, and they take it pretty seriously.
- developers are strongly encouraged to spend 20% of their time (and I mean their M-F, 8-5 time, not weekends or personal time) working on whatever they want, as long as it's not their main project.
- there aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including their 1:1 with their lead.
- it's quiet. Engineers are quietly focused on their work, as individuals or sometimes in little groups or 2 to 5.
- there aren't Gantt charts or date-task-owner spreadsheets or any other visible project-management artifacts in evidence, not that I've ever seen.
- even during the relatively rare crunch periods, people still go get lunch and dinner, which are (famously) always free and tasty, and they don't work insane hours unless they want to.
Of course the founding members of the agile alliance will keep their traps shut and not publicly respond to this perspective as doing so may jeorpardize their own credibility. Imagine if the Agile Alliance started acknowledging that agile can have bigger uptake in large shops if they were to stop strangling its growth at the expense of maintaining consulting revenue...