This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.
Recently, along with my lovely wife Tonya, Mini the cat, and our two dogs Olive and Calieb, I made the long drive from Chaska, MN to our new home in Alpharetta, GA. 1200 miles and 2 days behind the wheel of 26 foot truck equipped with a bench seat that was obviously fashioned from a recycled church pew gives a guy a lot of time to be alone with his thoughts. I’d like to say that I spent the time waxing poetic on the many corollaries between everyday life and agile development and in particular how my experience related to strategic product planning and agile project management. No… In reality I spent most of my time in silent agony, quietly cursing to myself as my rear end suffered from what surely was a temporary case of rigor mortis. Time, they say heals all. As a few weeks have passed and the circulation has returned to my lower extremities, I have had time to reflect on the experience. Planning for a long road trip, it seems, is not as different as project planning as one might believe.
To many, agile software development and long term planning have a rather contentious relationship. If we don’t take the time to plan out in detail all the different things that we need to do and deliver, how can we possibly have any sort of long term plan that is worth the paper it’s written on? Heck, even the manifesto says planning is for suckers….
Well, not exactly. The manifesto simply states that we value the ability to respond to change over relentlessly managing to a plan that most likely no longer reflects the realities on the ground. It’s not that we don’t plan. In fact, I’d probably argue that I dedicate more time to planning on agile development projects than I ever did on traditionally managed projects. The biggest difference here is how and where I’m spending that time.
In the past I would have spent what certainly felt like an eternity at the beginning of each project, planning out in excruciating detail, every foreseeable twist and turn. I would then waste, er… exert even more energy fighting change’s ever increasing momentum, in the futile effort of preserving my most excellent and accurate plan. It doesn’t take a genius to see the error of these ways. But, just as we don’t throw out the baby with the bathwater, we shouldn’t throw out planning because plans are never as meaningful as we want them to be. Much of the value in the planning process has always been in the process itself. Discussing how we will align capacity, budget and priorities to deliver customer value is always a worthy endeavor. While still valuable, the actual planning artifacts have always been less valuable than the actual act of planning. It is, however, hard to realize this value when planning is something we do only once.
In today’s age where most of us have GPS or Google Maps on our phones, we probably aren’t going to be overly concerned about planning a turn-by-turn route plan for any sort of cross-country road trip. While we hit up services like MapQuest or Google ahead of time because it’s so easy to do, we most certainly aren’t going to take the time to cross reference these routes against the various state DOTs to account for road closures, detours, etc. We figure that we will get a general idea of our route, enough to adequately prepare the supplies we bring and the stops along the way, and that when a detour does occur, we’ll use the technology available to re-route us on the best available route, in real time. We expect change and are prepared to deal with it. We know where we are going and we have a pretty good idea how we’ll get there, but we generally expect to work out the exact route along the way. Based on this, we will know enough to book the hotel for the cities we will pass through on the dates that we will pass through them. We will tell our family and friends about when they should expect to see us, but nobody is surprised when we are several hours behind schedule. We expect that Murphy will hitch a ride and adaptation will be required somewhere along the way. We accept that things will rarely go as planned, but as long as our plans are good enough to get us home, we’ll be pleased we made the effort.
Good enough. That’s the key. We know that planning is important. We also know that life happens and plans change. The sooner we can embrace the “Good Enough”, the sooner we can stop worrying in vain about preserving our plans and start focusing on adapting and harnessing change for the benefit of our product. Good enough, for many things, are very good words to live by. That said, if you happen to be planning a cross country move of your own, do yourself a favor and demand more than “good enough” when it comes to the seats in the truck. Ouch…