You are hereBlogs / DLR's blog / Managing Drupal Projects with Agile Development
Managing Drupal Projects with Agile Development
I have been a project manager on website and software projects for much of my career over the past 12 years, but only last year became aware of "agile" methodologies. Success of companies such as Google have helped make project management using more flexible agile methods more popular, especially with open source software and web development.
Project management is basically dividing up a project into tasks, prioritizing and giving time estimates to each task, and having someone (the "project manager") track the progress. Having managed large project with tools such as Microsoft Project, I know there are some benefits but also some pitfalls. For example, a GAANT chart helps you find the critical path so you can focus on tasks and issues that are on the critical path and slowing down the project. That works fine in Fortune 500 companies and large projects, but often with small and mid-size projects, the entire scope of the project is not known upfront. In fact, just a scoping phase alone can cost a Fortune 500 company tens to hundreds of thousands of dollars. Also, I have seen a lot of time wasted on updating MS Project and reporting on the status of a project to multiple stakeholders on a weekly basis. Companies and non-profits that do not have millions allocated to a project cannot afford to waste any time or money.
Organizations embracing open source are often initially driven by cost savings, and the financial savings is indeed a plus for agile development as well. However, just as you may be seeing with Drupal, you may actually find that agile development is a better approach period. If you are looking for a more flexible project management and development model, consider agile methodologies. One popular one is SCRUM. I could go on but this video explains the key concepts in about 8 minutes:
There are some terminology differences ("Backlogs" are basically task lists and "Defect Backlog" are the issues), but a more important shift is the concept of "sprints". Sprints allow you to be more flexible and engage the client throughout the developement process, and then by tracking the "burn down" you can gauge how each sprint is coming along. In my opinion, an understanding of GAANT charts and critical path concepts is still important and useful for project managers (ok..."scrum masters"), but the focus is less on days and days of planning and more on getting things done. Some scoping is of course required upfront, but often until you get into the details you do not know every piece of functionality, or more importantly, what the LOE (level of effort) for each item is and how that LOE relates what adds the most value and to the client's priorities. Because it is flexible, it can also be adjusted per client and per project as needed. Because "agile" development such as SCRUM provides both order for project management and greater the flexibility, you might want to consider using it with your next Drupal development project.