When Developers are Done, the Work has just Begun

Here’s the product development / release lifecycle in a quickly assembled OmniGraphSketcher chart:

Developers start working on a prototype, while the initial effort of creating something new is intense work as the idea becomes somewhat obvious there’s more busy work than challenge.     Maybe you mocked up a prototype for a service to keep track of companies and products?    While the initial work was a lot of late-nights, a few weeks into the product you find yourself tending to simple forms and just implementing relatively straightforward features of the product.

Clarity and a Drive to Done

Then you hit #3, a moment of clarity, when the business takes your initial idea and identifies something that will truly differentiate the offering.   Usually this differentiator is going to involve a lot of difficult implementation effort.    The project started out at an intense level at #1 and between #3 and #4 the work effort returns to this same level of late night hacking.

At the end of this phase, the development team gets together, they declare victory and all go out for beer.   “The project’s finished!”, and the developers declare it “done”.

Getting “Beat Up” by the Business

The reality of almost every project I’ve been involved with is that, this is usually when reality sets in.  The business receives a functional system from the developers, but there are more complicating tweaks to requirements.    Because developers rarely do a good job modeling reality in an object model or API, there is almost always one or two “Big-Ass Requirements” (BARS) that have been overlooked.  “Wait, you implemented an accounting system, but there’s no way to track different currencies? …. No, that feature can’t wait, it must be ready for launch.”

If everything is working as it should be, the business drives a high level of effort between #4 and #5.   While the developers were initially celebrating the project as “finished”, a few weeks of making sure the systems actually delivers value to the business has everyone exhausted.   This is the sort of phase that most new developers haven’t experienced.   It isn’t enough to just deliver the software, you have to go through the often arduous process of making sure that the business can use it.     This is the phase characterized by meetings between development and business that are tense, but not necessarily contentious.

Achieving Perfection (or “don’t think the CEO won’t cancel this project, tomorrow”)

Once the Boss thinks the product is done (“Boss” done #5), better products would be released to real customers for feedback.     If a company is really committed to perfection, say a company like Apple, they won’t release a product until it has gone through an additional stage – perfecting the product for customers.   And it’ll take as long as it takes.  Very few developers ever get to experience this phase because most companies in the software field just don’t value perfection.    There are only a handful of companies like Apple that can even afford this.

This last phase is very often about a brand manager, an art director, or (in the case of Apple) an uncompromising CEO.  If you thought getting to the “‘Boss’ done” phase was difficult, getting the the customer-ready phase is downright grueling.   There is usually no set date for release, projects can be dramatically altered (or even canceled) if they don’t meet the expectations of an uncompromising executive, and people are asked to do impossible things overnight.  This stage isn’t fun and people will quit.

Startups and Perfection

If a company can afford this final stage it often makes the difference between a so-so product that will succeed in a market and a product that will redefine markets and change the industry.    There are only a handful of companies that have the integrity and patience to pull this off.

The whole point of venture capital investment in technology startups is to give companies enough runway to commit to creating something that will alter the market.    Right?  I mean, companies don’t get a couple of million dollars to recreate the mundane?   Or do they?

Startups: Don’t Release “Developer Done” Crapware

All too often I see startups just releasing some “Developer Done” stage crap and then trying to write some blog entries to gin up some traffic for the next Board Meeting or trip to Sand Hill Road.    “Hey, look at us, we got $5 million in Series A, and we’re releasing this crappy infrastructure-management solution with absolutely no path toward revenue.   Please ignore the fact that 50% of the product is static images covered up by images of cutesy animals.   We’re like Twitter, we’ll figure out the business model later.”

If this is your startup, quit now while you are ahead, stop playing with other people’s money, and go work for someone else.

Twist to Graph Twitter Trends (Swine Flu)

This is a follow-up to the two O’Reilly articles from yesterday “Twittering the Swine Flu” and “Tracking and Graphing the Swin Flu with Twitter”.

I’ve been using Twist to graph Twitter trends, here’s an interesting graph of the impact of Swine Flu on Twitter. What I find interesting about Twist is that it shows you a technology that is impossible with Google Search. Google’s Flu Trend service is likely more accurate and able to track local Flu trends. Twist on the other hand is going to provide a quick snapshot of awareness of the general population.

With Twitter, services like Twist are able to perform analytics on the entire data set of Twitter (albeit indirectly). Twist didn’t need to ask for permission to create this valuable graphing service. On the other hand, Google Trends and Google’s Flu Trends had to be generated by the private entity that owns the search data. As services like Twitter and Google become essential tools of government, we should be comparing the openness of these platforms.

Here’s a graph of “swine”, “oprah”, and “obama”. As you can see the Swine Flu story seemed to break yesterday, and the awareness peaked out at just below 1%.

Click on the graph for more detail, or go to http://twist.flaptor.com/

They Should Have Named it "Earth Bang"

A new magazine from SciAm has the title “Earth 3.0″…

The article that introduces the name and talks about the meaning of “Earth 3.0” follows many of the patterns of introducing a new X.0 modifier. Those patterns as defined in my post on O’Reilly News are:

  • Appeal to anonymous general sentiment that a “new” movement is building.
  • Speak of the new movement as one that is emerging.
  • Introduce the movement as a realization of egalitarian ideals.

When a new “3.0” name is coined, there is a fourth pattern which emerges… the need define the previous two “versions” of a particular area of interest. John Rennie defines Earth 1.0 as Earth pre-industrial revolution, Earth 2.0 as Earth since the dawn of industry, and Earth 3.0 as an emerging “new way” which has both the sustainability of Earth 1.0 and the progress of Earth 2.0.

The issue with modifying something with the “3.0” name is the conceptual overhead implied. Not only does a potential reader need to recognize the implied meaning of Earth 3.0, they have to understand that you are taking the opportunity to define not only a Earth 2.0 which represents our current, industrialized approach…. you are defining an Earth 1.0 to refer to a sustainable prehistory.

The other big issue with using version numbers as a shorthand for something this important is that (as in software) a version has a limited lifespan. A term like Earth 3.0 only retains its value if you believe that we are living on or near the transition from Earth 2.0 to Earth 3.0. For the magazine and the brand to remain fresh, you’ll have to constantly remind people what Earth 3.0 is, how it is still emerging, and what still needs to be done to realize the egalitarian ideals of Earth 3.0. Any “2.0”, “3.0”, “4.0” requires a constant effort to remind people that your “dot oh” is still relevant. A few months after “Earth 3.0”, we should expect articles asking us is “Earth 3.0 is still relevant?”… the higher the number in your “dot oh” that faster the turnaround and the higher the implied overhead.

Naming issues aside, the idea for the magazine is a good one, we need a magazine that focuses on sustainability, no doubt. What troubles me here is the miscalculated attempt to coin a new moniker for the sustainability movement. You can see what they are trying to do here, they want people to start saying things like, “Now, that isn’t very Earth 3.0.” Or, “Really, we’ve got to do a better job thinking about the environment, we have to be more Earth 3.0.” It comes off sounding silly and forced.

The question that needs to be asked is, “Why the minor release version?” Why bother to keep the decimal point here? Why not just “Earth 3” How about “Earth Remixed” or “Earth 2009”? Earth 3.0 suggests an Earth 3.1. They should’ve called it “Earth times e to the t over tau”, I’d by a magazine with that title. Maybe “Earth!” (meaning the product of all values of Earth from Earth to zero, pronouced “Earth Bang”).

Proposed Moratorium on "2.0" Meme

I just published a piece on retiring the whole “2.0” meme after reading an article that tried to coin the phrase Capitalism 2.0. I’m not proposing that we abandon existing, well-established 2.0 names such as Web 2.0 (to do so on the O’Reilly site would be idiocy, no?). I’m proposing that we tell the US Meme Mint to stop printing currency for new additions to the 2.0 “memespace”.

Read it at broadcast.oreilly.com

(Did I really write the word “memespace”? I dislike this new word so much, I’m going to try to convince others to use it.)

37signals as an Indirect Competitor to Google


Note: This was originally part of the lead-in article for this Video Interview with Jason Fried. I wrote it, and then decided it was too much copy for an intro.

37signals is not Google

When you walk into 37signals’ office space just west of Chicago’s Loop, you would have no idea that you were walking into the headquarters of a tiny little company that has been the inspiration for many a startup over the past few years. There isn’t even a sign on the door announcing the office as the World Headquarters of 37signals “the company that has helped redefine the way people construct web applications (using Ruby on Rails) and conduct business (simply and without distraction)”. In reality 37signals doesn’t even have an office of its own, it sublets space from a Chicago design firm named Coudal Partners. After having visited Google in early August, I couldn’t help but draw some comparisons – where Google has invested in a massive campus encased in solar panels and the best chefs money can buy, 37signals has a sublease, a few Macs, and a modest break room. Where Google employs thousands, owns an airliner, and the combined net worth of the two founders could easily recapitalize a failing bank, you could probably assemble 37signals in a small shack and still have space for a few more.

…but they compete well (indirectly)

Even with these massive imbalances, I think that 37signals is an indirect competitor with Google in the business web application space… I think they are winning and have the advantage. Yes, I know Google could likely crush almost any competition with the resources it has, but I can’t be the only one who has noticed that Google lacks any sort of comprehesive business collaboration tool similar to Basecamp. Sure, they have GMail, Docs, Google Calendar, but there is just something about the combination of these more complex projects that doesn’t “gel”. I’ve almost never successfully used Google Calendar in a workplace environment, and while I’m constantly sharing Google Docs for my work at O’Reilly – I’m just as frequently posting thoughts to a Writeboard in Basecamp. Basecamp feels more instantaneous and personal, I can recognize relevant bits of information without wading through distractions, and if I have feedback, I send an email to the founder the company and ask him a direct question. Try that with GMail.

Ok sure, but 37signals is no still Google

Because I can just see people at the Googleplex, shaking a fist at the monitor and calling me insane, I’ll back down a bit from the comparison. 37signals isn’t “beating” Google directly, but the absence of a simpler collaboration and project management tool from Google seems like an aberration. Admittedly, Google and 37signals are not direct analogs, and I’m certainly not trying to make the case that 37signals has “defeated” Google here. While Google and 37signals both create hosted web applications that aim to replace traditional shrink wrapped software, Google certainly has a much larger business portfolio, a more global approach, and the ability to both expand into and create new markets. 37signals created a bunch of little web apps (but, again, they compete…)

So, while I don’t think there is a real shooting war here, I think 37signals has indirectly gamed Google. Google sells a series of tools to business that can be used for project management, yet many of those same business elect to buy a Basecamp subscription. If you are a company paying money ($50/seat) for Google Apps, you shouldn’t need to use Basecamp… err.. but many do? Why? Because there is something to be said for the simple, constrained, limited functionality that Basecamp provides.

Whatever, I’m a rambling madman.

Paring Down the Network

Twitter, FriendFeed, Facebook, Google Reader… it is distracting to the extreme. I recently went through everything and made sure that everyone I was following I was either: A.) Truly interested in what they had to say, or B.) a colleague of theirs. I ended up dumping about 200 follows on twitter and halving my FriendFeed subscriptions. On Google Reader, I got down to 91 subscriptions from 300, and I’m finding I’m no less informed than I was when I began the experiment…more productive because of the effort. The next question is… can I pare down my subscriptions and my follows even more?

Unfortunately, FriendFeed still likes to show me what my friend’s friends are saying, so I still find myself doing this:

Fighting with My Wireless Network

So, I moved into a new office at a nicer location, it’s in downtown Evanston. I had been looking or a single office a few weeks ago, but I stumbled upon a good opportunity to rent some space in downtown Evanston @ 626 Grove across the street from the Italian Coffee Bar. Location makes a difference, my last office was tucked away in the back of a poorly constructed building near Main and Chicago. While Main and Chicago is a great place to live, it’s a somewhat depressing place to work (there’s nothing there).

Spent the majority of this last week struggling with a network. It took the AT&T DSL guys two visits to get the line functioning properly, but that was only the beginning of my trials. I was trying to get the wireless network to work for a colleague renting an office down the hall, and I’ve come to the realization that wireless networks are too much rocket science….. too many options, and some fairly annoying problems with standards.

1. IBM Thinkpads with the Intel3495ABG wireless have this setting called Roaming Agressiveness that is incompatible with sanity. The idea is that if you configure the card to agressively roam, it will drop your current network whenever it sees another network with a stronger wireless signal. In other words, if you work anywhere where there are lots of companies packed together, your computer is going to constantly try to switch signals and drop your existing signal. To the user, this means that even though you might be perfectly happy with your two or three bar wireless signal and ongoing Skype conversation, as soon as the office next to you turns on the Netgear router that you have nothing to do with, your Thinkpad is going to drop your connection and try to get on the other network. Long story short, it took me hours to figure out that Roaming Agressiveness was the problem – deactivate it if you are having intermittent connectivity problems. This feature might have made sense when there were very few wireless networks, but, these days, there are at least 50 access points in a 100 foot radius.

2. Wireless B support, turn it off. Wireless B is essentially worthless. Disable B and go with G. As soon as I did this, performance of all the wireless clients on the network improved dramatically. If G is so much better than B, then why does everything try to connect as a B client before it tries G? Ugh.

3. Wireless N routers – now this is the thing that is the most annoying. Airport Express will attempt to connect to the wireless router as a B, but there is no setting to tell the Airport Express to connect as a G-only. The only way to get Airtunes to work was to run the N router in G mode only. This is fine because all of the clients are running G, but well (throwing hands up in the air) why did I bother buying an N router if I have to run it as a G router.

I hate everyone.

MSFT takeover YHOO? Irrelevant?

It’s my industry, so my ears perked up today. It appears that Microsoft is about to try to acquire Yahoo, and they’ve sent a letter that essentially leaves the door open for a hostile takeover.

On that same New York Times story, you’ll see a comment from “Hugo D”:

“use Yahoo as my homepage, search engine, and for my newsgroup. If Microsoft pursues a hostile takeover, I am switching to another host.”

If Microsoft follows through, I think you’d see something of a user exodus from Yahoo. MBAs might have another opinion, but my gut feeling is that Yahoo users are unhappy with the offering, a Microsoft acquisition would be the last straw. I’ve had three people in the last week ask me how to get away from Yahoo! Mail.