What would Geoffrey Moore do?

JUnit Max has been out for nearly three months now. There was an initial surge of interest and subscribers. However, things have settled down in the past couple of weeks. My first thought was to do more of what I’d been doing to stir up interest: releases incorporating user suggestions, blog posts, tweets. Then a little alarm went off in my head: chasm warning!

Geoffrey Moore’s 1983 book Cross the Chasm introduced the adoption curve to high-technology. Originally introduced to describe the uptake of innovation by farmers, it posits separate segments in the market for discontinuous products:

  1. Enthusiasts — will try new things for the sake of novely
  2. Innovators — will try new-ish things for the sake of business improvement in spite of some risks
  3. Early majority — will adopt proven products provided there is no perceived risk
  4. Late majority — will follow in adopting established products
  5. Laggards — the name says it all

Here is the original curve. The names of the segments are slightly different:

    Adoption curve

    Adoption curve

    Moore added some pertinent observations to this model when it comes to marketing high-tech products:

    • The gap between innovators and the early majority is particularly wide (the “chasm” of the book title), stymying many promising innovations
    • Marketing is fundamentally word of mouth, but people in one segment don’t converse with people in other segments. This creates a chicken-and-egg problem in gaining traction in a segment.
    • Messages that work for one segment don’t work for the next. The time to switch is when a product seems to be gaining momentum, because that segment will soon be exhausted.

    It’s that last point that tripped my chasm alarm. If what JUnit Max was experiencing was the saturation of the enthusiast segment of the developer testing tools market, what did that imply?

    First, it has quantitative implications for the business of selling Max. If the enthusiast market is 1-3% of the total market, the data suggests that the total market for Max isn’t larger than 5,000 licenses. My benchmark for a sustainable business is $1M/year (small development team, modest marketing and sales budget), which works out to $200/year/license. It should be possible to get considerably more than that for enterprise licenses, but it implies an n-tier pricing model.

    Another way to look at the same data is that implies that Max’s market is too narrow. Porting to IntelliJ, for example, would broaden the potential market. Creating products for other programming languages would further expand the potential market, although the real, paying potential market remains to be measured.

    Second, if what I’m seeing really is “enthusiast saturation”, it’s time to shift messages. The enthusiasts are motivated by technical whiz-bang. The details of Max’s test ordering algorithm are a big selling point. Innovators want results. “So what?” is the question I need to answer. Fewer defects? More programming time? Higher productivity?

    Fortunately, at Mark deVisser’s suggestion I added logging to Max early (in fact, before there was a product at all), so my beloved enthusiast users have the answers to these questions sitting on their disks. I need to ask permission to retrieve and analyze the data anonymously, as well as providing a view into the data for their own personal edification.

    Until I have the data to back a new story, I need to make progress on the obvious next features. Long term, though, it will help to ask, “What would Geoff do?”

    12 Comments

    markoMarch 16th, 2009 at 10:53 am

    Somehow I want to disagree, but I am not yet able to voice that disagreement.

    Or is just that I would love to use Max and am willing to do so for 2$/month but 200$/year would prevent me from doing so? Why I don’t use and pay for Max at the moment? I am ‘just’ missing the current project in which I can use Max.

    Stephen RylanderMarch 16th, 2009 at 1:05 pm

    Forget IntelliJ – expand from Eclipse into Visual Studio. That is a serious paying segment (more so than Ruby and other languages) and could provide significant liftoff. I know that is quite an undertaking, as exhibited by the TextMate creator. He won’t develop off the Mac because it’s so much more work, and frankly, not as fun as the platform you love.

    Michael HungerMarch 16th, 2009 at 3:42 pm

    Perhaps talking with the IntelliJ guys about having them integrate it would be most sensible and then take a share. People (like me) are willingly paying for IDEA as it increases the productivity so dramatically. But I’ve never paid for any additional plugin.
    Another thing is open source project licences. People get the licences for free for their spare time projects and take the experience into the workplace (but this may be a to small margin of people).

    Another direction that I would find interesting is to create a more elaborate unit testing tool suite out of that. Bundle JUnit4 with JUnitMax and some Unit-Test generation (partially what Agitar did) so that Max has also something to run. Steffen Gemkow (German translator of the PragProgs) of objectfab is currently working on JUnitDoclet’s next version to incorporate some initial features of Agitar.

    In general it is much less common to pay for your developer tools nowadays. Stephen may be right to look for VisualStudio as a better market. VS only becomes usable with the Resharper Plugin which costs $$$.

    Crossing fingers

    Michael, who would like to have a IntelliJ version of JUnit Max.

    KentBeckMarch 16th, 2009 at 4:32 pm

    Thanks for the comments. This isn’t an easy market I’ve chosen, which is why there aren’t any easy answers for how to make a business.

    As far as a Visual Studio version, it makes a lot of sense but the question is one of timing. Max is completely bootstrapped, so any development needs to generate revenue quickly. As difficult as working with Eclipse has been, working with VS is likely to be an order of magnitude more expensive. I can only afford a VS product if either the current product establishes solid profits or I can find capital, perhaps in the form of advance sales.

    The economics of working with a vendor to bundle the product don’t pencil out. The asymmetry is strange. Max would add a small increment of functionality to IntelliJ and probably result in no more sales incrementally. Therefore, they would rationally be willing to pay me the same amount it would cost them to develop it inhouse. My potential revenue is one or two orders of magnitude higher than that, so it doesn’t make sense for me to sell. The failure scenario for me is if they just go ahead and copy the functionality themselves. Then I get nothing.

    Phil BennettMarch 17th, 2009 at 8:14 am

    Kent, re VS (I don’t work for MS but have used this program before) you can goto http://www.microsoft.com/BizSpark/ and for $100 get any production licences of anything you want for 3 years. The rub is that at the end of 3 years you’ve got to pay for the licences. Might be worth a punt.

    KentBeckMarch 17th, 2009 at 8:27 am

    Phil,

    The $100 or $1000 for the software is irrelevant in the costs I’m talking about. The big expense is time and associated opportunity cost. VS has a reputation of being difficult to develop for. That means that a lot of my time would go into Max.net, time I could be using to bill hours (albeit at a low rate currently) or enhancing other products. This creates a cash flow problem for a bootstrapped enterprise. I simply can’t afford another three or six month pause in revenue.

    If Microsoft, for example, wanted to buy a site license that would provide me with six months of cash flow and pay up front, that could break the chicken-and-egg dilemma. They would have the value of the tool when it came out and the marketing value of having the coolest new tool (he says, modestly) delivered on their platform. At the same time, though, they would take on the risk that I wouldn’t deliver. I haven’t been able to find the person who might find this argument compelling.

    Stephen RylanderMarch 17th, 2009 at 10:57 am

    I’m not the one invested, so I can’t imagine the feeling of bootstrapping a business. Now, with that being said, the anticipated Visual Studio (2010) has a much overhauled extensibility system. You could always go to market with Eclipse only, get a feel, continue consulting, and then expand your offering later.

    It’s like XP for business.

    Jeffrey FredrickMarch 17th, 2009 at 11:05 am

    Hi Kent,

    I think you’re dealing w/the law of small numbers but trying to make a statistical projection. In my experience market penetration takes much longer than most techies expect; you’re very very early and have reached a very very small % of your potential market.

    Your natural market are people who do TDD in Java and use Eclipse. Do you think all of those people have heard of JUnitMax? What could you do to help them learn about it?

    And are you going to come to CITCON in April to demo it? :)

    Jtf

    KentBeckMarch 17th, 2009 at 5:19 pm

    Jeffrey,

    I think I agree with you. The innovator segment is generally very clued in, very sensitive to new things. They’ve heard about Max. Have all Eclipse TDDers? No, but those who haven’t aren’t members of the innovator segment. As I said in the original post, I project the total market at 5000 licenses, far more than I’ve sold so far. That might be off by a factor of 2-3 either way, but I doubt that it’s off by a factor of 10. At least for business planning purposes, it makes sense to use the data I have instead of wishful thinking.

    CITCON sounds like fun. As with the rest of this enterprise, though, cash flow is king. I can’t afford either the time or the travel expenses to get there. Someday, when Max is rolling along and I can count on further expanding in the early majority segment by attending, sure, it will be great. For now bootstraps are shackles. Then again, there is a certain discipline to bootstrapping that I appreciate. Sometimes…

    DavidMarch 19th, 2009 at 2:01 am

    Kent,

    I like the idea of using the logs to understand what the tool is doing good or wrong. This is the Google’s way of life !

    Speaking of sizing your potential market, would you agree on saying that the current beta testers are about 2.5% of the 5000 people who would be interested in CURRENT features of Max? Would adding new features increase the size of the enthousiasts bucket or start targeting innovators?

    I think you could add new impressive features to attract new enthousiasts, then grow the potential market in proportion. So how can we make the difference between a late enthousiast and an innovator?

    Or you could shift the message towards innovators. You would sell licences but then you wouldn’t grow your potential market. 5000 would be the maximum selling, period.

    You could also make some hardening on what you allready have, just to make sure that the $2/month enthousiasts really transform into 5000 $200/year users. This part might be difficult because in parallel of crossing the chasm you need to change the licence model from (almost) free to cheap enough, when the targeted audience is used to free OpenSource.

    Speaking of CITCON, couldn’t you rely on someone to demo JUnit Max for you? I’m fully ready to demo it in september in CITCON Europe!

    Kent BeckMarch 19th, 2009 at 9:25 am

    David,

    Correct, I believe that I have an order-of-magnitude measurement for the size of the market for a product like JUnit Max for Eclipse. An IntelliJ version, for example, might double the size of the market (because of greater commercial use of IntelliJ). A Visual Studio version would open up another market. A language-independent service likewise.

    I would be happy to have you demonstrate Max a CITCON Europe. We should talk about specifics. Word of mouth, as Moore says, is really the dominant marketing mode.

    Klaus WuestefeldApril 15th, 2009 at 1:20 am

    The premises to this discussion are:

    1) Max is revolutionary.
    2) Max works.

    Max is not revolutionary. It is “work with the JUnit window minimized in Eclipse and do auto-press-F11-together-with-Ctrl-S” :)

    Max didn’t work until a couple weeks ago. Failing to stop the previous run before starting a new run is unacceptable. Kent seems to use JMax to test tiny projects. He needs to use JMax on large ones too.

    The good news:

    There is no “perceived risk” in JMax. :P Its a no-brainer. People dont even have to compromise and stop using the old JUnit window. JMax just has to work.

    Remember code completion and on-the-fly-syntax-checking in the early days? They were so slow and clunky everyone turned them off. Now people don’t even think about working without them.

    JMax will fly in the market. I would buy JMax stock if I could.

    Word-of-mouth is useless if it isn’t good word-of-mouth.

    Quit blogging and get it to work. :)

    Leave a comment

    Your comment