The advantages and risks of outsourcing application development [Q&A]
As the IT skills shortage continues -- and organizations consider strategies to meet the shortfall -- outsourcing application development to experts is becoming a reality. But why are those skills outsourced, and what are the potential risks of outsourcing?
We spoke to Sreedhar Veeramachaneni, CEO and founder of System Soft Technologies, a Florida-based IT products, services, and solutions company focused on helping organizations optimize their IT processes and infrastructure.
BN: Which application development skills are in short supply, and why?
SV: Application development used to be based on a technology stack closely aligned to one and only device and an associated user experience. Applications were fairly data-static, meaning that specific data inputs and outputs were well defined and consistent. But today’s applications are quite different as they must adapt to and support user experiences that span a variety of devices and interfaces.
Moreover, they must work with and complement artificial intelligence -- often cloud-based -- as systems 'learn' and improve functionality and insights. In short supply are the architecture skills to create the application development environments that allow code to be shared across different modalities, leverage cloud-based AI, and integrate with disparate and evolving data sources.
There is another fundamental difference between the applications of yesterday and those of today: there is a wide range of user consumption variability that is difficult to predict and respond to. Web views, mobile app downloads, and content-heavy user experiences have capacity and application resource consumption requirements that are all very difficult to predict. As such, application development skills and the corresponding technology stack must align to, and support, operational functions that are typically the province of non-programmers, such as containers, micro-segmentation, autoscaling, and load balancing. Therefore, application development skills must adapt to and support a more diverse and complex set of the objectives that include user experience (UX) and user interface (UI), artificial intelligence, Big Data, containers, load balancing and infrastructure scaling.
BN: Isn't it too risky to outsource development rather than continue to keep it in-house?
SV: That truly depends on the integrity and partner philosophy of the outsource vendor. A good line of questioning for an outsource vendor should focus on their experience and process model for how they enable knowledge transfer to their clients. The best vendors actively design an exit strategy into their project approach from day one. They are vigilant about ensuring that the work outsourced and knowledge gained is actively communicated back to the client for subsequent takeover.
Technology employed via application development outsourcing is often beyond in-house capabilities and is reliant on tools, techniques and architecture that is beyond the 'sweet spot' of internal resources. In some cases, the capability is exactly what the customer is buying. However, today’s systems are often built with an agile methodology where functional iteration is the norm, not the exception. As such, it is imperative that knowledge management processes be 'baked into' the work plan, communications strategy and relationship structure between application development service provider and customers.
Customers may want their vendors to own design, build, and run functions, but most contracts are not (and should not be) signed in perpetuity. Options should always exist for transfer of ownership and responsibility from vendor to customer. Regardless of accountability for design, build, and run, it is the responsibility of the customer (not the vendor) to set the tone and demand knowledge transfer, collaboration, documentation and transparency. In so doing, the risks are reduced and the options are expanded.
BN: What budgets are companies setting aside to meet their application outsourcing demands?
SV: They aren't setting aside a specific and fixed budget. That said, it may be part of the budgeting process to allocate a certain percentage towards outsourced development services, driven by dynamic factors impacting the business and the IT strategy. A better question may be: "What are the variables and criteria that impact the budgets for application development services?" I see three main areas here.
Firstly, with technology strategy and architecture evolution, the tools and platforms that companies use to build the application and data services required to meet employee and customer demands have always been fluid. But never so much as today. New technologies, platforms, cloud-based delivery models of infrastructure, software and data are allowing companies to forge new frontiers of innovation and better meet the demands of new business models and fluid geographic expansion.
Secondly, there's also consumption variability, where end-user consumption of services from prospects, customers and employees that spawn from innovative digital business strategies is very difficult to predict. New business models, customer support services and global fluidity make it very difficult for IT leadership to predict and budget for infrastructure, application development services and network. One way to handle this variability is to employ a 'scale and rent' approach.
Finally, there's corporate finance strategy, where some industries prefer capitalization (such as the utilities sector) to pay for application development services and some prefer to pay with operating expenses (such as the retail sector). Outsourced application development services are usually priced in a way with those that prefer operating expenses.
BN: What's the biggest change you expect to see in application development outsourcing in 2020?
SV: I expect greater adoption and increased vendor integration will be the biggest changes to positively impact the growth of these services into the future. Many companies have always looked at external resources to complement organic capabilities for specific projects, strategic direction and staff augmentation. That trend will only increase as more and new technology challenges arise, driving organizations to look for external capability or capacity.
Increased vendor integration will arise as a result of the acceptance of cloud services as a seamless extension of internal infrastructure and capability. Years ago, there was a mindset that technology (infrastructure, applications, data and people) was either on-premises or not. Perhaps there were VPN and networked connections from internal systems to shared services, but the world of IT was basically binary, meaning that everything was defined as internal or not. The ubiquity of the cloud has changed all that, and therefore, application development outsourcing is just a natural extension of the other 'as-a-service' capabilities that are enabled by the cloud and customer acceptance.
BN: How can technologists and business leaders they support prepare for application development outsourcing?
SV: Preparation for application development services is not a difficult challenge if enterprises work with the right vendor because the services they provide, and the delivery model, is based on a seamless and collaborative approach. It should be unimportant that some resources (people, tools, infrastructure, for example) aren’t on-site. But tools should be employed to ensure that collaboration occurs with frequency to guarantee transparency of delivery and knowledge transfer.