Software update cycle: faster every day

My Atari 2600 never got a firmware update. Not a single one. Neither did any of the game cartridges that came with it.

In the early days of software, ‘soft’ware was really just a different kind of hardware. It was built, packaged and shipped exactly once. If you shipped it with a bug, that bug would stay there.

‘Softer’ storage types (tapes, floppy disks, etc) and better distribution allowed software companies to release new versions more often. Many years between major versions became one or two years, but updates to a specific version were uncommon.

The internet shortened the cycle even further – turning one or two years to months for many software products, and allowing automatic updates of existing versions to fix bugs, patch security holes, and so on.

Seamless and fully-integrated update and application management technology, like the App Store for Mac, can bring the cycle down even futher – changing months to weeks between updates.

What happens when the cycle is even shorter? Then you get web products. Sites like WordPress.com or Amazon can push an updates to production servers multiple times per day.

How fast are you?

SCRUM User Stories, Part 2: User value over business value?

My last post about User Stories and putting the value for the user first in any product decision generated some great discussion on Twitter. As with anything there are some varying views on the topic, and as one example I was pointed to Liz Keogh’s post on user stories.

Liz argues that User Stories should be better named “Stakeholder stories”, as the things you build are addressing the needs of varying groups of stakeholders, only some of which are the end user.

In the creation of any product there are of course many stakeholders who need to be satisfied: the CEO, shareholders, investors, marketing people, the legal department, and so on. In the design of the business, of course the internal stakeholders have the most important requirements. What sort of market are we going into? What segment will we serve? What problem or user need do we attempt to address with this product?

But when you start designing the product that the user will have in their hands, then the user needs to be at the heart of that design solution. Here, the user needs have to come first.

But what about all the stuff that you have to build into products that users don’t want, or even hate? Stuff like CAPTCHAs during registration processes, or advertisements? If the user’s needs come first, why does this stuff exist? To answer this, let’s take a step back and look at where user stories come from.

User Stories are not immaculate conceptions: they don’t just appear out of the blue, but they are thoughtfully created to address needs of the product and the business. On other words, they are derived out of the product vision and the surrounding business model.

If your business model involves monetisation through advertising, then you have a problem to solve: “how can I enable advertising in my product?” It’s clear that the user is not at the heart of the decision to enable advertising, but business models are complex and have to satisfy many stakeholders and solve many problems. At the business strategy level, the end-user is only one of multiple players, and the user doesn’t always come first.

So you have this problem: you have to enable advertising. How do you solve it? Do you slap a full-screen takeover banner for some random personal hygiene product on your start screen? Probably not. Do you enable Google AdWords to show advertisements relevant to the content in a meaningful way? Getting warmer. Do you study the user’s interaction on the page to determine where the advertisements should be placed and how they should be visually displayed to ensure that users understand what is a sponsored link and what is your own content, to avoid frustration and confusion from the end user and maximise the meaning and value they get when they interact with the advertising? Better still.

What is at the heart of each of these decisions? The user. This is where the user comes first – in the design of the solution to the problem. In the User Story.

User-centric design doesn’t absolve you (regrettably) of the need to be aware of the business context or the constraints of your business or industry: it merely proposes that the user is at the heart of how you solve your product problems and how you work with the constraints. Keeping the user at the centre of your user stories by insisting they start with “As a User…” helps you stay focussed on the people who will be interacting with the stuff you’re building.

SCRUM User Stories: As a User, NOT As a Manager

The success or failure of a piece of software, or any product for that matter, is how well its users are satisfied, and how well it solves their needs. In the world of web software, adding functionality is rarely the differentiating factor that will lead to the winning product. More likely the winner is the product that solves the user’s problem in the simplest, easiest and most delightful way.

In other words, product design is all about the user: solving their needs the best way possible. Every single line of code you write should help the user solve their needs better and easier…

… which is why I am often confused when I see user stories like “As a product owner, I want…” or “As a manager, I want…” Or worse still: “As a data centre, I want…”

Who ever asked a data centre what it wants?

User stories start with “As a user…” for a reason: the process of writing a clear sentence that starts with “As a user” forces you, with each product decision you make, to consider and understand how what you are about to do allows you to solve the user’s needs in a better, more efficient way. If you can’t do that, then you have to question why you are adding this user story at all.

Avoid stories that start with anything other than “As a user”. That’s why they’re called User stories. If you can’t work out what a user gets out of the deal, it probably isn’t worth it.

Move fast

The world moves fast. Your competitors move fast with it.

Users move fast, too. Users are more fickle than ever before. This month’s UK WIRED magazine rated Twitter as “tired”. This for a service that’s only five years old with a still-growing userbase. Ouch!

In the world of web products, building and releasing beautiful and delightful products and user experiences is only half of the battle. The other half is winning (and keeping) your userbase. Your product could have a net promoter score of +80, but if it still only has 10 users, is it really successful? If you build it, they won’t necessarily come.

Users want stability and reliability. Once they have settled in to a product that solves a particular need, it’s that much harder to get their attention to yours. At the same time, and perhaps contradictorily (who said human beings were simple?), users also crave the new. New updates, new versions, new features. News, blogs and social channels thrive on the new.

The web has sped up business dramatically and continues to speed up software product innovation. It’s a race to the bottom – at some point we won’t be able to go much quicker – but we’re not at the end of that race just yet. The strategy to compete in this space, I think, has two major components:

1. Work fast. Build fast, iterate fast: improve fast.
2. Be ready for when we hit the bottom. When we can’t go faster, on what track will the next race be run? Which race can you win?

Important note: fast doesn’t mean chaotic and unplanned.

Classic product management wisdom from one of the fathers of industrial design

In 1955 Henry Dreyfuss, one of the most influential industrial designers of the 20th century, in his book “Designing for People” wrote the following :

“The successful performer in this new field is a man of many hats. He does more than merely design things. He is a businessman as well as a person who makes drawings and models. He is a keen observer of public taste and he has painstakingly cultivated his own taste. He has an understanding of merchandising, how things are made, packed, distributed, and displayed. He accepts the responsibility of his position as liaison linking management, engineering, and the consumer and co-operates with all three.”

Clearly this sentiment is as relevant for designers today as it was 55 years ago when it was written. It’s also interesting how the description rings true for product managers. In fact, I couldn’t have come up with a better description of the modern-day product manager if I tried.

Product management is more than schedules, roadmaps and powerpoints. Product management is about identifying a need and building a solution. It’s about understanding people (users) and understanding “how things are made”.

Designing for People - Henry Dreyfuss - Many hats sketch“From the book Designing for People – Dreyfuss’s sketch of the multi-skilled designer.

The most important career skill for this century: fixing what’s broken

Companies are a complicated beasts. Reporting lines, structures, process, heirarchy, politics… finding your way through the corporate maze and working out how to get things done and ship meaningful work can be tough.

If you look around in any company, I’m sure you’ll see things that don’t make sense. You’ll see ineffective managers and inefficient processes. You’ll see failures and you’ll see waste.

When you look attentively and deliberately at the world around you, you will see so many things that are broken or could be improved. The more you look, the better you will become at seeing. You’ll undoubtedly see more things than you’ll ever have the time to work on.

Your first responsibility is to look. Your second responsibility is to act. If you see something broken, try to fix it – even if it’s not your job. Avoid ignoring the problem or building a complex workaround – try to fix the problem at it’s root.

If you really can’t fix the problem, then accept it as a constraint and move on. Leverage the constraint; use it to help you ship meaningful work.

In a world where software continues to automate generic factory-like work the most valuable skill becomes the ability to solve new and evolving problems… So if you have a choice between staring at your email inbox and fixing something that’s broken, what do you do?

Driving innovation with agile: a short case study


A prototype of the first mouse

We all know the story – but it’s still remarkably easy to forget that some of the most influential innovations in the field of personal computing, including the mouse, the laser printer, computer generated bitmap graphics and the graphical user interface, were not invented by Microsoft or Apple, but by a small research centre in the Valley called the Xerox Palo Alto Research Center (PARC).

Of course, part of the reason we all forget is that PARC are equally famous for fumbling the future, as was written in 1988, and not managing to capitalise on these innovations. For the next 20 years PARC was largely ridiculed and mostly forgotten.

Flash forward to today, and PARC, now spun off as an independent subsidiary of Xerox, is back in the big leagues and delivering a huge amount of innovations to tech startups, corporations and even the U.S. Government. Harvard Business Review have posted an interesting article on the HBR Blog about the secret to their reinventing themselves. One point stood out to me like a beacon:

Part of the magic lies in the current business model which, as Lawrence Lee, director of strategy, explained to us, relies on partnering closely with customers, inventing a minimally viable product, and collaboratively iterating from there, based on market feedback.

This is what agile, and continuous delivery, is all about: get your innovations into the hands of the customer as soon as possible, and iterate based on real feedback. It’s about “inventing a minimally viable product”, and using real feedback, real customers, real interactions, to make the next decisions that impact what your product ends up like and in what direction it goes.

Interestingly, the other ingredients to their success were People, Collaboration and Communication.

Now consider the Agile Manifesto:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The basic principles that helped PARC reinvent themselves once again into a successful innovation house are the same principles that drive agile software projects. Even if they didn’t use the word ‘agile’, the engineers at PARC are living the Agile Manifesto every day.

User testing: an input to innovation, not a source of it


Benz “Velo” model (1894)

It’s hard to imagine a life without cars. Before the automobile was invented getting around was a costly and particularly time-consuming business. That quick drive to the hardware store that takes 15 minutes in the car might have taken several hours on horseback, or an entire day in a horse-drawn carriage. Looking back, it’s hard to imagine how anyone was motivated to move anywhere at all. (In fact, most people didn’t… before the automobile, and particularly before rail, it wasn’t uncommon for people to spend their whole lives in the town they were born in.)

So if you could go back roughly 130 years and show someone the automobile, they would love it, right? If you asked someone the question, “is this product something you would buy and use?” the answer would be a resounding “Yes!”. Right?

Well… not really. When the first automobiles rolled onto the streets in the late 1800’s, they were met with skepticism and fear. People (and horses) were terrified by the noise, and people just couldn’t understand why anyone would need to go so far or why they would be in such a hurry. In other words, the automobile was an invention for a problem no-one had. Or, to be potentially more precise, a problem they didn’t yet know they had.

If you had shown concept drawings of the automobile to a focus group in 1885, or a working prototype to a user testing group, you might have walked away thinking that you’d be better off working on putting a clock radio* in your range of horse-drawn carriages.

The point is, you can’t expect users to know what they want. Innovation doesn’t come from asking a customer focus group “what products do you want that haven’t been invented yet?”

The iPad was a solution to a problem that no-one really had. Companies and products that innovate are successful because they can predict user behaviour before the users go anywhere near it. They are also good at convincing (selling) users that they have problems that their products can solve. No-one had a standing-motorised-transport-problem before the Segway was invented, but the company behind the gyroscopically controlled contraptions still managed to ship over 50,000 units by 2009.

We recently ran some early user testing on a product concept that we are working on. Based on the results, some members of our team were hugely disheartened: most of our test users, when asked if they could imagine them getting major value out of one of our concept’s major use cases, said “no”. Some thought we should go back to the drawing board. I think they missed the point…

User testing is one input to product design; one of many. Getting the input and responses of potential users early in the design process is crucial; however to make the results really meaningful you need to interpret them in relation to the test user’s context… and sometimes I think you just need to take the responses with a grain of salt. You also, I think, need to understand that innovation often comes from having the courage to challenge users on what they think they need and what problems they have.

* I’m of course aware that there were no clock radios in 1885. The first transistor radio wasn’t invented until 1954 by Sony in Japan. Call it poetic licence.

Release it: now

Release your software to real users as early as possible.

Building software for years without ever releasing any of it is like working in a kitchen and letting the food go cold and mouldy before serving it up.

Building software is a collaborative process – not just amongst you and your colleagues – or between you and your partners – but between you and your users. Feedback from real users helps you guide the future of your product and your immediate investments. It helps you prioritise and optimise. Making product decisions without real user feedback is quite often, I think, guesswork. Yes, it’s (hopefully) educated guesswork – but it’s guesswork all the same.

You can learn a lot from user testing and user research prior to release – and there’s no way you would want to skip these steps – but nothing can replace the feedback you get when real people use your product, with real use cases, under real load.

If you see that you’ve been sitting on the latest version of your product for months without any of it hitting a user, or if you find yourself wanting to squeeze “just one more feature” in before you drop the release, then stop and think: can I give my users meaningful, measurable value with this release? If so, then release it. Now!

GPS, turn-by-turn guidance and location-based services: what are they doing to my brain?

Turn by turn GPS guidance on Ovi Maps on a motorcycle

There’s a motorcycle accessories store that I go to quite a lot. It’s quite a distance away – 10 kilometers through the city or so – but I like it because it has the best range and quite good prices. Anyway, I was there the other day buying some new touring pants, and as I got back on the bike to head home I noticed that the battery in my phone was dead. I have a GPS-holder mounted to the handlebar, and I use the GPS and Nokia’s Ovi Maps turn-by-turn navigation whenever I’m on the bike to get me around Berlin and Germany. Not this time, though – I was on my own.

I wasn’t worried: I must have driven this way 10 times before. Two blocks later I missed the first turn. After that, I stood for two minutes at another intersection wondering which way to go. Without my GPS I was sadly, sadly helpless.

I think I am losing the ability to remember the way to places. This is, I think, even impacting how easily I can find places.

To be more specific, I think I am losing my ability to process and remember the spatial relationships between places and things. This manifests itself in situations like the story above, where I found it difficult to get home without my GPS turned on spewing out directions at me. I also notice it when someone tries to explain verbally driving or walking directions to somewhere. “So you’ll wanna walk all the way down this street, then take the left by the big red warehouse, then the second left. After that you’ll come to a bridge…” After the second or third instruction, I’m lost.

It never used to be this way. 10 years ago I could look at a paper city map or street directory and then drive across town on my gut navigational feel. Coming home would be a breeze – I would know the way back without missing a beat. Now I’m so used to having someone tell me when to turn and how fast to drive (my GPS), I’m completely helpless without it.

What’s happened to me?

We hear a lot these days about how our relationship with memory, language and concentration is continually changing with our increased usage of and reliance on the internet. In his book The Shallows author Nicholas Carr explores how the prevalence of the internet as an information medium is actually changing the ways our brains work: our attention span is shorter, concentration more sporadic. We tend to speed-read and skim texts for keywords, and our consciousness seems now hardwired to navigate through hyperlinks: our attention flashes off on parallels based on keywords or themes in the text. Nearly no-one native to this, Carr predicts, will have the ability to read “Of war and peace”, for example. Their brain just won’t be able to process it: too long, too complex, too ‘heavy’.

I see this happening in my brain too; but based on my experience with my GPS what I am now really interested in is how the internet and mobile technologies, specifically location based services, impact and influence how we interact with places, and how they change our concept of spatial awareness.

To go back to the GPS example: I think relying on a GPS for so long has made me less reliant on my own conscious awareness, and subsequently my own memory. When you don’t have a small computer spurting out instructions at you you’re forced to, well, watch where you’re going. As you drive you observe street signs and landmarks, and you use these to make navigational decisions: you mentally build spatial connections between points in space around you as you ‘save’ the route in your mind. Driving home along the same route is easy because you have constructed a mental model of the way you’ve come. When you drive with turn-by-turn guidance, even when walking, you don’t do this so much. You disconnect from the scene; you’re not making navigational decisions anymore, you’re just doing what you’re told. Instead of a constant spatial feedback loop between you and the world, you are simply driving blind.

I think this changes the way you interact with the world around you in a very fundamental way. You become less the ‘driver’, in a sense, and more of a passenger. One thing I love about motorcycles as opposed to cars is that when you drive in a car, you’re constantly enclosed in a protective shell; this isolating bubble between you and the world. You move with this massive metal encasing through the scene, but you are not part of the scene. With a motorcycle, you’re not enclosed in anything (only your helmet). You can feel and smell the air around you. You’re part of the scene. Driving on GPS, I think, adds another layer to that bubble around you: you really are absent from the scene.

One could propose an experiment to attempt to measure the impact of relying on turn-by-turn guidance on how people interact with the world around them: take 12 participants, and split them into pairs. All pairs get the same navigational task: get from point A to point B in the city (the route should be unknown to all participants). Three pairs get a GPS with turn-by-turn guidance, three pairs get an old-fashioned street directory, and the last three pairs get nothing. At the end, quiz participants on how much they remember about the natural environment. How many Starbucks did they pass? What was the name of the main street? And so on. I predict the people navigating with no assistance would remember the most valuable details about the journey, and those navigating with GPS will struggle to remember much of anything meaningful at all.

I’m quite sure it goes much deeper than this, and that I’m just scratching the surface. For example, how do services like Foursquare or Facebook Places change how we interact with physical places? With the mass of place reviews, comments, checkins and other data available on the web, how is our perception of the quality of actual places effected? How does it change our concepts of what is good or bad, popular or unpopular, trendy or crappy? With the web on your desktop or mobile you have the ability to experience and interact with places other than the physical location you’re sitting in. What does that do for how you perceive the place?

As location-based services continue to mature and grow and penetrate our lives in deeper ways, understanding how users interact with products on an emotional and psychological level will be a key to building services that provide meaningful interactions. It’s also important to understand the effect these services have on our own concepts of spatial awareness and spatial cognitive processing: how do we interact with and feel about places, and how is this altered when we use these services? Understand this, and we can create experiences with meaning.