As much as I would like to argue the opposite software in and of its self has no inherent value. Simply accruing more and more of it will not necessarily correlate to success, it is a raw material not a precious commodity.
The game is to develop ways to use that raw material to build experiences that create a value exchange between your users and your organisation. This is not as easy or obvious as some may like to believe, just because you build it doesn't mean people will want to use it.
If anyone, myself included, could provide tactics that would be guaranteed to win this game than we would be wealthy individuals.
What I'm going to present here are simply my views on ways of thinking that I believe increase your chances of winning.
Failure Isn't an Option
Creativity and innovation are important aspects to software development but they can also tend to initially lead to instability.
This doesn't mean we shun or avoid them but we do need to place them in a hierarchy of objectives, the undisputed king of this hierarchy is reliability.
In many aspects of their lives users aren't as quick to reach boredom as we may think. Even if the value you deliver to them is relatively simple in nature if you deliver it in a timely manner with unwavering consistency users will continue to use it.
There is such a thing as competition in any market place, if your attitude is too conservative then eventually you will be overtaken, but having a reputation for consistency and reliability should not be willing exchanged for one of allure coupled with unpredictability.
Define some metrics to describe your reliability and performance and ensure that effort is always spent to improve these metrics and that no feature is considered that would adversely affect these measures.
Backend Driving
Because users interact with the front end of your system its deceptively easy to become overly focused on the tip of the iceberg.
Users will always exhibit magpie tendencies and be drawn towards an attractive and slick experience. But the hold this has over them will quickly dissolve if this beautiful front end is frequently informing them of failure or is a vale trying to hide a lack of functionality.
I'm not suggesting that we should all go back to the days of basic HTML or that we shouldn't try and construct compelling experiences.
The point I'm making is that the front end of an application should be a window into a well functioning, feature rich backend that is able to deliver the functionality and features that users need.
A significant issue for many new systems is that they have an overly high preoccupation with the development of the front end at the expense of laying the foundations for a scaleable and performant backend.
This leads to a lack of useable functionality that is eventually exposed despite the appealing way in which it is being presented.
Paying Attention
So far we have made a lot of assumptions that we know when we are delivering value and can detect when we are failing, but we shouldn't assume that its a given we can properly measure these things.
The currency of success in a digital marketplace is data, the more you have, from as many diverse sources as possible the greater your ability to know more about the world then your competitors.
Any and every opportunity to record and amass should be utilised. The primary focus should be on the collection of data, measurement and the production of metrics is a secondary activity.
Whenever we decide to measure or analyse data we inadvertently make assumptions that cause us to ignore or dismiss data based on our current understanding of the problem we are tying to solve.
This bias is unavoidable but should be introduced at the last possible moment not at the point of data collection, in broad terms there is no such thing as good or bad data but rather valuable or flawed interpretation.
Your ability to accurately interpret data may change over time but this shouldn't mean you permanently discard items whose value won't be appreciated for some time to come.
This should also include the dropping of an assumption that we are supposed to be proving we are right. To do this assumes we won't or can't find areas to improve, that our systems don't fail or couldn't perform better.
Enough business fail to bring home the reality that we get things wrong a lot of the time.
Being successful is an inexact science, you can do a lot of things right and still lose. But its important to realise its a long game, short term gains won't always add up to produce long term success.
Always be thinking about the long term and don't easily give up hard earned stability, scaleability and technical competency.
No comments:
Post a Comment