In the last week I've seen a couple of blog posts that bemoan a codification of agile software development into rigid project management frameworks. Both are interesting and caused me to reflect on our own adoption of agile - because to a fair extent we are doing exactly what these posts criticise.
The first such post is titled The Dark Side of Scrum. Thomas Scranz asks why, if the first principle of the agile manifesto is that we value individuals and interactions over processes and tools, have people adopted Scrum as a dogmatic codified interpretation of agile? I will note my thoughts in this post. (I hould clarify that we're not following Scrum per se; our process started nearer XP and has adopted some notions from Scrum and DSDM along the way).
Thomas first argues that with continuous integration and automated testing tools, we can move beyond fixed two-week time boxes to a faster and more flexible delivery cycle. Well, that may be true for an organisation where agile is more ingrained and understood, but for us the two-week iterations are already a tremendous improvement on what went before and we still have quite a bit of work to bring these ideas to more of our projects. The fixed development cycles are also very useful in explaining agile to our business partners. The structure of this codified approach gives our partners and user groups a clear schedule for interacting with the projects. So while Thomas may well be right for his firm, that more flexible approach is not for us just yet.
Thomas's next beef is with the notion of the product backlog. He argues that specifying and estimating everything up front is time consuming and prone to change as the project develops. This is an area where I have some agreement. Many agile advocates seem to want two incompatible things:
The third point from Thomas's article was that Scrum stand-ups can create an interrogation atmosphere, because they focus on what each person did yesterday and will do today. He suggests instead to focus on the progress of each user story rather than on each team member. This seems a potentially good idea, provided that everyone leaves the stand up knowing what they need to do next and what the rest of the team expect of them. As I'm not involved in projects at that level, I'd be interested to hear which approach works best for our project teams.
The first such post is titled The Dark Side of Scrum. Thomas Scranz asks why, if the first principle of the agile manifesto is that we value individuals and interactions over processes and tools, have people adopted Scrum as a dogmatic codified interpretation of agile? I will note my thoughts in this post. (I hould clarify that we're not following Scrum per se; our process started nearer XP and has adopted some notions from Scrum and DSDM along the way).
Thomas first argues that with continuous integration and automated testing tools, we can move beyond fixed two-week time boxes to a faster and more flexible delivery cycle. Well, that may be true for an organisation where agile is more ingrained and understood, but for us the two-week iterations are already a tremendous improvement on what went before and we still have quite a bit of work to bring these ideas to more of our projects. The fixed development cycles are also very useful in explaining agile to our business partners. The structure of this codified approach gives our partners and user groups a clear schedule for interacting with the projects. So while Thomas may well be right for his firm, that more flexible approach is not for us just yet.
Thomas's next beef is with the notion of the product backlog. He argues that specifying and estimating everything up front is time consuming and prone to change as the project develops. This is an area where I have some agreement. Many agile advocates seem to want two incompatible things:
- A complete list of estimated stories so that you can measure progress towards the goal, and
- Freedom to add new stories and re-estimate throughout the project.
The third point from Thomas's article was that Scrum stand-ups can create an interrogation atmosphere, because they focus on what each person did yesterday and will do today. He suggests instead to focus on the progress of each user story rather than on each team member. This seems a potentially good idea, provided that everyone leaves the stand up knowing what they need to do next and what the rest of the team expect of them. As I'm not involved in projects at that level, I'd be interested to hear which approach works best for our project teams.
Comments