Have a Plan

Yesterday someone asked me to share my thoughts on the secret to building excellent things. I summarized what I know as:

“Put the customer first, have a plan, create a shared mission, get early victories, remove process, and make it fun.” – me, yesterday.

This was the formula my cohorts that built the Windows Phone app platform used. It worked. This is what the small team that created www.milelogr.com did.

“No battle was ever won according to plan, but no battle was ever won without one.”  – Dwight D. Eisenhower

It shocks me how resistant many entrepreneurs are to writing down a plan. It’s like they’ve been beaten down by the “VCs never read business plans, so don’t write one” tripe. Or maybe they were burned by the dense, unapproachable 100 page plans as babies (when they worked at BigCos).

Here’s the secret to planning: The shorter your plan the better.

But always have a WRITTEN DOWN plan.

Elon Musk had a plan for Telsa Motors. In 2006 he wrote a blog post and disclosed the plan as:

  1. Build sports car
  2. Use that money to build an affordable car
  3. Use that money to build an even more affordable car
  4. While doing above, also provide zero emission electric power generation options

The power of such a concisely written plan cannot be underestimated.

The plan for the Windows Phone 7 Application Platform, including the developer experience, fit on a single page. Yes, we had a 30+ page document that discussed all sorts of ideas and details, but the plan itself, the thing that served as our North Star fit on a single page. It concisely described all the things good plans cover:

  • Your purpose (some call this the mission)
  • How you’ll behave (your principles or tenets)
  • What’s important and what’s not (your framework for making tradeoffs, aka priorities)
  • Who’s responsible for what, and who’s not
  • When you’ll do things, and in what order

Our one page plan was the North Star that 100s of people across 4 Microsoft divisions marched towards over the 18 months we had dedicated to the project. As we headed north we ended up going a bit west and maybe a bit east, but we never went south. And that is why a plan is so important.

Have one. And make it as concise as you possibly can.

I’ve written a post dedicated to a great framework for planning: The 5Ps: Achieving Focus in Any Endeavor.

© Charlie Kindel. All Rights Reserved.

Businesses Buy Differently

My post on Why Nobody Can Copy Apple has become one of the most read posts I’ve ever written (thanks @gruber). Many commenters are asking me “Can you describe more what the behaviors are that are different when building for business vs. consumers?” There are many, but central is the sales motion: the approach and process an organization uses to sell product. The sales motion for businesses is diametrically different than the sales motion for consumers.

One of my favorite truisms is

“People don’t buy things, people are sold things.”

Businesses buy products differently than consumers. But, just like consumers, they only really buy things that are sold to them:

“Businesses don’t buy things, businesses are sold things.”

How do businesses buy things differently? I love this answer by Steve Jobs from an interview he did in 2010 (emphasis mine):

“What I love about the consumer market, that I always hated about the enterprise market, is that we come up with a product, we try to tell everybody about it, and every person votes for themselves. They go ‘yes’ or ‘no,’ and if enough of them say ‘yes,’ we get to come to work tomorrow. That’s how it works. It’s really simple. With the enterprise market, it’s not so simple. The people that use the products don’t decide for themselves, and the people that make those decisions sometimes are confused. We love just trying to make the best products in the world for people and having them tell us by how they vote with their wallets whether we’re on track or not.” – Steve Jobs, June 1, 2010

A commenter on my Why Nobody Can Copy Apple post did a great job of explaining this in more detail:

“The problem is that the business…are attempting to maximize their profit, so they want to buy bulk, cheap product that fulfills all of the criteria they come up with. And these criteria they come up with are universally profit-driven or simply stupid. They want X features, Y functionality, because they need to do aX and aY with the product. They don’t care about bX and bY, which in this case are the entire experience of the product, because it’s not something that is quantitated in the corporate machine.”

Organizations that build product for businesses must SELL in a way that is compatible with the way the business BUYS. The organization, say Microsoft’s Interactive Entertainment Business (IEB), or Microsoft’s Business Division (MBD), needs a sales motion that fits the customer.

IEB, which makes Xbox, has a sales motion centered around allowing the end-user viscerally engage with the product at retail (fed by ‘air cover’ marketing and advertising) . In MBS’s case, selling, say Microsoft SharePoint, the sales motion is about having an army of Microsoft sales people (literally tens of thousands of employees are salespeople) call on CIOs and other “business decision makers” to convince them the speeds & feeds of the product address some pain point.

These sales motions and the sales force behind them are radically different.

Another of my favorite truisms is

“Ideas are worthless. Execution is everything. But getting people to pay for something is MORE everything.”

To be successful (profitable), an organization that builds something must be driven by how the product is sold. The product managers, designers, engineers, testers, and middle-managers all end up being highly influenced by the sales motion.

Therefore, in an organization focused on the consumer, every single person is attuned to the motion of sales. Which is a consumer focused motion (typically online or retail). If they are asked to focus on business customers at the same time, they lose focus. And a loss of focus creates mediocre products. Likewise, a business product organization that also has to sell to consumers will suffer a lack of focus.

Microsoft has done an admirable job in setting up IEB to be mostly consumer focused. This is why the Xbox and related products are pretty damn good. But IEB’s products are not as consistently excellent because they depend on other parts of Microsoft that are not as consumer focused.

Windows? Not so much. And the reason, at the end of the day is the bifurcation of focus between business customers and consumer customers.

Comments encouraged. Keep ‘em clean.

© Charlie Kindel. All Rights Reserved.

"Write Once…" is Anti-Customer

Just as in the ’90s, there’s a bunch of hype these days around solving the cross-platform development problem. Mobile platform fragmentation is killing developers, and if only every device supported some common language or technology engine we could all Write Once and Run Anywhere.

If only.

WORA was, is, and always will be, a fallacy. WORA reminds me of the mole in whack-a-mole. It just keeps popping up and the realities of competing platform vendors keep whacking it back down. What drives me crazy is not the “Run Anywhere” part that most people throw out and replace with something else (like “Optimize Everywhere” , “Suck Everywhere”,  “Test Everywhere”, or “Outsource the optimization“).

It is the “Write once…” part that’s the most dangerous. We all wish the world was rainbows and unicorns, and “Write once…” implies that there is a world where you can actually write an app once and it will run on all devices. But this is precisely the fantasy that the platform vendors will never allow to become reality. Stop asking for it.

Mobile fragmentation is going to get significantly worse over the next few years. While this fragmentation will be bad for end users in some cases, it will be particularly bad for developers.”
Me on LockerGnome, Oct 22, 2012

HTML5 is awesome in many ways. If applied judiciously, it can be a great technology and tool. As a tool, it can absolutely be used to reduce the amount of platform specific code you have to write.  But it is not a starting place. Starting with HTML5 is the most customer unfriendly thing a developer can do.

“We start with the customer and we work backward” – Jeff Bezos

“… you gotta start with the customer experience and work backwards to the technology.” – Steve Jobs

Like many ‘solutions’ in our industry the “Hey, write it once in in HTML5 and it will run anywhere” story didn’t actually start with the end-user customer. It started with idealistic thoughts about technology. It was then turned into snake oil for developers.

Not only is  the “build a mobile app that hosts a web view that contains HTML5” approach bass-ackwards, it is a recipe for execution disaster. Yes, there are examples of teams that have built great apps using this technique, but if you actually look at what they did, they focused on their experience first and then made the technology work. What happens when the shop starts with “we gotta use HTML5 running in a UIWebView” is initial euphoria over productivity, followed by incredible pain doing the final 20%.

The problem is each major platform has its own UI model, its own model for how a web view is hosted, its own HTML rendering engine, and its own JavaScript engine. These  inter-platform differences mean that not only is the platform-specific code unique, but the interactions between that code and the code running within the web view becomes device specific. And to make matters worse intra-platform fragmentation, particularly on the platform with the largest number of users, Android, is so bad that this “Write Once..” approach provides no help.

The father of WORA: James GoslingI blame James Gosling. He foisted Java on us and as a result Sun coined the term Write Once Run Anywhere. (Joking!)

Developers really want to believe it is possible to “Write once…”.  They also really want to believe that more threads will help. But we all know they just make the problems worse. Just as we’ve all grown to accept that starting with “make it multi-threaded” is evil, we need to accept “Write once…” is evil.

There is no “Write once…”. I wish there were. I know you wish there were too. But I wish my daughter had a baby unicorn to ride too.

There is, however, “Focus on creating the best possible user experience on each device and try to get as much code re-use as you can along the way.”

Focus on the experience, try to get code re-use.

Not as catchy, but far, far, more realistic. And helpful.

Edit: February 22, 2013 – Shortened title to make it less inflammatory.

© Charlie Kindel. All Rights Reserved.

Bubbly Time: MileLogr has its first, real, paying customers!

Champagne GlowWhen we launched MileLogr (www.milelogr.com) yesterday we didn’t know how long it would be before the first real customer actually paid us for a report.

It happened today! We have monies!

It is time for a serious glass of champagne!

We got some great press on the launch too.  Todd Bishop of Geekwire wrote:

The service, called MileLogr, works in conjunction with Google, Microsoft, Yahoo and Apple calendars, creating a detailed mileage report based on the location of meetings as noted in each user’s calendar.  One of the big selling points is that it works retroactively, pulling the information from a calendar even if you weren’t specifically tracking your mileage last year.

And Nick Wingfield of the New York Times wrote:

…it had the smarts to calculate the length of a trip even if I didn’t give it an address. For example, I set up a recurring weekly meeting at Microsoft, without supplying the company’s location in Redmond, Wash., about 20 miles from where I live in Seattle. It figured out on its own where Microsoft was located by doing a search of online mapping services. (The chief executive of BizLogr, the company behind MileLogr, is Charlie Kindel, a former longer time Microsoft manager and a respected blogger on technology.)

An awesome launch! Now it’s time to iterate, iterate  and iterate and please thousands of customers like the early ones!

If you forgot to track your mileage last year MileLogr can save you thousands by figuring out where you drove from your calendar. Check it out at www.milelogr.com.

© Charlie Kindel. All Rights Reserved.