Categories
Insights

Agility Outsourcing

When it comes to Outsourcing Business / IT applications, there are 2-3 models that CIO’s and IT leaders are most accustomed to.  These models are so well entrenched, that stakeholders seldom look for a better model.  It is not just IT leaders who are pushing these models, the entire IT Services industry continues to push these older models as they are profitable for their own businesses.  Given the rapid pace of change in Software / Tech industry, it is now time to rethink established Outsourcing models that Enterprises have relied on for years (decades really).

First, the basic definition of Outsourcing. By this, we clearly mean Outsourcing development of business applications (could also be legacy migrations, data management and many more projects).  Once stakeholders have determined that a project needs to be outsourced, it then becomes a question of finding the right vendor, timelines and budgets to get them executed.   Here I will not go into the details of coming up with Business Requirements, Request for Proposal and sourcing vendors, but focus more on Outsourcing as it relates to methodology, technology, timelines and budgets.

The most dominant models today are a) Fixed-cost model b) Time and Material model and c) Staff Augmentation model. The Fixed-cost model is easiest to grasp by business sponsors. They allocate budgets for different projects and assign project managers to execute on those.  While this model is tried and tested, there are many downsides.  Many of the details around project execution including architecture, technology stack,  development methodology and deployment practices are left to the vendors. Further downside to this model is you have to work with vendors change management processes.  Not paying attention to these downsides, would result in increased TCO over the long term.  

The Time and Material model of Outsourcing is also very well tested.  While difficult to get upfront estimates around total costs for their projects, it would at least give flexibility around change management.  However, all other downsides from Fixed-cost model still apply here.  The third model is simply Staff augmentation.  You would bring in technology consultants and put them under existing teams to speed up project execution. This is Outsourcing to the extent you don’t have to bring in people on a full-time basis and is closer to the Time and Material model and it also comes with the same set of downsides.

To address shortcomings with above models, there is a better model that I refer to as “Agility Outsourcing”.  This model is in part based on the best practices seen in Software companies to build their own products coupled with solutions to meet budgetary and time constraints of Enterprise Outsourcing.

Here are the key underpinnings of Agility Outsourcing:

  • Agile Development: Start with prototypes and continue to build on it.  Project features are released every 3-4 weeks (aka Sprints). Create a feedback loop from business users to continuously improve the project
  • Using Low-code platform:  Software companies rarely build anything from scratch. They leverage existing “libraries” and open source software to build their products. With a Low-code development platform, you only need to “compose” your application from existing widgets and connectors and finally auto-generate code for your projects
  • Application Architecture:  It is super important to have a micro-services based architecture that is API driven to reduce maintenance costs in the long run. Loosely coupled as opposed to tight coupling of various systems
  • Open Source Software: Use of freely available software and avoiding proprietary technologies that increases licensing costs in the short and long term
  • DevOps: Having Continuous Integration and Deployment (CI/CD) allows developed projects to be current and up to date all the time (no more launch dates)
  • Cloud Deployment: A considerable amount of savings is possible when your projects are deployed to either Private or Public Cloud

Business benefits of Agility Outsourcing:

  • Budget: This model should result in over 40%-50% cost savings over traditional Outsourcing. Most of the savings come from the use of Low-code platform for development and maintenance and the rest from underpinnings stated above
  • Timeline: Projects in this model would be executed 2x faster than existing models as this model is designed from the ground-up to be very iterative with continuous feedback loop from business stakeholders

The way to structure Agility Outsourcing project is to have a Statement of Work for the entire project with a plan for monthly Sprint deliverables and payments. Vendors who offer Agility Outsourcing should be able to give an estimate for total cost of the project if they have reviewed the project requirements.  With this model, sponsors not only have an overall estimate for the project, but also get flexibility if business needs change.  The real gain here are all the best practices and technologies used by Software Industry, benefitting outsourced projects.

Categories
Insights

Digital Transformation for CIOs

Practical Steps to Achieve Enterprise Digital Transformation

One of the most talked about things in IT industry these days is “Digital Transformation”. For CIO’s and IT decision makers, this means migration of their existing applications, built on legacy technologies that are so out of date, that they are afraid to tinker with them. While still others feel the need to catch-up to modern technology and leverage Cloud deployments for significant cost savings. If nothing else, their internal users and customers demand modern systems.  

The questions that CIO’s and IT leaders get stuck are along the lines: “How do I go about this Digital Transformation?”,  “Where do I start?”, “Which vendor do I pick for this transformation?”, “Which technologies should I bet on?”.  Read on to see some very straightforward ways to achieve your dream Digital-Transformation in your organization.  

Create a Request for Proposal

Start by putting together a RFP that captures the essence of your existing application (say legacy CRM system) and what you envision would be its most modern version (open source technologies, responsive design, deployed in the Cloud etc.)  In addition, you also need to come up with a rough timeline for execution of this project (month level accuracy is ok) and a rough budget for the entire transformation project.   Once you have created this RFP, it is time to source several vendors who can help you with this transformation (System Integrators, Platform Vendors, Industry Specialists, to name a few ).  Talk to your colleagues for references and fully leverage your procurement team for sourcing. Your procurement team can help send out this RFP and shortlist vendors based on high level criteria for meeting your timeline, references and estimated costs for Discovery and Implementation Phases (more on this shortly)

Evaluation Phase

The best way to pick a vendor (assuming several bidders) would be to put them through a “real test scenario”.  Create a Proof of Concept requirement document (POC) that you would want all vendors to execute in a short period (weeks, not months). Once POC is completed by the vendor, have them come to your office for a detailed discussion around their platform, technology, services and how they went about building your POC.  By comparing apples-to-apples, you will have a good sense of the vendor that is right for you.   Based on their performance at this stage and their cost estimates for the next three phases, you would be able to shortlist and select the vendor for your project.  This is also the time to negotiate a contract and deliverables for the next phase.

Discovery Phase

This is the phase, where the selected vendor would bring in their team of Business Analysts, Architects, and Designers and capture all your business and technical requirements.  On your end, you would have a Project Manager to manage various internal stakeholders, scheduling meetings, and approving documents captured by the vendor.  This is also the time to come up with improved workflows, discarding any sub-systems that are no longer needed as well as chalking out a long-term plan for maintenance and upgrades.  At the end of this Phase, ask the vendor for the final cost estimation for the Implementation and Maintenance Phases that are coming up next.

Implementation Phase

In this phase, your chosen vendor would work very closely with your IT and Business stakeholders as they gradually roll out the project according to a well-defined plan. This should not in any way disrupt your existing business. But at the same time, your vendor will start training and gradually bring your team on to the new platform.  It is critical that your users get accustomed to the new system, give feedback for improvements, and help vendors with business validations. If all goes well, you should have a new system that was well thought out, executed, tested, and now deployed in the Cloud.  

Maintenance Phase

You should have a vendor agreement in place by the end of the Implementation Phase for at least a couple of years of maintenance.  This phase would include adding new business requirements, workflows, or changes to the user experience based on feedback.  This Phase can be executed on a Time and Material model with the same vendor (or have a contract for say “100 man-days” for maintenance).  Also, as part of your contract with the vendor, ensure that you have all the licensing in place for any technology platform that they may have introduced.