Posts by: marc

It is not enough just to deliver software…

A ward clerk who organised admissions and discharges went sick for a few weeks. In her absence, the nursing staff who took over selected the first options that popped up on the computer screen.  The result was that most patients were entered on the system as both deceased and discharged. [source]

This is inexcusable.  How hard can it be to design an interface for frequently used tasks such as discharging patients or recording them as dead?  Some informal usability testing with novice users would have demonstrated that the UI could not be used by novices.  The mistake is dressed up as a lack of training-  “Patients sent home from a hospital were wrongly recorded as dead when a group of nurses was asked to use a new IT system without receiving appropriate training”.  Training?!  Rubbish.  You shouldn’t need training on a UI designed to check patients in and out.  How difficult can that be?  If they’d invested a little time in usability testing, and designing a usable UI, training, and costly mistakes would be all but eliminated.  But the rush was probably just to get the software out of the door – to meet the functional requirements rather than the contextual and operational needs of the end users and the realities in which software will be used in.

The invisible lift

Lift button and fllor indicator with no door

The story goes that when the building was built, the organisation taking the top floor demanded their own lift that would not stop at any other floor. They got their wish. Entrances to the lift shaft were blocked off on every floor except the ground and top floor. End of story? Not quite. The floor indicator and call buttons were installed on every floor.

Do you build invisible lift openings when you build software? Install buttons and indicators in the anticipation that they might one day be needed. (Ignoring the fact these are mere details hiding the bigger picture… doors for example). This is a good example of YAGNI, you ain’t gonna need it. You don’t need a lift floor indicator and call button until you’ve got an opening to the shaft and doors. And when you need those lift technology will probably have moved on and the buttons and indicators will be all but obsolete.

Why technical architects will never make a solution secure

In one form or another, human error is the overwhelming cause of sensitive data loss, responsible for 75 percent of all occurrences. User error is directly responsible for one in every two cases (50 percent) while violations of policy – intended, accidental and inadvertent – is responsible for one in every four cases (25 percent). Malicious activity in the form of Internet-based threats, attacks and hacks is responsible for one in every five occurrences.

Source via Techweb

This statistic is worth paying attention to. I’ve worked with numerous clients, and particularly banks, who invest sigificant effort and investment designing complex, expensive (and often over-engineered) solutions to ensure their systems are immune from external threats.

The usability story is generally being won at the customer facing website level, so they invest in usability there. But when it comes to employee facing applications? “They’ll get what they get given” seems to be an all too common story.

The thing is, IT spend is dictated by people whose professional lives are rooted in technical architectures and physical boxes; the message that the real threat to their systems is “information architecture” and boxes on screens is one that will challenge them more than any hacker will.

Reflections on QCon

Qcon is a “Conference for the Enterprise Software Development Community;” a pretty hardcore techie bunch then. So it was really refreshing to see a whole days track given over to usability and a keynote by Larry Constantine on “Meeting the Usability Challenge”. Last night Martin Fowler and Dan North gave an excellent keynote titled “The Yawning Crevasse of Doom”. Their central theme was around communication between the customer / end user / consumer / business and the developers / IT. Martin drew a great analogy; do you want your communication between the two “sides” to be like a ferry boat or a bridge. Part of the bridge that Martin and Dan talked about was the use of ethnographic research – observing users in their natural environments and storyboards / wireframes / lo-fi prototypes to visually articulate requirements in a way that written requirements can never do. i.e. championing the stuff that I am passionate about, and what we at ThoughtWorks do deliver successful projects.

A couple of other nuggets that are worth sharing; Jeff Sutherland talked about how at Google they don’t have performance appraisals. Instead everyone has personal “three month objectives” that are posted on their blogs (the first thing that a new recruit at Google does apparently is creates a personal web page). In this way people can share with the broader organisation what they are doing. With google search experts and their knowledge can easily be found. Advertising to the organisation what your goals drives performance far more effectively than a sterile quarterly form distributed by HR…

Jim Webber gave an excellent and entertaining presentation on Geurilla SOA. If you get a chance to see him in full opinionated flow, you should seize it. (And I don’t just say that because of his kind words about my presentation, that I’ll upload soon).

At the conference one of the vendors was JavaBlackBelt. They had a multiple choice test on your knowledge of Java. Some of my esteemed colleagues did not fair so well on it; my programming knowledge goes little beyond

10 print “hello world”
20 goto 10

So I am very proud to announce that I came top of the JavaBlackBelt class and won a t-shirt, scoring 3/5 in a little over 40 seconds, a cool 2 minutes faster than the second placed geek. Don’t you just love multiple choice.

Top of class java black belt programmer

Architect your solution around the customer experience

I was at QCon yesterday, ostensibly to give a presentation on usability, but I attended a few sessions as well.  Not being a techie, I didn’t understand much of what Werner Vogels, the CTO of Amazon was talking about during his presentation on Availability and Consistency, but one thing has stuck in my mind.  “Never, never refuse the customer from putting stuff in the shopping cart”.  The context of this was around how your architectural design; do you go for consistency or availability (or something else which I can’t remember).

I’ve blogged before about siloed organisations, but Werner touched on how even internal IT organisations can be siloed.  Something about how your database team may be soley focussed upon consistency; they are willing to sacrifice availability for valid technical reasons.  But the database needs to be seen in the bigger picture, outside the confines of the IT organisation.  It needs to support the customer experience.  And that means the customer must always be able to put items in the shopping cart.  Period.  The takeaway I suppose is to build your architecture around the customer experience; decompose the experience to do this.  The technical requirements for your shopping cart will be different from your fulfilment mechanism from your “see what others are buying” from your “my details”.  Make technical decisions accordingly, rather than a one-size fits all.

Help!

I created this blog a while ago. I installed wordpress in a directory called “blog” and left all the other content I’d created before I started blogging in other directories with the homepage sitting on the root. I used the wordpress style sheet across all pages. This was a bad move. I now want to use Worpress to handle all the content management on the site, so I can use the power of Themes and all the goodness that WP offers that is denied to me at the moment. My problem is this. How do I have an instance of WordPress in my root directory (so all content has a URL www.dancingmango.com/???? rather than sitting in www.dancingmango.com/blog/????)

I don’t want to loose any existing blog URLs or break any links in the blog. Does this appeal for help make sense? Can you help?

How not to create an itinerary

ctrip UI makes no sense

Do you feel “quite the cheese?”

This doesn’t need much comment, other than the the page title “Leading online travel service in China…” If you want to be “leading” across markets, it is not sufficient to translate pages from the local language (“Fly total consume the hour”?!), nor assume your local processes are globally applicable – “Delivery city” when booking airline tickets?

Do you know who you are building for?

Senior management in both Tescos and Sainsburys have to spend some mandated time every year at the checkout in the stores. This keeps them in tune with what it is like to be at the front line. Taking them out of the realm of reports and documents and experiencing the reality of their strategy and decisions.

Becky Carroll recently posted a blog about looking through the eyes of others.

We need to get to know our customers, their wants and needs, their frustrations with us, and their raves about us. You need to see your company through the eyes of your customers.”

It shouldn’t just be the senior managers of supermarkets that do this. There should be no reason why the whole project team should not gain some sort of exposure to the people whose lives will be touched by the product they are building.

Creating personas and scenarios that everybody is familiar with is a start, but it is no substitute to seeing what really happens. It may not be feasible to let everyone on the team get out onto the shop floor, but how about videoing the users at work; a five minute video of traders on the trading floor, customers at the checkout, call centre reps on the phone. When new team members join a project don’t just give them a verbal briefing or a bunch of documentation to read, let them see what’s going on.

Why is this important? Because we carry the baggage of our experience, and that is not necessarily the best or most appropriate way to approach things. We may think we are doing something cool with the technology, but is it appropriate to our users? As an ergonomist my first impression when seeing traders with four screens in front of them is one of shock. Its information overload and a poor way to work. But in the context of use, watching traders in their environment, you understand why so many screens are important. Through observation I was able to change my perceptions to reflect reality rather than my preconceived opinions.
If marketers need to “see your company through the eyes of your customers”, IT professionals need to “see your product through the eyes of your users”.

It gets worse…

The other day I wrote about how Surrey County Council had a “problem with their systems” and couldn’t tell us what school our daughter has a place in. We were supposed to be informed last Wednesday. They’d promised to “send the letters out” on Friday, today. Being impatient I rang them up; now the letters have been printed surely the relevent data would be available to give out on the phone to impatient parents.

Well yes and no.

Yes we should be able to give you the information I was told, but sorry we can’t. “Our database has crashed!”

I’m incredulous.

“It’s the EMS” I was told, “I can’t even log in to it. Today of all days”.

Is this Capita’s Extended Management System? Capita, the company whose chairman gave a £1m loan to the labour party? Suddenly, (much to my shock and surprise) the Tories are becoming ever more attractive. Partciularly with the Shadow Chancellor standing up and demanding a greater use of Open Source. As a tax payer this is great news! And as employee of a great company that champions Open Source even better!

I’m exercising my democratic rights next week and talking to my (Tory) MP about the farcical IT “solution” that is operating in his constituency, and will back up what his parties money man is saying.  And maybe my voting intentions may be swinging.