The great promise of DevOps is the ability to regularly deliver new business function in an application portfolio through the process of continuous integration and excellent collaboration between the application developers and the IT operations team. This is eminently achievable when everyone works for the same company, but can it work in the world of outsourcing?
Importance of Systems Thinking
There are many organisations that have embraced IT outsourcing, acknowledging that they are not expert application developers or IT technicians, but certainly know their business and customers. These organisatons rarely put all their eggs in one basket. It’s quite common to outsource IT infrastructure to one company, networks to another, with application development and maintenance going to a third. The companies that provide the outsourced services are often capable of delivering more than they are contracted to. So there is often a lot of competition going on between the service providers – vying to take over a larger scope of the outsourced services. If you’ve read The Three Ways you’ll be aware of the First Way being Systems Thinking. I am stressing the importance of Systems Thinking being enforced (is that too strong a word) by the client across their Apps and Infra providers.
(For brevity for the rest of this article I’ll refer to the IT Infrastructure provider and what they provide as Infra and the Application Development & Maintenance provider as Apps)
Encourage a blameless culture
It is this ongoing competition that I feel is a major barrier to the successful implementation of a DevOps culture alongside outsourcing. But I believe that it can work, if the client puts in place effective governance and rules of engagement. One aspect of this governance is defining and agreeing clear roles & responsibilities within the DevOps framework. This can be challenging even in the simple example of two providers: one delivering IT infrastructure and the other in the application development & maintenance space. Another aspect of this governance is to implement a blameless culture see Blameless Postmortems. If the Apps and Infra providers can be encouraged to focus on solving problems together then this should be a good step towards harmonious collaboration.
One DevOps environment – governed by the client
It is common for the Apps provider to use their own environments for development and unit testing. The Infra environment is then used for later stages of test (integration, operations, system, acceptance), production and disaster recovery environments. If code needs to flow through the various stages of development, test and production deployment using a single set of tools and processes then it’s a lot easier to have a single IT infrastructure to work with.
Apps will be a major source of requirements for Infra. It would be unreasonable to expect one outsourcing provider to directly specify requirements to another. Therefore one of the main governance roles that the client should perform is to facilitate this requirements gathering and validation. The Infra should be evolving over time as the platform is increasingly used. Examples of regular enhancements include support for new versions of operating systems, databases and middleware, and the addition of the associated monitoring capability. It would be unreasonable to expect Infra to support everything from day one so the client should also agree a plan that describes what facilities will be made available and when.
DevOps requires integrated, automated tools used by all parties
If we think about how DevOps works, one building block is an Infra that is fully automated with a self-service interface that the developers use. Therefore the client should work with Infra to get such a platform implemented. It needs to be done in concert with the developers to ensure it meets their requirements, but it can also work as a standalone platform. Many Infrastructure as a Service Cloud platforms already provide some of the constituent parts – but the key is integrating the infrastructure platform with the development tools. I recently saw a great example of Urbancode Deploy being integrated with SmartCloud Orchestrator to provide a DevOps platform using existing servers in an in-house data center. DevOps doesn’t have to mean Cloud.
One sticking point could be the integration of the tools. Infra will have their tools and Apps will have theirs. Engineering them to work together is often feasible but the politics of integrating tools used by two different companies is likely to be a tricky negotiation. Again, this is where the client needs to take the lead and define, in agreement with all parties, exactly what needs to be done. One option is that the client purchases the development tools rather than the Apps provider. This might present a software license challenge as the Apps provider might already have very favourable terms with their tooling provider. However, given that many tools that DevOps professionals use are open source then this might not always be a roadblock.
As an optimist I believe that DevOps can be achieved when application and infrastructure work has been outsourced. But it requires the active buy-in of all providers and excellent governance from the client. Tools can be integrated and commercial challenges can usually be resolved. It’s the attitude and governance that are key to DevOps and outsourcing success.
We have a NEFF combination microwave / oven in our kitchen. It was installed by the previous owners and has been an applicance we have used almost every day since we moved in. So when it stopped working it needed fixing quick!
This morning I went out for a run at 6am – a luxury that I can’t remember last time I enjoyed. To many people the idea of going out for a 6-mile run, let alone so early, might seem anywhere on a spectrum from foreign to extreme. However it’s something I enjoyed since I started running properly in 1995.
My 1-year old daughter has been teething for the last couple of weeks, so my wife and I haven’t had a solid night’s sleep for quite a while. This morning I awoke naturally at 5.:45 feeling relatively refreshed having slept through. So I thought I’d take the opportunity to go out for a run.
It was a great decision. There is a very calm feeling at that time of the morning. The world is slowly awakening and everything is still quiet. For much of my run all I could hear was my feet on the ground, my breathing, and birds tweeting (not the 140-character type either!) I find early morning runs are a great time to let my mind wander and just relax. I guess it’s somewhat like meditation – but I’ve never done that so I can’t be sure.
If you haven’t tried it, make the time to get out for an early morning run. Especially on a day like today when there’s a lovely blue sky and the rising sun looks is a warm orange globe in the sky.
I spent Tuesday & Wednesday on-site helping to get the software installed and the data loaded. By the end of Wednesday we had IBM Content Analytics up and running with almost 29,000 records loaded. We had also taught the tool about my client’s business by loading a set of dictionaries that people in the business had created for us. This activity is critical to the effectiveness of text analytics as the tool needs to know what words it’s looking for.
Fortunately all the preparations we had made in the preceding weeks meant that getting to this stage was relatively hassle-free. I called in a favour to get some more storage space for the indexes (who knew that the indexes would be 10-times the size of the source data). I also had to brush off my linux skills to help get the data loaded (an issue with recognising milliseconds in a date field!)
The client is now going to spend the next couple of weeks experimenting with the tool to see what business value they can glean from the data set. It’s easy to spend ages discovering all manner of interesting observations – the challenge is identifying those that can lead to a business change being made which will have a real, measurable impact.
So it’s almost time to put the first innovation project to the test. I started my new role on July 1st and almost immediately started discussing how Text Analytics (or Natural Language Processing) could be of value to one of my clients.
Often when participating in an innovation partnership with our clients we start off agreeing a definition of innovation and then defining the scope and some key themes. However with this client they had already reached this stage by the time I arrived on the scene. They have a head of innovation, which is really helpful as it means that innovation isn’t something that people just fit in around everything else they do.
In my first meeting with the head of innovation we agreed to explore areas where Text Analytics might be of benefit to the business. I organised a workshop where my expert colleagues demonstrated what we have helped other clients to achieve and we discussed the art of the possible. By the end of the day we had identified a pragmatic candidate project to be a Proof of Concept (PoC). Pragmatic in that we believed the data was available and we could demonstrate value to the business within three months. We left the workshop buoyed with enthusiasm and a list of actions to complete.
By the following week my client had gained the support of a business sponsor and built a team of business (not IT) experts to work on the PoC. We had weekly meetings to plan and prepare for the PoC – specifically to arrange:
- Evaluation software licenses
- Somewhere to install the software (a suitably sized Virtual Machine)
- The data in a useful format
- A Text Analytics specialist to provide the software skills
I’m glad to report that everything is now in place. So next week the team will be installing the software, loading the data, and training the system to understand the terminology that is specific to the client’s business. It is a significant milestone to get this far – gaining not just the agreement of people to contribute to the PoC but for them to actually deliver on their commitments required good communication and goodwill from a number of people.
I’m excited to see what next week’s work will bring – watch this space!
I recently had the pleasure of a coaching day with Julian Goater, which a friend organised. He is a very successful runner and who now shares his knowledge through coaching and writing (see The art of running faster) .
One of his recommendations for getting fitter and faster is to run twice a day. This is something I have had experience of when attending training camps by Mike Gratton but didn’t sustain it afterwards. Julian’s theory (which I paraphrase) is that it’s better to do two short, quality sessions a day rather than slog out one long run. The key being quality rather than just putting the miles in – to avoid getting in to bad running habits and getting injured.
So I thought I’d give it a go – the key challenge being making the time. Fortunately I have a flexible job, which really helps. The pattern is to go out for a short run in the morning – nothing taxing – just enough to get the metabolism going. The afternoon / evening session is more structured training: fartkek, intervals, etc.
Two days in and I’m already finding it challenging and rewarding. It’ll be interesting to see how I get on.
Last week I started my new role as an Innovation Architect working in IBM’s outsourcing business. After just over a week on the job I thought it would be useful (at least for myself) to keep a record of what I’m up to. By writing this blog other people who might be interested in innovation and architecture can join in the discussion.
On my first working day I spent the morning with Tony Morgan, the Chief Innovation Officer planning a one-day innovation class that we taught later that week and earlier this week. The attendees were colleagues from IBM’s outsourcing business – predominantly Project Executives and Delivery Project Executives. These are people responsible for delivering IBM’s outsourcing contracts and growing the relationships. The goal of the one-day class is to enable the attendees to have innovation conversations with our outsourcing clients and for them to understand and make use of the wide range of innovation capabilities we have in IBM. The classes went well, and I enjoyed teaching them with Tony. The feedback from the students was positive, so I look forward to seeing the results of their innovation conversations.
Later on that morning (on my first day) I was with Tony, Clive Harris (the previous Chief Innovation Officer) and another colleague, Martin. Having run a 3-day innovation master-class for a range of IBMers twice this year we thought it would be useful to reflect and improve the course structure based on what we experienced as well as the feedback from the students. This course has a wider audience and includes a case study. Unsurprisingly we had quite a range of ideas on what we could do to improve the class, resulting in a long to-do list for us to work through before September.
Later last week I was on-site with one of my clients. The lead architect is John Graham, who is very keen on driving innovation for the client and with them. He was glad when I joined the team and I was glad of such a positive welcome. First stop was a meeting with someone from the client who interfaces between the IT organisation and the business departments. We had a wide-ranging discussion about how the end users could be better served by IT and some cost saving ideas. Later that morning I was fortunate to hear an interesting presentation by the Chief Operating Officer, who was explaining the business strategy to his team. The rest of the day was spent working on how we can incorporate cloud services into traditional managed services under a single delivery organisation. We had a number of enthusiastic discussions, resulting in an appreciation that whilst it’s not simple, it can be done. The skill appears to be in ascertaining where the existing processes stay the same, and where they will need to change. The same goes for job roles and tools.
This week I had a meeting with the CIO and Enterprise Architect of one of my clients. I already knew them well from my previous role, so this conversation was focussed purely on innovation. It was challenging and gratifying to hear that the innovations they are interested in are those that can fundamentally help their business. Whilst some IT leaders are focussed on innovative technologies, their interest is entirely on business value; their expectation is to consume services that deliver the value rather than be involved in the hardware and software.
John Graham and I also had a lively and positive discussion with a client about the use of text analytics. We discussed two related areas: improving the quality of IT services delivered to colleagues and improving customer engagement. We came up with an aggressive plan to get a pilot up and running in the next month. My role is now to get the right people involved from IBM. To get a feel for the technologies we might use, have a read of this article about Social Business at Wimbledon.