IT

Thinking about value in terms of advantage and benefit

A product rarely sells itself.  What sells a product is the advantage it brings and the benefits it delivers to the customer.  It is the benefit of the product that sells rather than the product itself. What is the advantage of the requirement you are stating, and what is the benefit it will bring the customer?

Let’s start with a product.  Think broadband.  It’s dull.  Put 10MB in front of it and it is still dull.

Now think about the advantage that 10MB broadband brings.  The advantage is that it is fast.  Lightning fast.

Now think about the benefit which that advantage brings.  The benefit is that you can download an MP3 tune in seconds rather than minutes with your old dial up connection.  You are no longer selling broadband, but the experience that it brings.

Let’s consider IT requirements to be products.  A dull list, a thick document gathering dust. How do you prioritise one requirement over another?  What is more important?

Agile introduces ‘stories’ as the requirement product.  They are written in the format ‘As a <role>, I want <a feature>, so that <some benefit is achieved>’.  It is the ‘So that’ which is usually the hardest part to articulate, yet it is the most important part of the story.

Liz Keogh describes how prompted by Chris Matts her preferred narative reads:

In order to <achieve some value>
As a <role>
I want <some feature>.

Applying the marketing thinking to how the story will “achieve some value”, don’t just define that value in the advantage it will bring, rather also consider the benefit it will deliver to the user.  The two are different.  There maybe a business advantage to delivering some feature, but if the benefit to the end user can’t be articulated, it’s real value must be questioned.

The application is irrelvent

We get confused when building applications; the technology should be incidental to delivering the experience, it should be the means rather than the end. Sadly both IT and marketeers usually don’t see it this way.

I was recently working with a telco who were running a campaign for a single application that sits on a Symbian phone and gives the user access to all their mobile services (rather than having to access them individually via the mobile web). This is not unusual, organisations marketing the technology rather than the benefit or the experience. The technology should be incidental to what you are selling.

It is hard to put it better than what Duncan Cragg writes

“What most people want on their mobiles is not the applications, but the stuff they animate.

People only accept the concept of applications (whether a native app or a Web app) because that’s all they’ve been offered, and it’s largely good enough. But no-one actually wants to download and launch and register and log in to a local find-your-friends application – they just want to find their friends in the area – now! And they shouldn’t then have to flip between the find-your-friends map owned by that application and the restaurant review map owned by another.

They don’t want Facebook videos and YouTube videos and phone videos. They just want to share videos. They shouldn’t have to think about whether to send a picture by MMS or to use an upload app, after remembering the login. They don’t want multiple ways of sending messages: IM, SMS, Twitter, Facebook, etc. They shouldn’t have to think about how to tell their friends about some news item – whether to post a TinyURL link on Twitter or copy the text manually into Facebook.

They only want one shared calendar, not the phone calendar and a Google calendar and events on Upcoming.org, that need two more logins. They shouldn’t have to think about how to synchronise music or contacts lists on the phone, the iPod, the PC, some memory card and online. “

He goes on to introduce the ‘U-Web’ Mobile 2.0 platform. This is exciting stuff and well worth a read. The challenge is not just about the IT industry getting excited about U-Web, the drive needs to also come from marketeers focussing upon “what” experience they want the customer to enjoy rather than “how” it will be delivered. They shouldn’t be distracted by the application that the experience will be delivered through, they should focus on delighting the customer and driving value to the organisation.

Customer or Client?

One of the things that bugs me in IT development is that the business is too often referred to as “the customer”.  “Customer” implies a transactional relationship.  A customer purchases from a seller; there is little incentive for any meaningful relationship as it will ultimately come down to price.  The buyer wants to pay as little as possible, the seller wants to charge as much as possible.

All to often IT is seen as a cost centre rather than a driver of business innovation and profit.  Maintaining the transactional language to describe the relationship between IT and the business helps perpetuate this.  We need to stop thinking of the Business as our customer.  Instead of “customer” we should look to other professional services for our metaphor.

Professions that involve a more personal, relationship driven approach to their business use “client” rather than “customer”.  Whilst retail banking has customers, wealth management talks about clients.  I think it is a subtle but important difference.   The relationship between IT and the business should not be seen as transactional, it is more consultative in its approach.  Structuring our relationship as consultant-client is a small but important first step to redressing the perception of IT as a commodity.

Innovation and funding in lean times

It’s budgeting time with many organisations putting together their budets for 2009. In the current climate IT is an easy target for cutting costs. Stories such as “no new non-core projects till 2010” and “no project that can’t demonstrate a postive ROI in 12 months” are abound. There is a risk that only focusing upon projects that keep the lights on will do longer term damage to the company. Seth Godin writes:

Wealth is created by productivity. Productive communities generate more of value.
Productivity comes from innovation.
Innovation comes from investment and change.

Annual budgeting cycles combined with inflexible development approaches preclude real innovation. It is hard to justify any cost, especially untested products that brings a burden of risk to the organisation.

There are two solutions that go hand in hand. Agile software development enables IT to release value from production earlier and more often than waterfall development. Rather than significant sunk cost in risky product innovation, it removes waste from the process and focuses upon delivery of working software that is of value to the business, taking the product to market at the earliest possible time.

This is a challenge to the annual budgeting charade where line item projects compete for guessed amounts in return for notional value. (IT put crude guesses – not even estimates- against even cruder descriptions of required features from the business). A better model would be to take that of the venture capitalist, with different rounds of funding. Rather than allocating specific funds to specific projects, far better to ring fence budget for ‘product innovation’. Within this pool of cash projects compete with each other with a pitch for seed funding. Those that are successful go straight into agile development with sufficient funding for a first release (say three to four months). Getting to production (and to market- internal or external) will validate further funding or equally enable the business to make an informed decision and kill the idea – fail fast, fast cheap.

How are you managing the change?

To the development team ‘change’ relates to scope and requirements within the project, but change runs far deeper than that.

A question that I am often asked is how do you manage business change on agile projects. Release regular and often is an often quoted mantra, but what does that mean to the business where rolling new software across the large, multi-site organisation? How do you manage the piecemeal introduction of new technology, features and functions to hundreds or thousands of people, many levels removed from the project across remote offices and geographical locations? How do you ensure the recipients of the new technology rapidly adopt it and accept the change, even when change is occurring every few months.

What are the financial and human performance implications of each new release in terms of training, productivity and morale? What is the overall burden on people in frequent change?

The reality is that it is not unusual for projects deemed successful by IT and the immediate business team to ultimately fail when released to the broader organisation. Effective change management can be even more important when an organisation adopts agile software delivery.

An analogy as an example. If I expect a screwdriver and you only give me a cross-headed screwdriver when I really want a flat head one I am going to be unhappy. The core team may have prioritised the cross-headed one first for good reason, a flat headed one maybe coming just round the corner, but if you don’t deliver to my expectations I am going to be unhappy. Worse, I am likely to become resistant to future change and less likely willingly cooperate with the uptake of future releases, even if they do start to deliver to my needs.

Keep it on the shelf
The first point is that regular and often does not necessarily mean release to production for the entire organisation or marketplace. Running a number of internal releases, keeping them on the shelf until a complete and marketable product is ready is a strategy often employed. Significant value can be accrued by getting tested and working software into a pre-production environment and held “on the shelf” awaiting a full release. This maybe a UAT environment where a limited number of stakeholders test the functionality in an ‘as-live’ environment. Or it maybe a beta release to a small, selected number of interested people (e.g. a ‘friendly user trail’). This can often pay dividends with usability issues and minor gripes being picked up and addressed before a major roll-out.

Communication

Let’s assume that the team wants to roll out the application early and often to the whole target population. Critical to the success of managing the business change is communication. It is important to manage expectations on a timely and appropriate manner. Explain what the upcoming release will do and more importantly what it will not do (and when it will do it). Keep all stakeholders informed of the project progress (setting up a project blog can be a cheap and easy way of letting interested people know of progress), yammer maybe another way of broadcasting updates and information. Having a release count-down can also prepare stakeholders for the change. The techniques can be googled, the important thing is to communicate and manage the expectations (and be ready for inbound questions and comment after go-live).

Adaptable user interface
It is not unusual for the core team to drive for as much functionality as possible in the first release, considering UI enhancements as ‘nice to haves’ and consigning them to later releases. This is a false economy. Consider the cost of training and lost productivity through a hard to use interface. Now multiply that across multiple releases that focus upon utility before usability. Delivering a first release that is self contained and compelling will go a long way to driving organisational buy-in of the new application and greater acceptance of future change. (Jeff Patton writes some great stuff on using story maps to explain what the system should do. Using these will help focus on complete and useful slices through the application rather than random features that are perceived to be of value but do not make a coherent product).

A new user interface, however well designed will inevitably take time to learn the first time it is used. The challenge is with each subsequent release to introduce funcitonality and interactions that leverages the users existing mental model of the application, building upon what has been already been learned. Starting with the end-state, wireframes that articulate the final application then trimming out features, feields and controls to represent each notional release can be a good way of ensuring a UI that will scale as new functionality is added.

Agile organisation
Ultimately the most successful way of introducing agile is to build a beta culture with everyone as agents of change across the whole organisaiton. More importantly change becomes a cycle of learning and continuous improvement. And here I’ll borrow this most excellent graphic from David Armano. David compares what he calls conventional and unconventional marketing but the parallel with software development is obvious. His iterative cycle is “plan-design-launch-measure” but that is not a million miles away from the lean philosophy of “plan-do-check-act”. And critical to the journey is the learning cycle between iterations.

Better, faster, cheaper…

Here’s a presentation I gave a while ago to a bunch of senior execs, introducing the concepts of lean and agile to software development.  Many of the slides are taken from a presentation given by Richard Durnall which can be found on the ThoughtWorks website [pdf].  If nothing else, the slides about the problems with conventional development methodologies – that they take time, are not responsive to change and rarely end up satisfying all stakeholders, struck a chord with the audience I presented this to.

[slideshare id=657541&doc=it-forum-presentation1-1223980207243199-8&w=425]

Do you know what you are doing?

Recently I was told of a Blue Chip company whose IT organisation, in the guise of cost cutting, has recently disbanded its QA function. From now on, testing will be conducted by the developers themselves. Since when have developers relished the role of testing? It is inevitable that this cost cutting solution will end up costing the organisation more than it saves.

At the end of last summer I was working with a bank on their on-line retail banking strategy. During a workshop with representatives from their mortgage business they made it clear that they saw the biggest sector for growth in 2008 was the buy-to-let market. I left the workshop shaking my head, were they not reading the same newspapers I was? Even then I didn’t need a crystal ball to tell them that they were putting their eggs into the wrong basket.

Clearing out old paperwork, I came across a document describing the technology strategy for a blue chip organisation that I’d worked with in the past.

There is a guiding principle that is being applied to product technology selection that says we do not follow a ‘best-of-breed’ approach, but rather select a major technology leader (IBM) and ride their product development cycle. This means we explicitly seek and accept the “80% solution” rather than trying to optimise for each and every possible requirement. [We are] emphatic on this point. What this means in practice is that, following the selection of IBM WebSphere Application Server… add-on functionality should be sought from the IBM WebSphere family of products first. Shortcomings will be made explicit in order that we can escalate with IBM, and influence their product strategy.

No rationale was given for their preference for going with a single vendor rather than a best of breed solution, but talk to developers who have used best of breed products and the above mentioned vendor product and they will almost certainly come down on the side of the “best of breed” (that is why they are best).

During the dot-com boom I worked with bank who were developing a WAP mobile banking platform. Trouble was it could only be accessed via a Nokia 7110 (the first mobile phone with a WAP browser), the experience sucked – “Worthless Application Protocol” and the market penetration was never going to reach beyond the most hard-core (and GUI-patient) of early adopters.

At the time the same bank was intent on closing as many branches as possible – branch banking was considered unprofitable; on-line was the way forward… yet several years later I was back in the same bank helping them with their in-branch customer experience.

We all must have examples of times when we have shaken our heads and asked of others do they really know what do are doing? Whose interests are their decisions in aid of? You may not be able to do anything proactive about it at the time, but the question is, what can you learn from these encounters and how can you use them to teach others in the future.

What if an RFP was an Open Day?

We recently completed writing a response to an RFP. It weighed in at just under 100 pages with almost 34,000 words. OK, so there was a lot of copying and pasting going on, but that is not an insignificant amount of effort. Multiply that by the number of suppliers who were invited to respond; add the time taken for the client to produce the RFP itself, then review responses and answer questions and it is clear that RFPs consumes a lot of everybody’s time. With the winner taking all, that is a lot of wasted effort. But hold! That is only the first stage! The list of suppliers is whittled down and a beauty parade follows. Yet more effort is spent by two or three vendors turning their word document into a bunch of PowerPoint slides. A favoured supplier is identified and a process of negotiation follows, based upon estimates and what little information the supplier knows. Finally the supplier is selected, inevitably their are surprises on both sides when the engagement starts.

So the RFP process is a standard (but inefficient) way of doing business. What if it was done a different way?

One of the more significant decisions you make in your life (if you have children) is where you will send them to school. It is not a decision you make lightly as it will have a major influence on how your child grows up in the world. In the UK the government provides data (league tables) but this can only tell you so much; there is more to education that the statistics tell (which are historical and do not necessarily reflect the current reality your child is going to face). You will probably ask around – seek the wisdom of the crowd. Undoubtedly the community can identify good schools and bad schools. But the best judge of a school is to go there, to look around, to meet the teachers, to see the children. Do you trust the leadership of the head? Would you be happy for this person to teach your child, would you like your child to play in this playground, (and more importantly) grow up with these children?

So why not apply this thinking when looking for a supplier to build you an application? At the end of the day, projects succeed on personalities and relationships. Will the vendor get on with the buyer? The RFP tells you little about that. What if the RFP process was like seeking a school for your child? What if you had a project open day where you welcomed suppliers in, got to meet them, and maybe even got them to compete against each other.

What if you had three intense days when the business, IT and prospective invited suppliers come together to define the project and complete against each other in teams to come up with the “best” solution.

What if you provide the suppliers with details of what you are looking to achieve and request a basic qualifier – company details, profitability etc (the stuff that goes on every RFP) and a list of clients they have built similar products for (not exceeding one page of A4 per client). And for costings you ask them to provide you with their proposed rate card.

What if you then invite all suppliers to a large venue with a space for everyone to gather, and break out areas for the individual suppliers to work in. You start with background and presentations from the business and from IT. You tell the story of what you want, the vision, a description of the current technology, constraints, assumptions, known risks, integration points, etc. You provide some initial direction as a large group, but then breakout into supplier teams, interspersing each team with your people – from IT and the business. You provide technology (access to your systems, whatever is needed) and domain expertise. What happens next is up to the suppliers. They then have two days to impress.

What if at the end of each day each supplier presents their output to the whole group. The following morning you outline what you like of the outputs and ask the teams to take that as input to work on. Then at the end of the last day each vendor puts in an anonymous sealed envelope with their estimate (resources required to build the application). Can this triangulation technique be any less accurate than the estimate given on the back of several pages specification in an RPP?

If we accept that IT projects are about people, implemented by people, then the benefit of this approach is that you get to work with the supplier and experience the relationship first hand, rather than through documents and practiced PowerPoint presentations. And for the supplier it reduces the time taken to respond and will be more enjoyable for those involved. After all, don’t people prefer to do rather than write about what they do?

What not how

All too often the business thinks in terms of the “how” rather than the “what”. But why should they care how something is to be implemented? Why doesn’t the business state their requirements in terms of their desired outcomes? What is it that they want? Then, and only then should anybody think about the “how”.

Sadly, focusing upon the how rather than the what is a driving factor behind so much of the mediocrity in enterprise software. Rather than stating “what” (they want) in terms of their dreams and aspirations, the business express their requirements in terms of what they perceive IT can deliver. “What” could never be the design quality of Apple (visionary) because they believe the “how” (their IT team) is not Apple (mediocre). But wouldn’t your average developer rather be building something visionary than something mediocre?

The best CIOs don’t care about IT

One of the (many) things about ThoughtWorks developers is that, whilst they are passionate about technology, (and will happily argue for hours amongst themselves about the relative merits of REST over SOAP or ruby on rails over django), more often than not when they start a conversation with a client, technology will be at the back of their mind. I think it is safe to say that generally the primary driver in the ThoughtWorks mind is business value:

  • Why are we building this application?
  • What are the business objectives?
  • What will deliver the greatest value in the shortest timeframe?

Once the requirements of the business are understood, and framed in terms of their business value, then (and only then) should we turn to the technology. This can often be a challenging message; IT professionals like to think in terms of architecture and platforms, yet often these constrain the ability to truly deliver what the busines really needs.

The development team may be a Java shop and only does Java, yet the end users live in a world of Microsoft. So what happens – IT develop user interfaces that expose data in a web browser only for the business users to copy and paste it into the tools of their trade – Microsoft Office. And because IT only do Java that’s the way it has to be.

Value is lost in this thinking. It is easy to argue on the cost to expand the team requiring new skills by introducing .net into the architecture. But what is the cost to the business of time spent through inefficient work practices? All to often IT is an end unto itself, rather than the means. IT needs to remember it only exists to enable organisations. The most refreshing CIOs are those that recognise this. Those who focus upon delivering business value and question every big decision – what value is this giving to the whole organisation rather than thinking in terms of their IT silo. In fact, the sort of way that ThoughtWorkers think.

2 of 3
123