Staying Cutting Edge in your Product

When we first designed and built Marketo, we started out with a client-side framework (ExtJS) that was cutting edge and awesome.  Version 0.33 alpha.  How cutting edge is that!?  Then over time, it because 2.0, and then 3.0 and then 4.0 and now it’s up to 5.1.

It’s no longer cutting edge.  It’s a great framework, but it isn’t revolutionizing JS frameworks anymore.

The world moves VERY fast.  New becomes old in just a few years.  One clear outcome of falling behind is that its harder to recruit cutting edge engineers. Great designers/developers want to use the latest & greatest.  So how do you do it?

The answer is difficult. You have to redo every layer of your application at least once every five years.  This means you need to develop fewer features in that same time.  No product manager or CEO wants to hear this.

You have to redo every layer of your application at least once every five years. – Glen Lipka

The reality is that SaaS software has a much higher TCO (total cost of ownership) than people understand.  You don’t just build it and sell it.  You build it and rebuild it and rebuild it and rebuild it etc etc…

The goal is to be successful enough to build new features AND maintain/rebuild the old features at the same time.  Otherwise, the economic math doesn’t add up.

The worst case scenario is that you get far behind and then lose engineers and get further behind and then lose market share and then can’t redo part of the infrastructure.

Don’t fall behind.  Have a set schedule and culture of rebuilding and upgrading components.  It will attract the best and brightest and your customers will appreciate it too.

Disagree?  Put it in the comments! 🙂

Whatya think?