Making and Changing Plans

April 11, 2013

We all make plans everyday. Small plans, big plans, short term plans and long term plans. We plan for retirement; we plan for the weekend and we plan for our next meal. We make plans for everything and hope nothing changes. But inevitably our best laid schemes gang aft agley.

Gang’ing Aft Agley

So what do we do when things go wrong or change? We certainly don’t throw our retirement plan away, or work the weekend or not eat dinner because something came up to put a wrinkle in things; we adjust. We shift our investments; we sleep in late instead, or we invite someone else to dinner. We make new plans to take place of those that are overcome, or we make some modifications to account for the changes.

Planning to Fit

Made in Paint.NET

Knowing that things will change, we plan accordingly – investing time and money into planning software according to its complexity and value to the customer. We’re not perfect, anticipate changes, and keep the customer as involved and informed as responsible/possible.

On our Time and Materials project, we provide only rough orders of magnitude to the customer and report when we think we might exceed the ROM we provided by a fair margin. This saves the customer money up front and we keep the channels of communication open – providing them constant updates on how their money is being spend and giving them the power to influence what gets worked on, when we start, and when they can expect to see the result in our staging environment. They control the input to our process and we provide the software to enhance theirs. We err on the side of less implementation and take steps towards a better system – allowing us to constantly improve the software, save them money and increase feedback from constant, measurable enhancements.

TL;DR

In the world of software, nothing is static. A new technology comes out, client deliverables change, bugs crop up and there’s a change to make that can help the customer save time or make money. Being able to quickly change your plans and your software to meet those needs is crucial to delivering value. We’ll never be able to build the end-all be-all that meets the customer’s needs on our project. Their needs and business are constantly growing and improving, so we, too, must continue enhancing their system to keep up. No amount of planning will actually accomplish this feat, so we plan for change and change our plans. According to Google and the linked website, Churchill said, “To improve is to change; to be perfect is to change often.” which sums up this post quite nicely.