Our development team did not set out to build the most expensive printer stand in the history of printer stands, but build it we did. We actually set out to build some cutting edge handhelds loaded with bleeding edge software that would enable a more immersive retail shopping experience (I won’t give too many more details, as I don’t want to name names.) Here is the quick story how we made history (that is if you are talking about the history of expensive printer stands)…
It was a great day when I was informed that I would be managing the team that was selected to deliver a very forward looking product for one of our largest retail customers. We were excited, nervous, and wanted to make sure that we got this right, as this was not only a project that could seriously boost our careers, but it was a product that could possibly get some major exposure. In preparation for this project, we did what we thought best to do in a situation like this, we prepared. In preparation for our preparation, we prepared again, and then we planned, and then we planned on doing some more preparation before our final planning session, before the kickoff planning session with the customer. I could go on and on, but I think it is clear that we spent a good deal of time making sure that we were as prepared as possible before the project was even officially started.
The project kick-0ff meeting with the customer went flawlessly, and this was due (in my opinion) to two major factors. First, we were prepared (and by we, I mean the development team), having done the requisite research into how we were going to deliver the product, what was the most appropriate technology for the development of the product, and what we would need to know and what we would need to be good at in order to meet the customer’s expectations. Second, the customer was prepared, and was able to very clearly identify the specific requirements for the product. They had done a lot of research into the needs and wants of their customers, and then very carefully translated that information into what the product should look like in order to serve those needs. We, as a united team, as a single unit, as customer and vendor, were ready to change the retail world, and it was with that level of excitement that we launched our project.
We had originally estimated that the requirements gathering phase for this innovative product to take between 1-2 months, but here we were 6 months later, just wrapping up the specifics of the product. And when I say specifics, I mean detailed, technical specifications on each and every nook and cranny on the hardware and every technical crevice in the software. We were so well planned, and had an equally detailed project plan to match, that we could say with relative certainty when we would be taking lunch months later. We had solidified the next 10 months of our lives into daily bites of planned progress, and the plan was our bible, our map, our GPS device that was going to guide us to a success, fortune, and fame. The plan was done, and the plan was good, so off we went.
The plan did guide our efforts well. Along the way we diligently hit each of our milestones, our sign-offs, and our module demonstrations. We were, in short, meeting every project expectation and constraint, and in the end delivered ahead of schedule, on budget, and even incorporated some small additional functionality. Speaking solely in project terms, we did what was traditionally thought of as the impossible, and it was good.
The good times our team experienced, the excitement of relishing our success, was soon dashed by a much greater failure. Although ‘we’, as the development team, were successful in meeting our obligations to the customer, no one was keeping an eye on the turbulent market conditions to ensure that the product we were building would have an audience when we were done. This ‘market viability study’ was done in great detail during the project justification phase (the “should we spend this money to build this product, and will we make money doing it” phase). But once that initial assessment was done, it was never revisited, and the product we ultimately delivered did not have the market that was anticipated a year earlier. In fact, the market had changed substantially, but no one was watching.
If you haven’t guessed already, this happened quite some time ago, when I followed a waterfall type of approach to project management. We followed the mantra, plan the work and then work the plan, which may work some of the time, but completely ignores the realities of a rapidly changing marketplace and a competitive landscape. Our development team, and even more painfully, our customer experienced first hand something that I will never forget…
We did have a brilliant product. But that brilliant product existed only in the imaginations of those with the idea to build it. If we could have snapped our fingers and instantaneously had this product available, it likely would have been successful, but we couldn’t, and it wasn’t. It took time to plan and then build this product, during which time the anticipated customer base that we believed would want our product had changed their needs and wants, essentially killing our product before we even completed it. The hand held devices and all of the project documentation eventually made their way into a large cardboard box, which shortly thereafter was used to support my personal office printer. It was somewhat devastating the day that I realized that what we had ultimately built and delivered was a $788,217 printer stand.
What does building the world’s most expensive printer stand have to do with agile teams?
Agile teams recognize that in order to truly define our efforts as successful, we must to do more than simply meet budget, schedule, and scope obligations. We must keep our eye on the bigger picture, which means that we may need to change course mid-way through a project. We must do this if we believe that the ultimate destination for our product will be better. Had we kept our eye on the marketplace, had we been more keenly aware of the shifting winds that were all around us, we could have responded by modifying our design, usability, and primary use of the product we were building. We could have had a chance to meet the needs of the market with a product that suited those requirements. But the only requirements we focused on, the only requirements that guided our efforts were those requirements defined months before we would ever be ready to deliver. The world was changing all around us, but no one cared to watch. Or perhaps even worse, no one watching cared.
Agile teams embrace change. Change happens, and when it doesn’t, it is more likely that you simply are not in tune with change that would guide you to a better result. I remember back in those dark waterfall days thinking that if changed happened, it would be bad news, something to worry about. My approach in today’s agile environment is just the opposite, if I have not been aware of any change throughout the course of the project, I worry that I may be missing the changing needs and wants that will translate to a more successful product.
You may have experienced building your own exorbitantly priced printer stand, but don’t worry. These experiences that don’t kill us (or our careers) only make us stronger and smarter, so long as we listen to what our experience is telling us. My experience was a great instructor, showing me clearly that in today’s rapidly changing software development environment to ignore a shifting market landscape, to believe that a static world is waiting while we develop, or to pretend that change doesn’t happen, will only result in something less than the success that may have been possible. In order to survive and thrive, we must adapt.
In order to truly be agile, we must expect change to happen. And when it happens, we can greet it with a smile, knowing that a better outcome is now possible.