# Monday, March 23, 2009
« Secrets of Success - Part 1 | Main | Secrets of Success - Part 3 »

After Software Edge was sold, I worked for INTERSOLV for about a year, and started my second company, TeamShare, in early 1996.  This was in the very early stages of the Internet taking off, so like a lot of people, I was thinking about how to do something useful in the new era.

I went back to my roots with defect tracking, which by now I had built up nearly four years of domain expertise in.  Being shy and introverted, I didn't do any customer interviews at all.  I simply drew upon the customer experience I already had from building DCS.

Based on that experience, I thought a browser-based interface would solve three problems.  First, it would be easier for distributed teams to work together, and I knew from DCS that there were lots of customers that had distributed, or extended teams.  Second, it would eliminate client installs, which caused a lot of problems with DCS when we did upgrades from one version to the next.  Basically everyone had to do the upgrade at the same time, and people using an old client version couldn't talk to the new server.  It was hard for people to coordinate their upgrades.  Third, there was a technical problem with the way DCS handled its user inbox, which was used for defect notifications.  If someone hadn't logged in for a long time, we had to synchronize changes down to the desktop.  It was a slow process and made a lot of customers angry.  I figured a browser-based interface would eliminate the need for this desktop synchronization.

I wasn't sure if making it web-based would be enough of a differentiator from PVCS Tracker, so I looked for a couple of other features I could add to make TeamTrack better than PVCS Tracker.

DCS had a lot of built-in reports, which customers liked.  We also had the concept of projects, which allowed customers to delineate their development groups from each other.  The reports worked on a per-project basis.  This worked well at the tactical level, but as upper management started to use the system, they complained about not being able to see the big picture.  There was no way to run reports across multiple projects to get a consolidated, high-level view.  I remember Bob Pinna telling me, "Kevin, people want cross-project reports.  If you can just crack that nut, we'll have it made."

To deliver this feature, I decided to implement hierarchical projects.  I figured if projects could be arranged hierarchically, then reports could be run recursively across multiple projects, and customers would have what they'd been asking for.

The other need I decided to tackle was required fields.  What customers said to us was, "The reports you have in DCS is great, but they're useless to me.  No one ever fills in the fields they're supposed to, so we don't have good data to use in the reports."  So I thought a lot about how to have a good implementation of required fields.  I realized that it wasn't just about getting the required fields filled in, but they had to be filled in at the right time.  So I decided to build into TeamTrack the concept of workflow, consisting of states and transitions.  I could then associate required fields with each transition in the workflow, and customers would have what they asked for ... fields getting filled in with good data to facilitate proper reporting.  To my knowledge, TeamTrack was the first defect tracking system to implement workflow, a feature which went on to be copied by nearly all defect tracking systems that came after it.

So let's review what I did.  I didn't conduct any interviews, but I had the luxury of not doing that because I had all the experience from DCS fresh in my mind.  The ideas I had weren't born of my own fanciful wishes, but were based on real problems experienced by real customers.

But there's something else that I think is also interesting.  In DCS, no one asked for a web-based interface, they asked for simpler client upgrades and faster inbox refreshing.  No one asked for hierarchical projects, but instead they asked for high-level reports across multiple projects.  And they didn't ask for workflow, they asked for a way to make sure fields got filled in at the right time.  It was then up to me, using the domain expertise that I had by now acquired, to map the customer needs into specific features.  That's an interesting part of the process.  You can't expect customers to tell you what features to add, they just tell you what their problems are and then you have to figure out how to design a system that will solve those problems.

So once again I think we see a combination of the two schools of thought about idea creation that I mentioned in Part 1 of this blog series.  Customer feedback was an important part of the process.  But so was applying personal ideas, creativity, and domain expertise about the problem.

In the next entry in this blog series, I'll examine how applicable these lessons are in the current era of software development.

Monday, March 23, 2009 9:57:10 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [2]  |  Related posts:
Demo-Driven Development
Kevin On Hiring
Secrets of Success - Part 1
How I Do My Accounting - Part 1

Tuesday, March 24, 2009 2:54:39 AM (GMT Standard Time, UTC+00:00)
It seems to me, you have answered your own questions in regard to the correct approach. You actually DID "perform" hundreds of customer interviews and you assimilated these into such concepts as hierachical prjects and workflow. Without these "customer interviews" (your direct day-to-day feedback from hundeds of customers using your DCS product), it is unlikely that you would have hit upon these concepts.

At least, that's how I see it...
Tuesday, March 24, 2009 3:50:24 AM (GMT Standard Time, UTC+00:00)
Greg, thanks for your thoughts on this. There is no doubt that when I started TeamShare, I had a huge advantage in having the Software Edge experience under my belt. I capitalized on that advantage by staying in the same product category. I was able to pull this off because, unlike Bob and Richard, no one at INTERSOLV knew who I was pre-acquisition, and I was not locked up in a non-compete agreement as they were. It was a mistake on their part, and I took advantage of it.

But what happens if your next company is in a different, but related product category? When TeamShare was acquired by Serena in 2003, I was tied up in a 2-year non-compete. I guess that means I could have traveled the world for 2 years and then started on my next defect tracking company in 2005, but by then I felt like I had accomplished what I set out to do with defect tracking, the defect tracking market was by now very crowded, and I wanted to do something different. By moving into continuous integration, I felt I could leverage my existing expertise in a different, but related area of software development.

I think it's also interesting to note that Software Edge succeeded without us having the benefit of 4 years of customer experience.
Kevin Dietz
Comments are closed.