Governments are overwhelmed balancing consumer expectations, aging workforce, regulations, rapid technology change and fiscal deficits. This blog gathers a community of SMEs who discuss trends and outline how public sector organizations can leverage relevant best practices to drive their software-led transformation and build the future of technology – today!

« March 2018 | Main | September 2018 »

May 26, 2018

Modernizing Legacy IT into IT of the Future: Part 4 - Managing modern systems

In part 1 of this series, I discussed the key characteristics of modern IT systems and the various approaches for building such systems - Re-host, Re-write/Reengineer, Replace, Retain.

In part 2, I outlined how to understand the legacy system better and how to select the right modernization approach.

In part 3, I listed the various factors that should be considered by an agency as it chooses a modernization approach and how should such a complex program be executed and tested.

In this last part, I'll discuss how to deploy modern systems, the importance of having a comprehensive change management plan for successful adoption, and how should agencies manage these modern systems.

Organizational Change Management & user-training

A modernization program is successful only when people are able to use the new systems effectively.

Agencies are generally understaffed. Caseloads are overwhelming and users are hard pressed for time. When an IT landscape is modernized, it's not easy for users to learn the new system or processes.

Facilitating this change is crucial. This is why Organizational Change Management (OCM) is important. OCM is a systematic approach that helps an agency understand the scale and scope of impact on key stakeholders (both business users and customers), develop strategies to manage that impact, and employ various tools to facilitate the change/adoption. Four factors that form the critical part of an integrated organizational change management approach include:

 

Figure7 - OCM.png

Figure 7: Organizational Change Management

 

  • Clear expectations - People should be clear on what they must do, both during the project and in the new business environment. Change impact assessments will help identify the extent of change. There should be regular communication on what is happening and what will change. 
  • Skills and tools - People need to have the right skills and tools to achieve expectations - the new system introduces new ways to do the work. Extensive training and development exercises should be conducted so that the people have the right skills to use the system correctly.
  • Incentives & disincentives - People should have incentives and disincentives which create accountability and motivation to meet expectations. Roles and responsibilities should be fleshed out. There should be a clear definition of what constitutes a SLA success/failure and what the rewards or consequences will be in each case.
  • Managed plan - Modernization exercise should be approached as a planned, proactive, and carefully managed program that is focused on enhancing user adoption. Organizational change management activities should be closely tied up with overall program planning and implementation

An OCM program enables users to take complete ownership of the new systems. However, it's unreasonable to expect all users to adopt the new systems as soon as they are deployed. Complete ownership takes time. Agencies should keep this in mind while developing their OCM programs.

User-training is an essential sub-component of the OCM program and a key to success of any modernization initiative. Agencies should consider the following parameters while creating and executing their training plan.

  • Identify the stakeholders who will be impacted and outline how will they be impacted.
  • Analyze and document the extent of change to identify what should users be trained on
  • Develop training material that is user-centric (i.e. personalized for each stakeholder), modular (can be easily updated/changed/modified), and standardized
  • Define multiple ways in which the training material can be delivered or accessed by the users across channels (class-room, online etc.).
  • Define a centralized system to track enrollments, participation and completion of various modules.
  • Setup a command center or a support team that can be called upon by the users when they face issues while learning or using the system, and define SLAs for the support team so that users' queries are resolved quickly.

Deployment

Deployment of the new system involves multiple teams working seamlessly to ensure that the system goes live without any glitches. This is where a program management office becomes extremely important. PMO needs to develop a detailed plan that outlines the key activities that should be completed, due dates, key stakeholders, dependencies etc.

While planning the modernization exercise, agencies should also decide how they want to roll-out their systems - big bang, phased, pilot or parallel processing. Each option has its pros and cons and applicability. For example, Pilot is a critical phase for some programs, like SNAP, where the new system is initially made available to only a subset of member population. During this phase the legacy system has to continue to work for all the members and programs. This makes data synchronization extremely important.

An agency should choose the approach based on the modernization tactic and its needs.

Managing modern systems

Modernization is a continuous process. Agencies have to constantly assess and evolve their modernized applications to incorporate new technologies and address new requirements.

Also at any given time only a few systems or components may be modernized. This means that an agency has to use both the legacy as well as new systems for service delivery.

Doing both of these things in tandem is difficult for agencies that are already understaffed and constrained for resources.

One way to manage this is by splitting the IT team into two distinct teams, one which focuses on managing the existing enterprise IT systems (both legacy and modern), and the other focusing on rapid experimentation with new technologies - the high-speed IT team.

The building blocks of a high-speed IT team include a well-established rapid experimentation process, best practices from agile and DevOps, lean governance structure and common guiding principles that can help in integrating the high-speed IT team with the traditional IT team.

Many commercial-sector organizations have successfully set up this two-speed structure. Public sector agencies can learn from their commercial peers and be more agile. Read our point of view, Two-speed IT, for more details on how such a setup can be implemented.

Conclusion

A modernization initiative is like an orchestra, requiring perfect synchronization of many moving parts to deliver the right symphony. Through these four blogs, I outlined some of these moving parts and what should agencies do to manage them successfully. An agency should carefully consider each of these while planning its modernization exercise and contextualize them as necessary. What do you think?


May 25, 2018

Modernizing Legacy IT into IT of the Future: Part 3 - Planning, executing & testing a modernization program

In part 1 of this series, I discussed the key characteristics of modern IT systems and the various approaches for building such systems - Re-host, Re-write/Reengineer, Replace, Retain.

In part 2, I outlined how to understand the legacy system better and how to select the right modernization approach.

In this blog, I'll discuss the various factors that should be considered by an agency as it chooses a modernization approach, and how should such a complex program be executed and tested.

Modernization planning

Each modernization option requires a separate planning exercise. There may be cases where the tactics may overlap. Identification of these overlaps can help an agency optimize its modernization efforts. From our experience, the following things should be considered by an agency depending on the modernization option/tactic employed.


Modernization tactic

When is this approach applicable & key factors to consider while planning the modernization exercise

Re-host

  • Minimal or preferably no changes required to functionality or UI to re-host programs
  • Target platform is scalable and offers the desired performance levels
  • New platform addresses all security vulnerabilities and offers stronger security features
  • And of course, the new platform ensures a significant reduction in total cost of ownership (based on my experience, it should be at least 30%)

Re-write/Re-engineer

  • There is a way to understand what the existing system does (either through existing documentation or analysis of source-code & creation of documentation or through business users/SMEs)
  • Business rules are not expected to undergo major changes
  • Target technology offers scalability and is easy to maintain
  • If tools are selected to automate migration then they should ensure comprehensive coverage (i.e. not miss out on any code or functionality), optimize code base (e.g. remove dead code) and create target code in industry standard frameworks (like Spring)
  • Design for the new UI is in place and signed-off by business users

Replace

  • Fit-gap analysis has been executed and the selected COTS package supports most of the functionalities (between 80% to 90%) out-of-the box
  • COTS package has a clear upgrade path and will be able to keep up with changes in requirements/technology upgrades
  • COTS package is compatible with other systems and can easily exchange information
  • All the cost elements have been identified to calculate the total cost of ownership (e.g., in addition to the license cost, maintenance cost, training cost etc.)

Retain

  • Services/functionalities that would be exposed as APIs exchange important information with other systems and can also be accessed through mobile devices
  • APIs have been developed using technologies/framework that can scale with increasing workload
  • SLAs have been defined and monitored for the APIs 

 

Modernization execution

Executing a modernization program requires agencies to focus on multiple things - technology, implementation approach, governance, program management, change management, and communication. Before executing the program, agencies should ensure that:

  • Modernization team - project manager, business POC, system architect, data architect, test manager, configuration manager etc. - is in place
  • Fundamental principles that will guide decision making have been defined and agreed to by all the stakeholders
  • Change management plan has been defined
  • Metrics to track and measure progress have been identified
  • Training plan has been defined
  • Plan to decommission old application is defined and signed-off by all the stakeholders

The pace of change driven by the digital imperative has made the selection of the implementation approach very important.

Modernization happens in phases (or releases) and is a continuous journey. The right implementation approach balances predictable and timely execution with the agility to adapt to changes. It breaks down the entire program into small, manageable pieces, ensures effective management of those pieces, keeps all the key stakeholders engaged and facilitates rapid adoption of the new system.

Here are some key elements that an agency should consider while choosing the right approach to execute its modernization program.

  • Solution roadmap - Define a basic minimum scope (also called minimum viable product in the product development world) for each phase. If using a COTS product, the product roadmap of underlying platform needs to be incorporated into planning for releases
  • Constraints - Identify all the constraints - regulatory, funding, skillsets/staffing, etc. - early on in the planning cycle and create remediation strategies that minimize the impact of these constraints on each release.
  • User adoption - Allow for adequate time between releases to manage the learning curve of users, encourage feedback, and facilitate adoption.
  • Post release support - An elevated level of support is required during and after any production release.  Business subject matter experts must work hand in hand with the technology team during the stabilization period.
  • Data migration approach - Minimizing the need to maintain data in multiple systems is key to successfully executing modernization programs. When it cannot be avoided, agencies should be aware of and should have a strategy to de-risk data corruption issues.
  • Execution methodology -The methodology for design, development, testing and implementation can either be waterfall, agile or iterative. Traditional waterfall methodology provides more control but increases the risk of late surprises. True agile, however, requires significant investments from an agency in tools and user training. The iterative approach offers the best of both the worlds (i.e. waterfall and agile) - it offers speed of execution and at the same time provides enough headroom to incorporate changes and get stakeholders' buy-in.

You can refer our point of view, Delivering large IT programs - Choosing the right implementation approach, for more details on selecting the right execution approach.

 

Testing

Agencies understand the need to comprehensively test the systems before taking them live. However, they fail to execute this effectively. Many things may go wrong like, incorrect testing approach, inadequate testing, long cycle time, or lack of integration between systems etc. Not only do agencies need to ensure that the right systems are tested at the right time but also that the testing cycle keeps up with the development cycle. This becomes even more important if an agency uses an agile or an iterative approach.

Agencies need to define and execute their testing strategy based on what they modernize (e.g. application, database or infrastructure). The diagram below maps testing types with modernization approaches.


Figure6 - Testing for different modernization programs.png

Figure 1: Testing for Different Modernization Programs


Agencies can accelerate testing by amplifying human effort with automated toolsets from organizations like HP or IBM. Such tools not only accelerate various phases of the testing cycle like design, execution and reporting but also ensure comprehensive coverage. For example, we have used tools like GenTuf to automate test case creation based on the UML model created as part of the modernization initiative. This enabled us to accelerate the testing process by up to 30% and helped our client build a case to adopt automation and DevOps.

Read part 4 to learn how to deploy modern systems, ensure adoption and manage modern systems.

May 24, 2018

Modernizing Legacy IT into IT of the Future: Part 2 - Understanding legacy systems

In part 1 of this series, I discussed the key characteristics of modern IT systems and the various approaches for building such systems - Re-host, Re-write/Reengineer, Replace, Retain.

In this blog, I'll discuss how can an agency understand its legacy system better, and how should it choose the right 'R' to modernize it.

How to determine and execute the right 'R(s)'?

An agency may have to execute one or all of the Rs to transition to a modern IT system. And, this happens across the following six phases:

  • Assessment & deconstruction of legacy landscape
  • Modernization planning
  • Modernization execution
  • Testing
  • Organizational change management and user-training
  • Deployment
  • Managing modern systems

Agencies can execute all these phases faster and at a lower cost and risk by leveraging automation.  The figure below illustrates the major components of this approach and the potential savings that could be realized.


Figure3 - Accelerating Modernization with People and Software.png

 Figure 1: Accelerating Modernization with People + Software

 

Assessment & de-construction of the legacy landscape

Agencies should have a clear understanding of what their future landscape looks like, what should be the baseline architecture of their IT systems, and the technologies they intend to use. This understanding will help them identify appropriate modernization option for an application.

An agency should analyze its existing applications against a set of questions & criteria, some of which may include:

  • What's the existing IT landscape like i.e., # of legacy applications, what do these applications do, types of hardware & software, number of technologies that have been used to write applications?
  • What business processes use these different applications and how do these processes and applications interact? What would happen in case there is a change in application and/or the business process?
  • What data elements/data sets are used across different IT systems, where do they reside, how are they accessed? How will they change (type, format etc.)
  • What network infrastructure is being used for data exchange and service delivery? How do these things interplay i.e., what's the impact of data / data volume & processing requirements on network infrastructure & vice-versa?
  • Who uses these applications? What would be the impact on these users in case of a change?
  • What does the final state look like - technologies, hardware/software, business processes etc.?

Once this analysis is done, an agency will have an understanding of the gaps between the current and the to-be landscape. Based on this, an agency can define which applications should be modernized, how should they be modernized and when should they be modernized.

Agencies can accelerate execution of this step through tools like:

  • Knowledge-curation tools that help an agency quickly and accurately understand how a system works. Such tools analyze the entire system portfolio; extract and store operational, workload, interface and code data; and present this data in a meaningful way (e.g. what-if analyses, correlation models between code and issues/logs, critical business paths etc.)

 

 

Figure4 - Sample output from a knowledge-curation tool.png

Figure 2: Sample output from a knowledge-curation tool

 

  • Portfolio rationalization tools help an agency analyze the entire portfolio based on multiple criteria in a matter of hours, and enable the agency to prioritize applications for modernization.

 

Figure5 - System Rationalization Framework.png

 Figure 3: IT Systems Rationalization Framework

 

Read part 3 to learn how to plan, execute and test modernization programs.


May 23, 2018

Modernizing Legacy IT into IT of the Future: Part 1- Key characteristics of IT systems of the future

Over the last few months, I have had multiple discussions with many of our public sector clients about legacy modernization. Almost everyone is aware of the different approaches that can be used to build modern systems. However, everyone had different thoughts on when to choose a particular approach and how to execute it.

I thought of summarizing all our views and creating a reference document that agencies can use when they plan their modernization journey.

Given how vast this topic is and how quickly things change, I thought of creating a blog instead of a whitepaper. And to manage this better, I thought of breaking it into different aspects as below:

  • Part 1
    • Key characteristics of IT systems of the future
    • 4 'Rs' to transition from legacy IT to IT systems of the future
  • Part 2
    • How to determine and execute the right 'R'?
    • Proven approaches to understand the legacy IT landscape better
  • Part 3
    • Key things to consider for each modernization approach/tactic
    • The right approach to execute the modernization journey
  • Part 4
    • Successfully deploying the modernized systems & ensuring adoption
    • Practical approaches to manage modern systems

Since this is the first blog in the series, let me quickly summarize why modernization has become important and the different approaches that can be used to build modern systems.

 

Government IT systems of the future should be:

  • Hybrid - Systems will consist of multiple, loosely coupled components that could either be on premise or on a cloud, and connected by APIs
  • Modular - The entire landscape will be modular so that any capability could be easily added or upgraded allowing agencies to adapt quickly to changing requirements
  • Smart - Components/modules would be able to process and analyze different types of structured and unstructured data, generating insights that would enable an agency to deliver personalized and consistent services across channels
  • Shared - And, agencies will realize the benefits of sharing common components among themselves to optimize operations and cost

 

Figure1.png


Figure 1: IT Systems of the Future

 

Modernization is a multi-level, multi-step journey

Building such a landscape is a journey that happens at multiple levels and has many pit-stops.

  • Modernization @ multiple levels: A typical modernization journey involves modernization of a) software (i.e., code, business logic), b) data, c) hardware and networks, e) business processes, and d) people (organizational change management)
  • Modernization pit-stops: Modernization happens in phases. An agency may have some assets (applications, processes, data, hardware etc.) that are already modernized, some which are being modernized and some which may still be legacy. These assets may be interacting with each other and used by the same set of people. So, when an agency plans for modernization, it should plan regular pit-stops to take stock of what the ecosystem looks like, ensure all the systems are talking to each other, and course-correct, if needed.

 

Figure2.png


Figure 2: Evolution of Legacy IT Systems to IT Systems of the Future

 

4 'Rs' to make the transition from legacy IT to IT systems of the future

Agencies can use the tactics below to modernize their legacy IT systems into the IT systems of the future, and eventually retire their old systems:

  • Re-host - Migration to another platform. Customizations and the functionalities are not changed, only the underlying hardware is modernized
  • Re-write/Reengineer - Reengineer application to a modern language that can create a path for next-gen architecture
  • Replace - Switch to a completely new system - generally a Commercial Off the Shelf system
  • Retain - No modification imposed on the functionality or existing platform. To enhance the application functionalities, features such as APIs and micro services are enabled on top of existing landscape.

Read part 2 to learn how to choose the right 'R' for modernizing legacy systems.