Be Agile!

This last semester I taught a class at the University of Colorado at Boulder. The class was in the School of Architecture and Engineering and was titled Geodesign and the Web. While I covered a lot of topics, including gathering data from the web, web 2.0, social media, mapping and visualization, one of the ones the students showed the most interest in was Agile Software Development. While it may seem weird to teach agile software development methods to a group of architecture and planning students, I had my reasons. In particular, I believe the methodology can and should be applied to project management in other fields.

Agile Development is a group of methodologies introduced in 2001 by the Agile Manifesto. Agile development methods promote development, teamwork, collaboration and process adaptability throughout the life-cycle of a project. I see a few ways where these methods could be useful in managing planning projects, particularly from a consultants perspective.

First, in agile development it is important to deliver working product early and often. This as a key element in urban planning projects as well. Writing a 100 page report and waiting until the end to plop it on someones desk runs the risk of missing the boat. First, you should break the project into small increments that do not directly involve long term planning. This minimizes overall risk and allows the project to adapt to changes quickly. At the end of each increment, you should share the product with the client and/or the pubilc. This will avoid the 'uh oh' moment when your deliverable is not what the client expected. It will also help you target your research to better serve the client.

This thought leads into another element of agile development, which is to welcome changing requirements, even late in the project. It is very rare that a project evolves exactly as planned, particularly when it requires data collection, analysis and public participation. Being able to adapt the process as the project evolves will deliver a working result and better serve the client and the public. 

Finally, agile software development requires the delivery of minimal viable product. You can spend a huge amount of time adding features to a product only to release it and find that no one uses the features anyway. Providing the minimal viable product and then adapting it as people use it is a much more efficient method of development. This approach can be applied to  other fields as well. The final result needs to be usable, not overwhelming.

I suggest you give it some thought. Many software development organizations are using the method successfully and there is merritt in applying it to other fields.