Speak to your users in 3D

I care a lot about Software Craftsmanship.

I care a lot about User Experience.

I care a lot about designer-developer workflow.

I care a lot about continuous deployment (although I will opt for continuous delivery).

I care a lot about the lean startup movement (if you haven’t already done so buy, and read, Eric Reis’s book The Lean Startup).

I am firm believer in innovate or die and the need to conduct validated learning, and as such you should become intimately familiar with the build-measure-learn feedback loop.

I have spent a lot of time recently absorbing the technology landscape, whether that be HTML5, Flash, PaaS (Heroku, Windows Azure, …), BIG DATA, real-time, blah, blah, blah…

More than ever I feel technology doesn’t really matter. It’s an enabler. The difference between the choices that we have are closer than ever. Make the right choice for the job at hand. Practice Software Craftsmanship and you will have the confidence to adapt.

Software Craftsmanship in isolation is not enough. User Experience in isolation is not enough. Build-measure-learn on its own is not enough.

It’s a question of how we bring these methodologies and practices together and how an organisation molds itself around them. They need to be absorbed in to the corporate DNA and used to weave the fabric of innovation.

Going forward I feel our innovation mantra should be Design-Develop-Deliver. Like the build-measure-learn feedback loop advocates we need to rapidly move around this loop.

We need to shift our horizons to fully encompass the user. We start with the user and we end with the user. In his book Eric provides an anecdote about a feature not being complete until it has been validated by the users. I love this. It’s seems obvious and a subtle shift from the product owner or QA saying a feature is done, but its a big leap in terms of mindset. Imagine having the confidence to remove a feature (and deleting all the code) if users don’t actually get value from the feature? The focus this would bring to an organization would be immense.

We can destroy the traditional mindset and reject the dogma that software follows a fixed release cycle (regardless of how short it is). When the feature has been coded, give it to the user, it not done until the user says it is done.

I believe the Design-Develop-Deliver philosophy will allow us to innovate faster and deliver experiences that users want. It also creates opportunity for tech companies to enable this workflow. I would love to have a seamless set of tools and services that enable me to design-develop-deliver, this is far more powerful than getting caught up in the underlying technology debates and teams practicing their principles in isolation. We need to blend it all together.

Speak to your users in 3D.