Firstly – I’m yet to see a Wireless Network Installation done in Agile!
It’s pretty clear that everyone is really going for Agile, but it’s clear that the agile process is really best suited to software development. Agile works best with unique projects; we want to use agile when we are doing something that is new or perhaps new to the team building it. If the team have done the project before they will know the process and the hurdles they face why would you require an agile approach to overcome what you know?
I would consider Agile most appropriate for complex projects with urgent and aggressive deadlines and you also require a project that is unique.
If we are manufacturing a car and we are building that same car each day, we will learn quickly all the issues and nuances we face when building that car. For this particular project, we would not need an agile approach because the uniqueness of the situation is low. In addition to the uniqueness of a project, there needs to be a good amount of complexity to justify using an agile approach.
Uniqueness, Complexity and Urgency are the three factors I believe make a project appropriate for agile.
The agile approach is designed to keep the intensity and focus going on a project. When there is no urgency to a project, the time-boxes and iterations are unneeded that are embedded in the agile process.
So how do Urgency, Uniqueness and Complexity mix on different projects?
Well here is my point – Software projects. There really couldn’t be a more adequate project suited to an agile approach. Software projects are complex, unique and usually a new adventure. There is always a sense of urgency to deliver.
However, there are always other environments to consider where we hear about Scrum being used (the Scrum process is distinguished from other agile processes). For example the Agile process can be used when planning an event from scratch. There is always a backlog when it comes to planning a particular event especially when its from scratch – you have to send the invitations, book and kit out the location, do the table plan, sponsorship etc.
So how does this fit in with the above?
Firstly, in this situation there is urgency to get things done! There is always a fixed deadline when you plan an event. It’s not like a software project but it does have its own complexities with non-functional requirements such as budget, who sits next to whom, the location, what type of furniture to kit out the venue with etc. Uniqueness – almost all events are unique and tailored to the wants of a particular person and you don’t necessarily always have the same team, same requirements, same budget if it’s done on a annual basis. Year on year, the complexities of the event can change enough that the planning of the event avoids becoming almost second hand.
So, there it is. I believe Agile is best suited to Software Development and most appropriate on any complex, unique and urgent project – such as event’s or weddings!
Thanks to Piotr Rusiecki for the inspiration!
Senior Appointments, Project and Programme Management Consultant