I have always heard of Agile methods and Scrum, of course, because I work in IT. It’s a different way of working projects, and I’ve never run across it in Web development. It’s usually used for software development, but the team at Transamerican Auto Parts is using it for Web-based applications, too. I’ve had the pleasure of doing some work for them over the last few years, but my work has all been plan driven. We touched on the different approach in school, but my knowledge was really lacking. Last week, I took an online prep course for the PMI-ACP exam so I could familiarize myself with the processes. I’d really recommend this course to anyone who can spare a few hours and needs to know more about Agile, Scrum, and Extreme Programming.
The project management approach detailed by PMI for the PMP exam focuses on planning. At a very high level, you plan a project in as much detail as possible from the start, including detailed requirements for all deliverables. There is progressive elaboration of the plan as the project progresses, but you’re striving for a high level of detail at the start. It’s how I’ve always tackled project management, in a plan-driven manner.
Agile approaches are almost too difficult to wrap my head around because they are so different from plan-driven methods. I know it’s nearly impossible to detail accurate requirements at the start of a big project, but you’re supposed to try anyway, right? With Agile, you admit that you can’t do it so you plan in detail right before you do the work. Work is in short spurts of a couple weeks instead of months, and you deliver something working to the customer after each of these spurts (iterations, or sprints in Scrum). The approach is summarized in the Agile manifesto, as follows.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over Processes and tools
- Working software over Comprehensive documentation
- Customer collaboration over Contract negotiation
- Responding to change over Following a plan
That is, while there is value in the items on the right, we value the items on the left more.
At this point, I spend a lot of time writing documentation, and I make sure it’s as comprehensive as it can be. Develop software instead? Wait, that makes sense. All of it makes a lot of sense. But I am having a hard time imagining implementing it.
As you know, I’m in the process of finding a new position in the corporate world. I have a new focus to find something in an Agile environment, so I can learn and grow. A Scrum Master someday? Perhaps!
Do you use Agile methods? What are your thoughts?