Wednesday, December 14, 2011

How much does IT matter to clients (or businesses) ?

As a consultant I have the privilege of working with a variety of clients. I try and help them build good quality software by applying Lean and Agile methods. I ask teams to embrace changing requirements and to deliver as frequently to a production like environment, solicit feedback from end users and feed them back into the next build. I always believed this to be a recipe to keep every client happy until a client came and told me that

“I don’t think I need so much automated testing. I am also not sure if I need all the flexibility of having a production ready system with me all the time to deploy at one click.”

“I also think this is an overhead and costing us some unnecessary extra time.”

My first reaction to this was

“Maybe he does not really understand the essence of having a Continuous Delivery cadence yet!”

But then I had a long after thought

“Does my client really need the level of automation my team is putting in?”

“Does the organization really need the level of flexibility and value add which my team is providing?”

“Am I providing the right level of service which my client organization needs?”

To get answers to these questions, I tried to understand more about how the client organization views IT. Do they view it as their core competency, a differentiator in the market or just another utility overhead?

IT - Utility, Enabler or Strategic

Martin Fowler talked earlier about Utility V/S Strategic Dichotomy. He quotes a prospect drawing an analogy of IT and Sewage pipessoftware is like sewage pipes, I want it to work reliably and I don't want to know about the details”. This is thinking of IT as a pure utility. It is like electricity in your house. You will pay the bills and you just want it so that you can do your work under a working AC and a light bulb. You won’t care any more about it





My view of IT has 3 main categories

Utility – A lot of IT applications that merely provide a utility such as payroll or timesheets fall into this category. An organization will just want them to work within the business and will only care about cutting costs around these systems. (Just like you would look at cutting your electricity bills). There is no encouragement or even necessity to innovate. They deal with well-known problems where a package solution can fit in well.

Enabler – IT is an enabler for businesses that use software solutions to manage core internal business needs. For example a marriage registry will use custom software to maintain its records so that it is in good searchable format. The solution is also customized to the business needs (e.g. a marriage registry might have different legal requirements for allowed marriages in a jurisdiction). Organizations care a bit more when IT is an enabler than when it is a mere utility.

Strategic – This is where IT is viewed as the organisation's core competency. It is so blended into the business that it can provide a strategic advantage over competitors. The products in the market are IT products and services such as an online bookstore or an online ticket retail site. The organization needs to care about their online user experience and also be quick in bringing new features to market. They will also need to test and adapt their features based on market validation.

Why businesses differ in the way they measure success of IT?

When IT is viewed as a utility or enabler business will view success to be the project delivering on time and under budget. Businesses will largely look at cutting costs on such projects. How adaptive the delivery process is and how quickly we can take a feature to market is of no concern to the business. They don’t have any competitors. (e.g. No one is going to compete on writing a marriage registry software than the state registry themselves who need it).

In cases where an existing legacy system is being replaced by a new one, delivery on schedule may also become a major success measure. This is mainly due to the frustration and overhead of working with the legacy system, that the business might get desperate to replace it quickly.

In a strategic IT centric business however, success will be measured differently. Time to market, adaptation and ability to quickly reposition the products become critical to business. This is when the product is more important than the project. And this is where strategic methods of Agile, Continuous Delivery and techniques from the Lean Startup add value.

But for utility and enabler projects, it does not matter much. Quoting Martin Fowler from his post

“Most agilists tend to come from a strategic mindset, and the flexibility and rapid time-to-market that characterizes agile is crucial for strategic projects. For utility projects, however, the advantages of agile don't matter that much. I'm not sure whether using an agile approach for a utility project would be the wrong choice, but I am sure that it doesn't matter that much.”

Choosing the right IT governance model

Mary Poppendieck identifies 3 main IT archetypes in her Leadership workshop. Borrowing from her, here is a suggested IT governance model that can match the client based on their view of IT.

Utility (for Utility) - Provide cost effective utility like reliability (as described earlier)

Governance model: Minimize cost/ Minimize maintenance overhead

Supplier (for Enabler) Deliver business internal applications on time and on budget

Governance model: Manage variance to plan on the project

Partner (for Strategic) - Create differentiating competitive solutions

Governance model: Software can create differentiated product and services. Measure success by measuring business results.

Conclusion

As an IT consultant it is important to understand the client or the business’s view of IT. There are times when investment in Continuous Delivery is not best suited for a client. As Jez Humble talks about it in his post In fact, the most important criterion for using continuous delivery isn’t concerned with the technical nature of system you deliver or even the market you work in – it’s whether the system is strategically important to your organisation.”

2 comments:

  1. However, irrespective of whether the software is a Utility, Enabler or Strategic. If it doesn't work, the business is in troublel. After being used to having running water in your pipes, you could live without water for a while, and yes there are alternatives...but if the water were to stop suddenly, you would be in pain.

    Keeping Utility software running is what a lot of inhouse, outsourced Ops do, and I think there are a lot of things about Agile and Lean that would help BAU teams, it is not that Continuous Delivery is not important to those systems, I think it is important to figure out what aspects and how economical can we make the adoption for our customers.

    ReplyDelete
  2. Valid point Vishy. There is value in using some of these practices to ensure the utility always works. But beyond that the returns diminish very quickly a Utility IT environment.

    I plan to write a follow up post regarding that as this one became way too long :).

    ReplyDelete