If you're a software startup, how do you decide what to work on? That's a question that I've put a lot of deep thought into over the years.
As I've talked to people about this issue, there are two basic paradigms that standout. They are extremes of each other, but they serve as useful pivot points for the discussion.
The one school of thought, headed up by my sales & marketing friends, says you should "Listen to your customers and do what they say." Well, that sounds reasonable, but what if you're a true startup company and you don't have any customers? Then who do you talk to? My friends tell me that in this situation, you work your personal network, you make individual contact with people, you take them out to lunch, ask them very general, open-ended questions like "So Pat, what part of your job do you spend the most time on?", and then you engage in "active listening" to discern their needs. After doing enough of these personal interviews, a common pattern of need will emerge, and there you have it ... you've got your product idea.
According to this way of thinking, you should not even begin to write your first line of code until you have lined up at least half-a-dozen reference customers who have not only committed to buying the product once it is available, but have agreed to pay you in advance for the costs of the product development.
The second school of thought, headed up by technically-inclined people such as myself, tend to think you should draw on your own personal experiences and your domain expertise in whatever field you are contemplating, think of a great idea, write the code, and once the product is available, begin the sales & marketing aspects of the business. People who think this way are introverts by nature, and would love nothing more than to hole up in a cave somewhere, spend a couple of years writing the greatest product on Earth, and then tenderly and lovingly release its awesomeness to the world.
So which of these schools of thought is correct? Probably neither. But which one is closest to being correct? I think there are probably examples of both kinds of success. As I am currently working on my third startup company, for the sake of anecdotal data, let's examine my first two companies, which were both successfully sold to larger software companies. How did those companies succeed?
In 1991 I was working as a software engineer at Hewlett-Packard. During my tenure at HP, my project team was struggling to cope with the myriad of "to do's", bugs, and enhancement requests on the project. We began using a very primitive UNIX-based defect tracking system named DDTS. It sucked for two main reasons. First, it used UNIX shell scripts as its core technology, which made it difficult to get useful information out of the system. Just getting a list of defects assigned to you meant you had to write your own shell script. Each engineer had to have their own personal script with their name hard-coded into it. Second, it could only be accessed from a UNIX workstation, which meant I had to leave my PC-based development system, walk over to a UNIX workstation, and login to access DDTS. How inconvenient.
From this experience I was aware that there was a need for defect tracking, and the current solution in place was very suboptimal. I reckoned that the world could use something better. While those thoughts were fermenting, my friend Bob Pinna told me he was going to leave HP and start his own company to make a defect tracking system. Wow! I'd been thinking about the same thing. Bob had a few more years of experience than I did, and had done not just software engineering, but software project management as well. I figured if Bob thought it was a good idea, then it probably was. Bob drew on his personal project management experiences, but also talked to several other project managers, mostly at HP, to figure out the initial feature set of the project. Bob left HP and started working on the product full-time. I stayed at HP and worked with Bob part-time to write the system documentation and help with testing.
When the product was ready, in October of 1992, and before we had made our first sale, I left HP to work with Bob full-time. I had started at HP on August 1, 1990. My last day was October 2, 1992. My life as a salaried engineer working for a large company had lasted exactly two years, two months, and two days. My life as a software entrepreneur had begun. Our product, Defect Control System, or DCS, was released and sales grew rapidly. Two years later the company was acquired by INTERSOLV and the product was renamed to PVCS Tracker.
Getting back to the idea generation process, in which two schools of thought does this model fit into? To me it seems clear that some aspects of both methodologies were used. Interviews were conducted and feedback was incorporated into the product. The product was not developed in a vacuum. However, the idea itself came from personal experiences of understanding the need for defect tracking, and understanding the weaknesses of the existing solution. Interviews were done after the idea was decided upon, and for the purpose of honing the idea and deciding upon the exact feature set. We showed the product to our friends who were still at HP, but there was no pre-commitment on the part of HP to buy the product once it was ready.
The process worked, although not without some misfires along the way. One thing I remember is that because of the close ties we had with HP, the product had a Bugs per Thousand Hours report, which was an important metric used within HP. Turns out, not too many organizations outside of HP were doing things that way, and the feature went mostly unused and was the source of a lot of customer confusion. Other important features were missed, like the need to be able to create custom fields for tracking information specific to each organization. Everyone did things a little differently. The first version of DCS had custom fields, but you could only add a total of 8 custom fields, two text fields, and six drop-down selection fields. This limitation turned out to be woefully inadequate, which we learned very quickly. I don't think you'll ever get everything exactly right out of the gate, but hopefully you get pretty close. I think we got a lot more things right than we got wrong.
In the next blog in this series, I'll talk about my second company, TeamShare, which made another defect tracking system, TeamTrack.
Powered by: newtelligence dasBlog 2.3.9074.18820
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2010, Kevin Dietz
E-mail