Editor's Note: This post was originally published in February 2012 and has been updated for accuracy.
At CQL, we believe a good process is like a vehicle that drives us to our desired destination.
In theory, we should be able to use and reuse that vehicle (the process) for many trips to reach the same end point.
Wow that sounds easy! Right? Anyone who has ever experienced a long road trip knows that reaching the destination is rarely as easy as you envision, even when you plan out your entire itinerary.
Inevitably, you'll encounter something unexpected. What happens when the scenery changes? How about when a fellow traveler is trying to dictate a new unplanned route? Or you run out of gas?
We have been slowly refining and adapting our agile development process for almost a decade to learn how to avoid and adapt to these kind of roadbumps. Even though the technological scenery has certainly changed during that long road, we have found certain universal simple statements to be true.
- Stay committed to your process. Some process approaches are mistakenly conjured up by an outside source and then pounded into the project team. There are always outside influences trying to shortcut those processes, but learning to stick to the process that works will get you where you need to go.
- A truly virtuous process is worth selling, fighting for and living by! This means, as a software development firm, we sometimes have to ‘walk away’ from large projects when the client is trying to force us not to use our process. Trust me, the short-term hurt in not signing the deal undoubtedly protects the company from dealing with a ‘runaway’ project.
- Scrap bad processes ASAP. Having no process, or a bad one, will always cause a project to miss its mark.
- Pay attention to Red Flags. Ignore them at your own peril. Don’t let your desire for money, a client name or some other smoke screen reason for you to ignore a Red Flag be the source for regret later when a project goes bad.
- All stakeholders are responsible for initiating a project in a healthy manner. If a client says, “We’ve given you a document that has everything you should need to know to give us a ‘hard cost estimate,’ and we don’t have time to meet or answer any additional questions,” that should be a gigantic Red Flag that this project will probably not go well.
- Remember and repeat knowledge gained through a successful process. We do post mortems on projects to identify strategies worth replicating and adding to our process, as well as things that need to be changed.
As a Project Manager, I have grown to appreciate the agile development process. It lets me be able to sit in any client meeting and feel comfortable pointing our client and partners back on track. In the end, the destination is always the objective but the road traveled can be exciting as well.