October, 2009

Put some fun back into your business

Litter bins on the street aren’t the most interesting of objects.  The design is pretty standard, with variations on a couple of themes – cylindrical or rectangle and colour being the primary tool of differentiation.

“To throw rubbish in the bin instead of onto the floor shouldn’t really be so hard. Many people still fail to do so. Can we get more people to throw rubbish into the bin, rather than onto the ground”

One answer is to make it more fun.  Check out The FunTheory for other ways of improving mundane products by making them fun.

Now think about that mundane product of yours.  Maybe it is your on-line retail bank.  It is getting tired and it is time for a technology refresh.  You’re going through a process of capturing requirements.  How about playing an innovation game, but base it on the concept of fun.  What could you introduce to your product that would make people smile?  What would make people laugh?  OK, so after a while the bin would no longer be fun.  What makes it fun is the element of surprise.  Again, what could you drop into the product that would surprise people.  What would a ‘fun’ internet bank look like?  Focus on fun and surprise and you might uncover a nugget of inspiration that will make the final product.

What would you save?

A couple of weeks ago a colleague’s house burned down.  An electrical fault sparked it in the next door neighbours garage, the wind turned and within minutes his house was on fire.  His first priority was to get his family out of the house.  He had an opportunity to run back in to grab one thing.  Something. Anything.

If your house was on fire, what would be the one thing that you would save?  (He saved the hard drive with all the family photographs on).

What do you really need?

A couple of clients I’ve worked with recently have been consolidating their application space, decommissioning old technology and replacing it with a new single application with a core user interface. I’ve written about this before but it is worth revisiting.  All too often the starting point is the functionality and the features of the existing applications.  The client states we must at the very minimum maintain feature parity, and where the business needs, enhance functionality.  Starting with the existing applications and as-is processes is a good start, but never where the focus should lie.  The focus should be around the business intent; what are the business goals the system is helping the user achieve?  Spending time with the end users of the system is enlightening.  It is a crude picture, but this shows what the truth often looks like.

Three systems, duplicate functions, redundant functionality

There are three systems that have been developed over the years, commissioned by different business stakeholders with different budgets and different delivery teams. Of each of these systems only a fraction is ever used.  (This is especially true of vendor products that have requirements rooted in the market rather than the specific needs of that organization.  Think about how many of the features in Microsoft Word you use).  If there is significant functional redundancy in the applications, there is also duplicate functionality that results from the different development legacies.  It is not unusual in such a landscape for the user to enter the same data into each system.  Not something you would wish to replicate in a new world.

In building a new application, the place to start looking for requirements is not so much the as-is processes or existing applications.  The place to start is the business intent and what the business actually wants the system to do.  More importantly, that means starting with an open mind and challenging notions of process complexity.  Is the process complex because it really is, or because the current systems make it that way? In my experience, more often than not, it is because of the former.  Spend time with end users, see what they do today.  By asking seemingly stupid questions, taking a starting position that the process is simple and challenging ‘why not?’ can yield valuable insights.  By all means consider the as-is world, but don’t let it cloud your judgment in designing ‘to-be’.

NFR 001: Make it easy to use

Designing an enterprise application.   Recently someone was grumbling to me about the statement “easy to use”. They felt it was a worthless statement; what does it actually mean? For them it had no meaning and thus should not be used at all.  This is nonsense.  “Easy to use” is a worthy statement that should either be treated as a non functional requirement with clearly defined acceptance criteria, or as a measurable KPI.  So to start the thinking on defining what easy to use must mean to your project, try using the BDD format of given, when, then:

As an Expert User
Given I have had no training
When I have to complete <insert goal>
Then I will be able to accomplish it in under five minutes

As a Novice User
Given I have had no training
When I have to complete <insert goal>
Then I will be able to accomplish it in under seven minutes

Links

Dan North introduces BDD