The Challenge with Knowledge Transfers
Vinod Sankaranarayanan outlines why every organization needs a ownership transfer process and begins his narrative by sharing stories from employees' perspectives.
Every IT product goes through a knowledge transfer (KT) phase at some point in its lifetime. Quite often it is immediately after development is completed and maintenance has taken over. Sometimes other reasons can trigger a knowledge transition. Outsourcing, an incumbent’s poor performance, or business landscape changes can trigger a need to hand over an IT product.
While going through this phase, enterprises often do not have a predictable way of transitioning. In outsourcing scenarios, one relies on the expertise provided by the vendor taking over the application. In cases of restructuring or insourcing, organizations might not have a ready reckoner to look at how these transitions can be handled.
Most IT service organizations use a readymade template for knowledge transfers. The processes in these templates rely on a set methodology of analysis, shadowing, reverse shadowing, and steady state. Some organizations also talk about a stabilization phase. Contracts are signed up with timelines of three months, often followed by a stabilization phase. However, the delivery teams may face inordinate challenges:
Challenge 1: The most obvious challenge is that there is a lot to do within a short span of time. Apart from everything else, assembling the team, knowing the lay of the land, and putting a plan in place will shave off a few weeks from the schedule.
Challenge 2: The next challenge is to get the customer and incumbent to agree to the plan. This may take longer than you expect. In fact, it can take a month or more for people from three different organizations to even get into a working rhythm. It takes time for momentum to build up.
Challenge 3: People soon realize they are falling behind schedule. With strict timelines, there is a tendency to cut corners, and quality begins to suffer.
Challenge 4: Most well-laid plans bring out unknowns. Strict timelines often do not allow for time to unearth the unknowns.
A tactical challenge faced by the new team is getting all the right access to all systems within this timeframe. Assembling members is a crucial step before getting the access rights. Only when the members are assembled can we tell which individual needs what access. After that, we need to identify all of the ports, firewalls, and authorizations required to execute each member’s work.
To say that we need to list all the necessary ports, firewalls, and authorizations in one place and then get IS resources to implement the access rights makes things sound simple. The process is rarely that straightforward. In reality, even members who have worked in the group for a long time might not know all the systems to which they require access.
In one of my recent engagements, in which I was working from the client’s location, we needed to obtain certain access rights and a hard token to allow members to work remotely. The client manager put us in touch with an old vendor who had remote access. This member had obtained access more than two years back. He came by to help and soon realized that the customer processes had changed. We had to get four different tickets created for different levels of approval, and each ticket required approval from different people. In addition, the tickets expired if approval did not come within two days. It took two to three months for some team members to obtain this access. In another organization, the process of granting administrator privileges on developer work stations had its own unique workflow, and in one extreme case, it took us a full month to grant a developer administrator rights.
Additionally, it’s not easy to gauge the quality of the transition. How do we gauge whether the knowledge sessions are really effective? How do we really know if we have understood everything? Any incumbent employee who has been working and supporting the system for a long time may well have established a few nifty things, such as little scripts or utilities for monitoring or promoting a piece of code, to make their jobs easier. Such things may not have been documented, but would aid in a lot of debugging issues and expediting delivery. Further, we may not see enough issues crop up to demonstrate all the measures used for maintenance and enhancements over a short span of time, whether through workshops or in the two to three weeks of shadowing and reverse shadowing.
In all cases, a stabilization phase continues over long periods. In my experience, and those of several colleagues who have taken over large enterprise platforms, it may take almost a year before you really feel in control and are operating at a level of optimized efficiency.
The period after takeover always shows a dip in production availability and reliability. Teams go through long hours of stress as they battle production tickets and unknown areas of the application. Time taken to fix issues increases. Service organizations recognize this. Many contracts specifically ask for a waiver of penalty (or a holiday period) in the first few months on steady state. By the time teams feel in control, there is only a sigh of relief rather than joy. This period heavily tests the business and the relationships between organizations and amongst individuals. Some of my colleagues from ISVs have mentioned that the team literally slogs it out in the first year after takeover. Although many organizations are certified at SEI CMM Level 5, when a team hits a production snag, those certificates don’t carry much weight. People need IT heroes in the team to pull things through. Dependencies on folks who are technically competent, can think on their feet, and can manage time pressures increase that much more. This has become de rigueur in today’s knowledge transfer world.
Unfortunately, many times the outcome is not positive. Business impact can be huge when product performance is compromised. Older team members are called back, perhaps poached from other organizations, as desperate measures. Sometimes entire teams are replaced, creating, in a sense, a transition within a transition with far greater urgency. For many people, this becomes career limiting. Many senior level executives have lost their jobs when transitions have failed.
Enterprises are starting to recognize the need for longevity of key members. Today, customer organizations seek to get the names of key members put in the contract. Exit clauses in contracts are getting longer and longer. IT set-ups are learning the need to ensure continuity and cooperation in the case of handovers. There is an appreciation within enterprises that team transitions are becoming the norm rather than the exception. More than seven pages of a contract can be dedicated to engagement termination. These contracts touch upon various aspects from setting up transition managers and knowledge transfers to the rebadging of vendor personnel. Some contracts have even begun to require that client nominees be able to work from the vendor offices for purposes of transition. One must commend the proactive think-through on this subject at the contracting phase itself. The irony, though, is that organizations are trying to secure cooperation through contract negotiation.
A rush to complete transitions can have a detrimental effect. Let’s take the example of banks. Bank activities are generally seasonal. Year-ends are crucial periods. Transitions in today’s banks are planned so that teams do not “mess up” this crucial time. In effect, there is a rush to complete the transition before year-end activities begin. But what is often overlooked is that the new team is suddenly facing a set of crucial activities that they never had experience with. It’s a bit like fielding the national squad for the World Cup with a set of players who have never played in a high profile and high pressure arena. No team has won the World Cup while fielding an entire squad of greenhorns. Instead, winning teams always have a judicious mix of youth and experience. Similarly, in the case of transitions, is it not better to have the new team pair up with the incumbent on an activity as critical as this, rather than relying on the new team’s untested skills and capabilities to pull through?
Today’s knowledge transfer focuses on taking over the support and maintenance of an application. However, no focus is given on how teams should work to enhance the application. Development is different from support. The exercise of inception to working with business on showcasing stories is unique to every organization. In three months, which is about the duration of today’s transition agreements, many teams don’t get an opportunity to partner with the incumbent and deliver an enhancement. Imagine a scenario when the old team is no longer around and the new team is tasked with an enhancement. They meet the business folks and they are told “that’s not how we do it here,” or worse, “that’s not how the old team used to run this.” That can make the situation quite awkward, and things can quickly decline from there.
Organizations are particularly keen to understand how to transfer over projects that have been developed in an Agile fashion into maintenance mode, and they are asking this specific question to the service organizations they hire. No one has really broached this topic in-depth. This is primarily because development phases have picked up Agile models, whereas, in many instances, the maintenance and operations teams work with older methods. Consider the case of a colleague who was coming out of a large-scale transition of a development project into operations. In this case, the biggest challenge he faced was that every time the development phase needed to handover to operations, they began hitting roadblocks. Operations would say that adequate documentation was not present to take over the application. The development team would say that a working product is more important than comprehensive documentation.1 Both development and operations view things from different positions on Agile adoption. In an ideal world, the operations team would have been involved with the project from the requirements and development phase. On the flip side, the expectations of the operations team would have been factored into every story played by the development team. A few organizations are beginning to restructure this into a DevOps model.2 The DevOps model focuses on both development and operations with the intent to provide continuous delivery. To put it in another way, in this paradigm, development and IT operations happen continuously and seamlessly. However, the vast majority of organizations still do not operate with this philosophy.