It’s True! We Do Know Better Than Our Users (And Why Software Is Worth Nothing)
It’s True! We Do Know Better Than Our Users (And Why Software Is Worth Nothing)
Maybe the customer isn't always right. Check out this editorial about the evolution of some interesting elements in digital transformation.
Join the DZone community and get the full member experience.Join For Free
[Latest Guide] Ship faster because you know more, not because you are rushing. Get actionable insights from 7 million commits and 85,000+ software engineers, to increase your team's velocity. Brought to you in partnership with GitPrime.
Let me tell you a story that is counter-intuitive to everything we hear these days about Agile.
In the early 2000s I joined a project to develop an “Electronic Flight Bag” (EFB) for a new “connected” commercial aircraft. You might be surprised to learn that most commercial pilots still use hardcopy navigation charts. If they are flying, say from London Heathrow to Paris CDG, they’ll have on board a copy of the navigation charts for those airports and, in case of diversions, charts for neighbouring airports like London Gatwick or Orly. These charts are not used for navigation as such, but assist the pilot to make decisions about approach trajectory, landing speed, and also help the pilots to navigate the airport when they are on the ground. The goal of the EFB project was to replace these paper charts with an application running on a laptop and at the same time provide some additional pilot utilities – like being able to model fuel consumption if there are changes to the flight plan.
The EFB was to become a rugged laptop pre-loaded with the EFB apps (which of course were then known as applications!) which slotted into a rack in the cockpit and displayed on a screen next to the pilot. This was quite innovative for the airline world – remember some aircraft have been in service for 30 years or more and are woefully lacking when it comes to high-tech gadgetry!
Our job was to develop the software applications for the laptop. It was an exciting assignment but for one thing: we were a small part of a huge engineering program to deliver the first aircraft and we had to fit in to their highly prescriptive project schedule. This meant that we got to see a user once every 12 weeks during the flight test campaigns, for about an hour (if we were lucky!).
There was nothing remotely Agile about this project!
When it came to the eagerly anticipated day for user testing, I’d take the laptop loaded with the latest versions of our applications over to the flight simulator, stow the laptop into its appropriate slot and hang around most of the day waiting for the pilot to do some testing. If I was lucky I’d get 30 minutes with the pilot and that was it until the next round of scheduled flight tests in 12 weeks. It was more than frustrating! What chance did we have of making this application a success?
A decade or so later I finally got the surprising answer to this question! Now working for a commercial airline as it prepared to take delivery of one of these new “connected” aircraft, I was eager to see how the EFB applications had evolved over the intervening years. Surprisingly, not only had very little changed, but I also discovered that the EFB was generally hailed as a major success. The pilots liked it, even enjoyed using it, and had come to rely on it.
How had this happened? With very low user engagement we should have failed and failed spectacularly! But somehow our small team of software developers had intuitively produced a product that worked both functionally and ergonomically and apparently was largely unchanged since its initial release. My post-waterfall mind-set was rocked to its core! This can’t happen, it went against everything I then believed!
But is it really that surprising? In the original team we had software developers with very extensive domain experience both in avionics and user interface design (UX hadn’t been invented yet). There was a shared passion and dedication to avionics software and a determination to build an elegant product that everyone would love and use – with or without any user testing! These guys were true subject matter experts and their company recognised this and rewarded them accordingly. We worked collaboratively, constantly testing and releasing new versions as soon as we had anything new. Little by little we refined the product – it was a kind of Agile without any user participation – and it had worked!
Everything is Free
Around the same time Gillian Welch, an American singer and guitarist, released a song titled “Everything is Free.” It’s an artist’s response to the impact of file-sharing sites like Napster, which, according to the headlines, were going to be the downfall of the music industry. The traditional royalty payments based on sales of physical product was being disrupted and artists were struggling to see how they could maintain a creative life with the diminishing revenues coming from product sales. The song was prescient – can you remember the last time you bought a music CD? I certainly can’t and despite having shelf-loads of them, I can’t even remember the last time I listened to any of them! It’s just easier (there’s no fuzzy logic to help search a chaotic CD collection!) and arguably better to use a streaming service or download site. This disruption of the music business has had massive repercussions because so many of the record-buying public are no longer record-buying. The traditional royalty-based business model is rapidly becoming irrelevant and unworkable. The same disruption is about to hit the software industry.
Music companies in the past made money by selling vinyl, then tape cassettes, then CDs. We were buying a tangible product and the right (or license?) to replay the captured music as often as we liked. But we were explicitly forbidden to make copies. However, as soon as the technology was available, this is exactly what we did! Everyone copied vinyl onto tapes because they were easier to take with you. There were even people who copied their entire record collection onto tape, only ever listening to the tapes in case they damaged the fragile vinyl! Then with CDs we “ripped” them for our mp3 players or to share with our friends. Undeniably, we were breaking the law, but no one really thought it was morally wrong to make a copy and, despite complaints from the music industry, the seeds of the digital revolution were sown.
Now that music is fully digitised, there are no effective physical constraints preventing it’s replication. Illegal downloads flourish and copying is commonplace A monthly streaming service costs less than a full price CD. Inevitably the perceived monetary value of the content is dropping like a stone. We may still love and admire the music, and the musician who laboured to create it, but we’re not prepared to pay for it!
Copying Costs Nothing
Digitisation has lots of benefits – one benefit, maybe the best one, is that copying costs nothing. Once the initial recording is digitally captured you can make 1 or 1 million copies with no additional costs. The technology is driving the value of digitised music to zero – and logically the same must apply to any digitised product, including software. And that’s all software, phone apps, office applications, enterprise systems, but also bespoke software.
Most PC software vendors now offer subscription services. Even Microsoft has introduced subscription services for its office applications. Faced with competition from numerous free open source office applications, arguably as good as Microsoft’s, it’s hardly surprising that less and less of us wanted to buy anything from Microsoft – let alone a digital copy of something that we know costs them nothing to produce! We might be inclined to “subscribe” if the monthly fee is more or less insignificant but we’re just as happy to have an illegal copy or to use a free open source product.
Users with a Veneer of Tech-Savviness
And there’s another unique aspect to our relationship with software – our constant craving for the latest version. We expect to have the latest versions immediately on release. So even though I haven’t paid anything for the product, the very fact that I possess it, gives me the right to demand the latest version. Imagine if we had the same expectations of non-digital products – ah yes, I rather like those Audi A5s, I think I’ll just take one, I won’t pay for it but I expect it to work beautifully and by the way I’ll be wanting free upgrades every time there’s a new model released!
Now that everyone has a smartphone (or soon will have) everyone knows that software is easy to come by, cheap if not free, and constantly being improved. It’s always been a struggle to explain and convince non-techie users that so much time is needed to deliver new functionality and now, thanks to the ubiquitous smart phone, it’s almost impossible. The smartphone has brought everyone into the software development cycle and, along the way, imbued everyone with a veneer of tech-savviness.
Unfortunately, this tech-savviness will not remain in the realm of the smartphone but will inexorably creep into the world of work. Non-techs, our customers, will bring their newly learned tech-savviness into stakeholder meetings, into business requirements workshops,
They will bring an attitude that expects to receive the same user-experience that they have on their smartphones, laptops and even televisions. They will expect to receive regular functional upgrades without any disruption to the business. They will expect the highest quality user experience - after all, this is only what we’re accustomed to on our own personal tech.
Everything as a Service
There is an undeniable paradigm shift underway and if we are not careful it’s going to catch us unawares.
Arguably Agile, rising as it did from the ashes of the frequent failures of traditional software projects, has developed a pragmatic method of bringing the development process as close as possible to the users. The great thing about Agile when it’s done well is how it harnesses the combined knowledge of users and developers through continuous and short cycles of design, build and test. And sometimes when this happens you see something extraordinary and transformative: techs and non-techs working together in perfect harmony and producing something that users are genuinely excited about. It’s not easy to do and it takes a behavioural shift to achieve this from both techs and non-techs.
But as the “Everything is Free” paradigm starts to impact the software industry, as it inevitably will, we may not have the opportunity to complete the Agile transformation. Instead we’ll have to find new ways of working which will involve less, perhaps no, user engagement or at least not as we know it today. The traditional relationships between techs and users will have to be dismantled and re-invented. Inevitably, all software, including bespoke business applications, will be delivered as a service. Software consumers from all sectors, business, education, health, government, will no longer pay for the software itself but for the provision of functionality that adds measureable value to their organisation and helps to achieve their goals. Software providers will have to stay competitive by anticipating users ever changing needs and delivering enhancements continuously, almost on demand. I’m predicting that SaaS will be the buzz acronym of the next decade – or perhaps more accurately EaaS (E for everything).
And maybe this is a good thing? We may have to re-invent ourselves somewhat but there is the potential for a flourish of creativity as we invent new architectures, coding conventions and languages to support continuous development and continuous releases. And over and above the technology we’ll need to develop our powers to intuit or “know” what our customers want and need before they’ve even thought about it themselves.
But, when you think about it, that shouldn’t be so difficult – I bet there isn’t a single person in the software industry that hasn’t at one time or another claimed to know better than our users what is best for them! And it’s partly, if not largely, true! We often do know better – we are experts after all – we’re not just nerds that like computers! Collectively we are software architects, subject matter experts, GUI designers, Interaction designers, expert coders, the list of expertise is endless. If you’ve worked on a software build, of course you’ll have something valid to say about how the product should be developed. It might just be more valid, more relevant, more pertinent than anything the users could ever come up with! After all, as the Electronic Flight Bag story shows it is possible to deliver quality software without any user participation!
Opinions expressed by DZone contributors are their own.