Resource Allocation Strategies for Digital Transformation

by Jason E. Rollins

Organizations that embark on digital transformations quickly realize that their scarcest resource becomes the software engineers who are tasked with building their offerings. One effective way to allocate resources is to take a three-pronged approach:

  1. Focus your own engineers on developing market differentiating features and capabilities.
  2. Use external expertise to develop and integrate non-differentiating services that can’t be bought off the shelf.
  3. Use cost effective SaaS offerings for the rest.

Hybrid approaches of this sort are faster to develop, more differentiated, and better quality than those built entirely in-house. Businesses benefit from better alignment of budgets with market needs and higher satisfaction and engagement of internal teams.

Allocating Resources to Compete and Succeed

Digital Transformation
Companies basing their competitive advantage on digital capabilities regardless of industry or core business.
,
Cloud Migration
Move away from physical data centers to commercial cloud offerings encompassing storage and application capabilities in the form of IaaS, PaaS, and SaaS.
,
Containerization
Moving from large, monolithic, in-house software systems to a combination of multiple, rapidly deployed, containerized, custom microservices combined with commercial SaaS offerings.
, and
DevOps
Converting physically configured infrastructure to code and breaking the barriers between engineering and operations to accelerate support and maintenance.
are different aspects of the same overall business drive toward increased agility in hyper-competitive markets. To remain competitive, businesses must continually sharpen their differentiators and rapidly respond to market threats.

Successful companies have reacted to these market trends by reallocating their resources. Internal teams have been focused on the development of unique differentiators along with the stewardship and evolution of the overall solution. While necessary customizations such as integrations and non-differentiating features have been outsourced to complementary engineering firms that can work closely with in-house teams. Finally, SaaS solutions have been used to provide the remaining standard services that are commoditized and will not differentiate the offering but are necessary table stakes.

Optimize Your Resources to Fit Your Project Needs

As part of their digital transformation most companies have started to outsource basic capabilities to SaaS providers and many are reaching the point where they have outsourced most of the services they reasonably can. This is not, however, the end of the transformation journey. The next step is to outsource the development of services that cannot be purchased as SaaS, but need not be developed in house. With the right partner this is not only possible, it is desirable and advantageous.

Not every development effort will be the right fit for outsourcing to a development partner. But there are some common project characteristics that make it easier to identify when an outside team can help. Any software system can be divided into three broad tiers representing:

  • Commodity Services: Off-the-shelf, commercial software services delivering basic application functionality.
  • Customized Services: Necessary custom microservices that tie together commodity services and link them with differentiators.
  • Differentiating Services: Distinctive services that deliver the major unique features and functions of a business offering.

Image

The pyramid on the left shows the relative proportion of features in a typical solution that fall into the three categories—most features are commodities and only a few are truly differentiating. For example, a proprietary ad buying function for a digital music service is important, but will not differentiate the overall service unlike a recommendation service that could differentiate the offering. Similarly, a data analysis and insight pipeline would be valuable to a healthcare service provider, but would not differentiate their service unlike a patient-centric mobile application that could be the difference between success and failure in the market.

The inverted pyramid on the right shows the typical staffing allocation for the three categories. Most businesses already focus a significant number of in-house technical resources—the folks who know the details of your business—on the differentiating services that directly drive revenue and growth. But there are smarter ways to use the 15% of your development team focused on non-differentiating features.

Don’t Try to Do Everything Yourself

A few large businesses do all development work in-house but most businesses should opt for a more cost-effective approach. With 15% of software engineering resources dedicated to developing services that are important but not differentiators, businesses risk falling behind more focused competitors and diluting their overall value. Often, developing custom features that integrate off-the-shelf cloud services and internal systems while meeting specific business needs is essential to ensure successful digital transformation; this work is usually a good fit for outsourcing.

Even for companies with effective and mature processes the alternative to outsourcing is expensive and slow. Hiring, onboarding, and training new employees takes months and includes many additional costs (how many interviews will your hiring managers have to endure?). Independent contractors have the same recruiting and training issues, and someone has to worry about retaining and supervising these individuals.

Hiring a new team and training them to the same level of capability as staff currently focused on non-differentiating services would take many months and incur a large cost. Backfilling these existing staff with an embedded outsourced team will free up your internal experts now and set them to work on higher impact projects right away. Plus, developing unique and differentiating features is often some of the most rewarding and challenging technical work that will help to keep your top-performers engaged and committed to your business. The value of this should not be underestimated: how else can you get a highly-skilled team of your own staff to start work on new, high-value features, today?

Outsourcing Service Development

If you think you have the right project and want to outsource microservice development successfully, keep the following ‘Must-Dos’ and ‘Challenges’ in mind.

Must-Dos:

  • Identify service needs that are essential to your business success, cannot be bought off the shelf as a SaaS, but do not differentiate your service against your competitors.
  • Ensure the project has a well-defined timeline, budget, and scope. Insist on a preliminary rough design resulting in solid commitments from all project stakeholders.
  • Find a development partner experienced in your business domain and technology stack; reputable firms should be happy to provide references and examples.
  • Hire a firm that can provide in-person, high-touch engagement especially in the key early and closing stages of the project. Remote and distributed teams are fine, but meeting the people who will actually work with you is essential to building trust and setting up the engagement for success.

Challenges:

  • Having a committed internal team lead (often a product manager or engineering manager) is essential to knowledge sharing and overall project success. Moving most of your in-house team over to focus on differentiators while keeping a project lead with the development partner team can provide the optimal blend of outsourcing, knowledge transfer, and collaboration.
  • Development firms are typically paid from Capital expenditure budgets while in-house teams are paid from Operating expenditure budgets. When retaining a development firm, ensure there is budget flexibility and know who in your finance department to work with.
  • Beware of open-ended engagements where consultants ‘keep the meter running’ without accountability for deliverables tied to specific deadlines. At SPAN we have many satisfied clients who re-hire us multiple times because we make the effort to set expectations up front and then deliver on them.

Conclusion

Digital Transformation, Cloud Migration, Containerization, and DevOps are driving major shifts in solution development approaches. Smart companies have the opportunity to focus their scarcest resources on their most important and differentiating software development efforts while maximizing throughput with tailored help from outside experts. Here at SPAN, we have seen our clients quickly deliver significant differentiating features using this approach.