One of the hardest parts about getting started with any project, Agile or not, is selling the plan for the project. This is a tough task, as you are surrounded with uncertainty – it may be a new product, new team, new tools, and you may also be faced with adopting a new process at the same time. Yet somehow, in the midst of all of this uncertainty, you are supposed to produce a plan.
Any business decision maker has been trained to make these decisions in the framework of a cost-benefit analysis; they will project the future profit streams they expect from the product or improvement and weigh that against the up front investment they must make to get the functionality that will deliver that profit stream. While complicated to model, especially if you are discounting the cash flows from the product in future periods, it can be done, and the end result is a projected return on investment (ROI) for the work. In principle, you could do this for every major release – simply weigh the incremental increase in sales against the cost of developing the features and the ROI can be calculated.
Here’s an example of how this might be modeled to illustrate the point – first, notice the initial development investment which creates a cumulative hole. Then, as the revenues and net profits start to flow, you see that we start to climb out of the hole. This view of the lifecycle of the project also clearly shows the breakeven point at about the 18th month and the profitable ride through product maturity and decline. Many companies compare projects using time to breakeven as the primary measure of success.

My Software Project
The picture I show here is incomplete, as time obviously continues until the product is no longer sold or supported, but if you extended the model to include this time, then you could also compute what is known as an Internal Rate or Return (or IRR). If the cash flows are already discounted by the cost of capital, While hard to compute, the answer allows you to make a clear comparison between alternative product development investments and to choose those projects which have the largest positive IRR.
Given this framework, the job of product development is to provide estimates of the time and cost to achieve a given functional footprint. Marketing and Sales then provide the expected sales levels, and you now have everything you need to complete the model and to make the funding decision. You can also assess the risk inherent in various projects and plot this against the IRR; here’s an example I found just to illustrate the point:

Value vs Risk
This kind of bubble chart allow you to easily see how the entire project portfolio shapes up – note how they even used the size of the bubble to indicate the remaining development cost. A company can choose it’s tolerance for risk and identify the group that best fits their risk/reward profile.
These are the tools by which senior management makes product development decisions, especially in larger organizations. Every MBA student gets exposed to them at some level, especially if they study product development or entrepreneurship. This is the kind of analysis they want to see, especially as they present to their board or investors that are providing the financing to fund the startup or next big software development endeavor.
I present this to you not because it is right, but because it is what anyone with an informal or formal business training has been taught to expect. It’s the frame they have, it’s what they expect to see, and it confuses them when you talk about something different than this. As a result, if you hope to map their expectations to your reality, then you need to learn both languages and how to translate.
“Let’s Get Real”
Let’s turn our attention to Agile. If you take a look at the model in more detail (I’ve attached it so you can if you choose), you see that modeling the outcome of the project requires estimating the cost per month for development. Since one of the principles of Agile is that you avoid big up-front design, then how are you supposed to figure out what these costs will be unless you produce a detailed work breakdown, estimate the effort on each task, and then roll it up into one big estimate again? And how can you breakdown the work without a detailed design describing how you will build it and allowing you to carefully time when you will need specific resources to accomplish the type of work? And of course, once you have that plan, all that remains is to execute it with efficiency and discipline, and 9 months later you have the product that you wanted at the cost that you expected and you are selling it to the market that you anticipated.
As an engineer, it’s a compelling picture free of risk – all I need to do is convince my business partners that they should fund my up front investment in understanding the problem and developing the design and schedule and we’ll be golden. Of course, this also depends on capturing all of the requirements for the system before the design starts and in having an accurate understanding of what sales will be once the product is complete. Of course, those aspects of the problem are not really my responsibility, so I can trust that they will be done with the same rigor which we will apply to the development portion of the overall project.
Um, yeah…right…
Let’s get real. Projects fail because the organization that is sponsoring them loses the will to succeed. This can happen for LOTS of reasons, but I’m going to go out on a limb and say that after many years of pursuing this dream, failure by the technical team is becoming the least of my worries. Will there be missed ship dates? Sure, but not by much, and if the overall plan which includes these dates is so fragile that one missed date renders the business strategy a failure, then it was simply a bad strategy. If the “market window” for the opportunity was only a few months long and missing the delivery date by a few weeks means we missed the market window, then it doesn’t sound like you were ever really chasing a viable going concern.
If the funding runs out, if the business strategy changes, if you discover that you are building the wrong product, if the company gets sold, if you buy another company, if your sales are too low, if it takes too long to build the channels, if the product is too complex to sell through the existing channels, if the company decides it can make more money doing something else, if your sponsor leaves the company or gets promoted, if other projects gain favor and steal your support, if you don’t fund the marketing effort needed to generate demand, if you don’t commit the resources you need to document, install, and support the product…the list goes on and on.
Don’t misunderstand me – I’m sure that the official story will be that “due to schedule delays and cost overruns, the project was cancelled” but this is just because technical teams and individuals generally do not play the political game well and do not have the connections, persuasiveness, or political savvy to manage perception. And if you find yourself in an environment where you have people waiting to pounce on your team at the first sign of weakness, then you really have to ask yourself – can we be so perfect that we can be successful? And by successful, I don’t mean that you shipped a quality product on-time and and with the feature set that was requested – I know that you want to believe this is sufficient to be golden. Instead, I mean the success that comes from real people using your product, recommending it to others, and coming back for more. I mean success in the market place.
Given the sea of uncertainty that surrounds our little ship, do you really think that focusing inward on making it even more air tight is the best strategy?

Magnolia Gardens and Plantation - Charleston, SC
“or Let’s Not Play”
So, let’s turn this problem inside out. You are the technical lead assigned to work with a product manager on a new concept that has enough political support to assemble this much of a team. Your leaders ask for a project plan and challenge you to explain how you can estimate the costs of your project when you don’t have a detailed, upfront design and plan.
You are at a crossroads. You can react one of two ways. You can take the blue pill, tell them that you’ll need 4 months to collect the requirements and to produce a detailed shared fiction complete with 4′ x 6′ Gantt chart suitable for framing. Or you can take the red pill and ask them to explain the market and sales projections that show exponential growth and sales increasing by a factor of 10 in the first year. Ask them to show you how they can prevent all of the storms of change that might sink your ship from happening.
If you take the red pill, one of two things will happen. They will be offended by your questions and decide to go find some other sucker that will tell them what they want to hear, or they will decide to form a partnership with you in which you all acknowledge that you are surrounded by risks and that the best way to proceed is with a working relationship in which you set aggressive goals to ship early and often, you expect and embrace change by using a process such as Agile that gives your business team the ability to react to what they learn as your collective understanding of the market matures, and you give them the transparency they need to see the real work is being accomplished and that you are steadily moving toward the minimum viable product you need.
I recently went through this process and was told that expectations had been set that it would take 12-18 months to get to the functionality that was really needed by the market. Implicit in that statement is that no one really expected me to ship for at least a year – sweet, right?!?! This is not an opportunity – it’s a recipe for disaster. My response: I don’t know what is needed yet or why, but I know that our plan will be to ship in 6 months or less. That’s the plan we took to the investors, that’s the goal we have, and in fact we currently expect to ship twice by then.
What’s the moral of this story? If you have the ability to use processes, people, and tools to deliver software products, then you have something of value and you deserve to partner with business people that have similar abilities in developing markets, channels, and the ability to sell. Even if your product is for internal consumption, you still need business people that can build the buy-in needed to exploit your product for maximum benefit and to create an internal business success. If you offer them a transparent, capable process that reacts to their changing needs, then you are in fact offering them the best they can get from anyone and you are a worthy partner that should expect the same from them. This isn’t about making life easier for engineering or avoiding accountability – it is instead about creating successful products in an uncertain environment.
It’s time for us to accept that Agile is the best we can do given these realities and to turn our attention from avoiding past failures to creating new successes.
Afterword
The title of this essay – “Let’s Get Real or Let’s Not Play” – comes from a book by sales guru Mahan Khalsa; early in my career while a consultant at Microsoft, I had a chance to hear him speak and to study his book. While I have never really aspired to learn how to sell, my recollection of his message is as clear and as simple as the title – you can let others lead you to invest a great deal of time and money pursuing their business through blind sales processes, or you can avoid the wasted expense by focusing instead on those fewer customers that are willing to directly engage with you and to help you understand what the really need. His argument is that the latter is a more successful sales strategy.