2006

Getting attached to stories

The physical manifestation of agile stories are a description of the requirement (in the form “as a [user], I want to [goal], so that [reason]”) written on an index cards with the acceptance critiera written on the reverse. The developer can pick up the card and work with it. Once the acceptance critiera are met it can be put in the pile of completed cards. If at any stage of the process we are not happy with the card, given that it is only a “promise for a conversation,” it can easily be torn up and rewritten. Tearing up cards is a powerful statement. We don’t like what we’ve written? That doesn’t matter, rip it up and start again. That works well in the opening stages of a project, but sooner or later the cards will be copied into a spreadsheet and this is where the problems start. We become attached to the story; good project management discipline demands we keep an audit trail of what we do. Suddenly it is not so easy to rip up the card. Maybe the initial story did not truly represent the requirement. More often than not the story title, and detail will remain the same, but a notes column will be spawned in the spreadsheet and the change to the story will be entered as narative in this column.

Clearly this is not a satisfactory way of doing things. Part of the agile coaching process has to be around the flexibility of requirements, and this includes refining, rewriting and splitting stories as the project progresses. The underlying scope of the project will remain the same, however inevitably the estimates will change. This is often difficult to accept if you are versed in traditional project methodology. At the beginning of waterfall projects you have certainty, clearly defined requirements and a plan to guide you by. It is towards the end of the project where deadlines slip, scope is managed by change requests and IT is cursed as being unreliable, untrustworthy and the breaker of promises. The reverse is true with agile. There can be a whif of unreliablity in the early stages of the project, particulalry if there is no clear plan. This is excerated with an excel storylist that changes by the day. The difference is that you are more likely to succeed in delivery when going with the agile approach.

Agile Vs Waterfall uncertainty graph

The bottom line has to be an acknowledgement that there will be pain during the opening weeks of a project. Stories will be ripped up – delete them from the spreadsheet and don’t bother to keep an audit trail. Agree that the story list will be in a state of flux for the first few weeks. And once the project is settling down, once we have a better understanding of the project and are happy with stories, only then should we use formal PM tools with confidence.

Chinese whispers in IT projects

Hello. I’m a developer. I’m going to build your product. I do what the BA tells me.
Hello. I’m a business analyst. I’m going to articulate requirements for the developer. I listen to the product owner.
Hello. I’m the product owner. I’m responsible for what goes in it. I’m going to tell the BA what it should do. I listen to the sales Manager to find out what features the product needs.
Hello. I’m the Sales Manager. I know what features my customer wants, I listen to them.

Hello. I’m Head of Procurement. I’m responsible for selecting the product. I tell the Sales Manager in the product company what we want. I know what we want because I listen to the Division Managers.
Hello. I’m the Division Manager. I want a product that does %%&***£$%£ to drive my sales. Give me a product that does that.

Hello. My name is Sally. I use the product. You know, the thing I really like about it is $%$£$$£^. And here’s a list of what I really hate. Give me a bit of $££%£$”£ and I’d be so much more productive. But noone listens to me.

Hello, I write this blog. I’m an interaction designer. I’ve just sat with Sally for the morning and seen what she’s done. And you know what – we’re getting this wrong. What she really needs is ########. That would really add value.  And it’s is far simpler, quicker and cheaper to deliver than what your guys were proposing.

Port my functionality

Once upon-a-time there was no such thing as “legacy” in IT. It was a time when systems were shiny and new and development was Greenfield (and green-screen). We’ve moved on, IT has grown up and legacy systems are abound. Version numbers increase, licenses expire, software is no longer supported. “Upgrade” and “migrate” become priorities on the CIOs agenda.Because upgrades and migration projects have an IT focus, they generally remain in the ownership of, and funded by IT with the business only playing a peripheral role. After all, the requirements are already known; just move (aka “port”) everything that is “as-is” to the new “to-be”.

The reality is all too often slightly different.

It is a common misconception that “porting functionality” is a simple re-write. Here’s an example of a bank who was engaged in migrating its legacy applications onto a new, single stack environment. There were 39 legacy applications that supported 280 processes.

The original business case conducted by the IT organisation was built upon the assumption that 100% of the functionality could be ported. When these figures were shared with the business they baulked. They were incredulous that IT could be building something new, and building all that was wrong in the existing processes on the new platform. What they didn’t have was a business case that articulated what the cost “wrong” was. So the project was put on hold, no longer could it be soley in the ownership of IT, the business needed to ratify the requirements.

The business took an enlightened approach to requirement ratification (they got me involved!) We ran a series of focus groups with key stakeholders, then went into the field undertaking what I could pompously call ethnographic research. We spent time shadowing staff on the ground, observing staff-customer interactions, watching how they interacted with the technology, what applications they used, how long they spent on them and what bank processes they touched. It rapidly became clear that much of what IT was proposing to “straight port” was not fit for purpose. Simple, core bank processes took up significant customer time. For new staff to get up to speed with the basket of applications, it took weeks, if not months.

What soon became apparent, (as expected by the business), only a fraction of the overall functionality offered to the bank users was actually used. Indeed of the thirty nine applications that users had access to, five were redundant; their functionality was never used or was replicated elsewhere. When looking at banking processes that the applications covered, almost a quarter were ripe for redesign. Initially there was resistance to this figure; after all, the processes existed “as-is” and the bank was working with them. The original business case did not justify the significant additional cost that redesign over port would offer. But the ethnographic research gave grounds to challenge this. We could point to the time that users spent interacting with the technology rather than interacting with the customer. The underlining processes were not necessarily broken, but their technical implementation hindered staff work effectively. For example, on opening an account for a new customer the bank employee more time keying data into the application than talking to the customer. This prevented a conversation; the first personal touch point the bank had with a customer was a poor experience. And focussing upon form filling rather than the needs of the customer left both parties potentially unfulfilled.

Worse for the bank, when an existing customer informed the employee of a change of name and address (i.e. just got married), the employee would visibly sink in their chair. Again. rather than engaging in a conversation, congratulating the customer, talking about their new financial needs following their change of life, they had to update the same information in six different places. The technology was an impedance. And thus a cost.

What if we could reduce the time spent entering data into the system? What if there was time for conversation? Time to probe the customers financial needs…? We could model different scenarios whereby this initial customer meeting could drive revenue with cross sell opportunities. Furthermore, if we could reduce the time spent with each customer and thus increase footfall there would be an opportunity to reduce costs. For example, assume the request for a change of address generates a new home insurance lead, model different conversion rate scenarios and we have a business case for improving the change of address process.

To demonstrate the art of the possible, we created a functional prototype. This started with lo-fi sketches, testing these with users before moving to an HTML prototype that supported different journeys through key processes. This was tested with users in a usability lab. We got bank staff to come in, gave them tasks to complete in a role playing scenario (e.g. Here’s Jon, he is a new customer. He wants to open a current account…) With no training, everyone who played with the prototype was able to accomplish their goals, something that was impossible on the current applications (that remember, IT just wanted port). For the most data-entry intensive process, that of completing a new customer account opening, we were able to reduce the time taken by more than 30%. And this was for novice users who had never used the system before. We now had metrics that we could input into the business case, to further strengthen the case for redesign.

And that’s when I left the project. Some functionality was still ported, but the focus shifted from an IT owned project to a business owned programme of work.

This case study demonstrated the fallacy that porting functionality should ever be a simple task that can be driven by IT. It provides an excellent opportunity to audit what you have got and make things better. Almost undoubtedly there will be a compelling business case for doing something more drastic than an IT owned project to make changes to the underlying technology. And the best way to demonstrate this? Ask the people whose lives are impacted by the technology. Use prototypes to test ideas of change. And take measurements.

(I’ve been on holiday, hence the ability to write long blog entries. In case you were wondering!)

Most retail banking web presence is just not connected

Taking a look different UK banking web sites a consistent theme seems to appear. There is a fundamental mismatch between public brochureware site and the secure transactional site. Banking brochureware sites are generally (but by no means universally) reasonably good. Their look and feel has evolved over time. No bank (yet) offers a web 2.0 look and feel but some get close. Lloyds TSB has a very clean and polished feel.
ltsb.jpg

The LTSB site is customer focussed, indeed the “interactive demo” of their internet banking offering introduces different personas to explore different scenarios. Can we expect their internet bank to offer a compelling customer experience? To be driven around customer needs?

ltsb page

Well maybe. But there is more to a compelling experience than just usefulness and usability. There is something about the aesthetic execution of the proposition. What it looks like. Attention to detail, creativity… sadly missing with the transactional site. Is it the case that the agency who worked on the public site went nowhere near the transactional site? Probably. After all the skills and ownership needed to build a website are different from those to own and build what is effectively a business application. The primary stakeholders in the public site are marketing; the primary stakeholders in the transactional site are IT and operations.

ltsb page

Lloyds TSB are not alone. Smile are an internet bank. But take a look at their tables. In 2006 who still uses cell borders and padding?

Smile page

First Direct are another bank whose primary channel is the web. And yet they exclude more than 30% of customers who would wish to have a relationship with them but do not use the browser they choose to support.

First Direct page

Barclays have got a great new brand that manifests itself on their public site, yet this has not worked its way down to their transactional iBank. Don’t get me wrong, iBank is pretty good (the interaction design was created by experts – ahem, I thank you – and was extensively usability tested. But this was in the dot-com boom times when we still had to get over fears over internet security). Yet six years later, apart from some changes to the stylesheet, little has changed.

barclays pages

On the HSBC net home page they are almost saying our site is so slow you need to do something about it with your browser.

hsbc net page
My hunch is that there are a couple of things going on here. Firstly, most banks implemented their internet banking applications during the dot-com boom. They were as much a reaction to the times as a strategic imperative. being rushed out bolt-ons to legacy banking applications. Almost a decade later and little has changed. And where legacy systems are being overhauled – SOA are three big letters in the banking IT world, I wonder to what extent changes to the customer experience are tabled on the agenda.

It makes sense for the brochureware site to be owned by marketing. With ownership marketing are free to choose a creative agency to implement a brand compliant look and feel. IT’s primary involvement in building anything was in commissioning the Content Management Solution (and updating the propriety software when the licences inevitably expire and the current version is no longer supported. The brochureware site can therefore evolve; it is probably built and maintained by people who understand the web. That is why these sites should by and large be cross browser and DDA compliant. So this brings me to my second hunch; the question of ownership. The public site is owned by marketing, the transactional site is owned by IT and operations. And their priorities are quite different. Whilst marketing people generally aim to have a polished look and feel, with a good attention to detail and an understanding of the customer intentions, the priority of IT is rather different. IT thinks in terms of requirements. And the look and feel is “gold plating” that is de-prioritised when deadlines slip.

It is time to bring all the parties together. Anywhere large IT projects are on the CIO agenda, “Infrastructure renewal”, “Service Orientated Architecture,” “Legacy refresh” etc. These should provide the marketing organisation the opportunity to address the customer experience and refresh the interactive experience of the transactional web site. Bring it up to date. And maybe soon we’ll start to see Bank 2.0 applications. Hopefully sometime before Web 3.0 becomes vogue.

Oh for a declarative experience

Want to go on holiday to France. Want to take the car on a ferry. Want to sail to Cherborg, or St. Malo, or Le Harve, or Caen. Flexible about time. Looking for best price. Want to book on-line. These are my goals. Not unreasonable goals, although as soon as I add “I want to have a ticket booked within five minutes” I enter the real of dreams. Currently, it is not possible to realise my goals.

What I want to be able to do is enter my broad travel criteria into a aggregation website and then filter my search. Imagine an excel spreadsheet where I enter my criteria:

Excel sheet, cells empty

The results appear immediately:

Excel sheet, cells filled
And as I change the quantity in my search fields, the results fields immediately update:

Excel sheet, cells changed

That is the declarative paradigm that is conspicuous by its absence on so much of the web. Rather than flexibility, the ferry booking sites send me down an imperative, step driven journey. I cannot adjust my criteria without starting the process again- and that means re-entering all the data I have already provided.

The story doesn’t end there. After fighting with a number of different websites I finally find a ferry crossing that matches my requirements. Condor Ferries. The price is alright – £160.00. I Don’t want to book it there and then, I need to confirm it with my wife. She says “OK” so I return to the site to find that the booking form has timed out. There had been no option to save the quote. I have to start again. I go through the process again to find the price has suddenly jumped from £160.00 to £280.00. Unhappy, I ring the company to be told their system has a real-time flexible pricing engine that changes according to demand. The price lower price is no longer available to me. (At least they didn’t have the cheek to put a premium for the booking over the phone rather than the internet). Indecisiveness gets the better of me so I put off booking till the following day. Once again I go through the pain of step-driven booking wizards. And lo-behold, the price has dropped again to £160.00.

I started with some “wants” and I’ll reiterate them. I want a declarative web experience that meets my expectations and helps me painlessly realise my goals. I want travel booking forms to enable me to push and pull different levers to refine my choices, just like I can change fields on a spreadsheet. Finally, I want to be able to save quotes to return to them later. I don’t want the web to be like a high pressure salesperson who tells me this price is only available if I make a decision now.

My life as a BA

I recently found myself in the role of “BA” on a project. I’m usually involved in “quick starting” projects; driving out high level requirements, developing project / programme roadmaps and helping clients produce tangible visions of where they want to get to. For me, the story lifecycle ceases at the “as a… / I want to… so that…” It is still a placeholder for a conversation – we’ve not yet started to look at the detail. So It’s been good to drill deeper into the anatomy of a story. and so I found myself with the daunting task of writing “acceptance criteria”.

I’m not really a completer-finisher; I’m more into the big picture, so having to get into test detail has the potential to get painful. But this is where I am grateful to Dan North for his Behaviour Driven Development 101 before commencing the gig, and in particular around testing:

Given…
When…
Then…

Inspired. Suddenly the acceptance criteria are in language that I can understand. It becomes a joy to tease out criteria. And it is easier to say when enough is enough – it is after all about diminishing returns (hey Dan?) The value really shone out when a client was explaining complex rules around how some equity trading functionality would work. It was hard to understand what the requirement was. So I asked him to put himself in the shoes of the developers who will build the functionality. How will they know when they are finished? I scribbled out three columns – given / when / then. He then succinctly articulated the scenarios within this framework. What had been hard for him to explain, and even harder for me to comprehend suddenly became clear. Within a couple of minutes we had the story wrapped up were able to move on to the next story on our pile.

Give me results according to my refine

I know there’s a book out there. I know the author’s name begins with M. I know it’s a historical book. So I go to Amazon and for once I don’t search, I browse. I follow the site hierarchy: books> history > general and am presented with 32,5882 results. By default they are ordered by “bestselling” (best selling on Amazon – not always a helpful guide. Today’s number 27 on the list is “IEE on Site Guide (BS 7671: 2001 16th Edition Wiring Regulations Including Amendment 2: 2002)”. Mmmmm. Gripping).

Anyway, so I’ve got 32,5882 results to trawl through. Kindly Amazon provide an ascending / descending alphabetic filter. The intuitive way to return alphabetic results would be by letter. Unfortunatly the technically easy thing is done. Pages are returned by number, with up to ten pages accesibile at a time. That’s not very useful if you’ve got more than thirty thousand results.

Amazon search results

I’m on page 13 and I’m only up to AC… The letter M is an infinite number of clicks away. I’m off to Waterstones where I can physically browse the shelves, and hopefully find the book that way.

If you give me something, don’t make me work to use it

My Nokia N80 came with a bunch of software including Nokia PC suite and Lifeblog. the former is for syncing up the phone with the PC, whilst Lifeblog looks after all the photos I take on the phone. Now you’d of thought that two peices of software on the same CD from the same supplier, packaged with their phone would be compatible with each other. Think again! I’ve got PC suite open and I try to upload photos from the phone using Lifeblog. And I get the below message…

nokia1.gif

I get a message asking me to restart my computer and try again (which won’t rectify the problem because PC suite loads in the system tray). Sorry Nokia. Poor customer experience. You’ve given me a couple of cool peices of software, but haven’t bothered to ensure they are compatible. Or maybe you did but it was a bug that was discovered too late. Now what if they’d been thinking in terms of behaviour driven design:

Given: I have PC suite and Lifeblog open at the same time

When: I choose to upload photos using Lifeblog

Then: the photos will upload and appear in the Timeline view

Or is that too obvious?

It can be costly to break promises…

Starbucks offered a free coffee in a email. As you’d expect, the email got bounced around and suddenly Starbucks had all and sundry walking into their branches demanding their free drink. They took action and rescinded the offer. And now face the rath of the lawyers with Starbucks now facing a lawsuit for fraud. Doh! No doubt someone in marketing is getting beaten up; it was probably a great idea in the workshop but did anyone stop to question all the eventualities? Sometimes you need a pessimist in your midst, someone with a questioning mind that has a negative slant. Someone who can pick holes in your well thought out scenario. Pass your idea by old grumpy in the corner. You never know, they may just save you a lawsuit.

This agile lark. It’s like build a car right?

It’s great when your client gets it. He gives us the analogy. It’s like a car. Release planning is all about getting the car out on to the test track. It’s gotta have a chasis, four wheels, an engine and a steering wheel. Iteration planning? What order should we build stuff in. Well we don;t need the wheels until we’ve got the chasis. The engine is a high priority and there are a lot of dependencies associated with it. And we don’t really need the sterring wheel if we are happy to test on the straight strip… But remember, just because the wheels come lower down the plan, the release isn’t complete until they are all on… And also remember that this is just the “bare bones” of the car. It drives. We can’t acutally take it to the motor show until it looks good. And we can’t take it to the market until it is comfortable.

3 of 9
123456789