Virtualization Technology News and Information
VMblog Expert Interview: System Soft Technologies Talks Outsourced Application Development


VMblog recently sat down with Sreedhar Veeramachaneni, founder and CEO of System Soft Technologies, to discuss, as we start a new year, how the shortfall in application development skills can be addressed, and why enterprises are increasingly choosing to outsource their application development requirements.

VMblog:  Which application development skills are in short supply, and why?

Sreedhar Veeramachaneni:  Application development used to be based on a technology stack closely aligned to a single device and an associated user experience. Also, 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 diverse variety of devices and interfaces, for example browser, mobile, wearables, chat, text to name a few. Moreover, they must work with and complement artificial intelligence systems - which are often cloud-based - and which "learn" and improve functionality and insights.

So unfortunately, architecture skills will be in short supply 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.

For good reason, software development is undertaken to support a user journey and deliver an innovative user experience. What is happening in the world of digital transformation is morphing to expand the expectations of users who may be consumers, prospects, employees or business partners, and expectations are sky-high.

There is another fundamental difference between the applications of yesterday and those of today:  a wide range of user consumption variability that is difficult to predict and respond to. Web views, mobile app downloads, content-heavy user experiences are all very difficult to predict as regards capacity and consumption of application resources. And so, 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. The net result is an explosion in the application development outsourcing market, as enterprises seek to remain competitive even though they may not have the skillset or budget to develop the apps they need to continue being so.

VMblog:  But isn't it too risky to outsource application development rather than continue to keep it in-house?

Veeramachaneni:  That truly depends on the integrity and partner philosophy of who the outsource vendor is. 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, this capability is exactly what the customer is buying.

However, today's systems are often built with an agile methodology where functional iteration during software development is the norm, not the exception. So, it's imperative that knowledge management processes be "baked into" the work plan, communications strategy and relationship structure between outsourced vendor and customers.

Customers may want their vendors to own the design, build and run the 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. 

VMblog:  What budgets are companies setting aside to meet their ADaaS demands?

Veeramachaneni:  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 of budget to buy outsourced development services, as 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 outsourced application development, and, there are many. 

First, there's technology strategy and architecture evolution, which provides the tools and platforms that companies use to build the application and data services required to meet employee and customer demands, but which 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.

Digital marketing technology, employee collaboration, personalization, artificial intelligence, IoT and robotic process automation have moved from "interesting" to "critical" to many organizations. The adoption of these new technologies correlates to the pace of change for the business. The greater the pace of change, then the greater the allocation of budget to outsourced application development. 

Then, there's consumption variability - where the 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, which aligns well with outsourced development.

Finally, there's corporate finance strategy - where some industries prefer capitalization (e.g., utilities) to pay for application development services, while some prefer to pay with operating expenses (e.g., retail). Outsourced application development is usually priced in a way with those that prefer operating expenses, and moreover, using an outsourced model enables greater flexibility to align operating expenses with revenue. Effectively, this means that more customers mean more need for outsourced development, which in turn means more revenue to pay for it.

VMblog:  Can outsourced application development help drive DevOps?

Veeramachaneni:  For sure, and the positive business results of this are not uncoincidentally similar to DevOps, specifically the: 
  • Ability to deliver more reliable code
  • Faster time to design, build and deploy
  • Agility to meet dynamic business demands
  • Resiliency and scalability
  • Better user experience due to higher application availability and stability
  • Outsourced resources can be scaled to drive more rapid and higher frequency code releases.

Customers should look for outsourced vendors who have deep experience with DevOps and look for the engagement and/or relationship construct to include knowledge transfer in association with specific project requirements.

DevOps configuration needs should be defined as a complement to traditional business and technical requirements and could include provisioning regulations, database instances, network addressing and the arrangement of software instances. Either define the DevOps tool chain skills required by the vendor, or look to the ADaaS relationship to support the strategy and design of DevOps, including definition of deployment processes independently from development processes.

VMblog:  Why is the ‘no-code/low-code' development growing, and what's driving it?

Veeramachaneni:  Providing non-programmers with a visually Integrated Development Environment (IDE) might be viewed by IT leadership as scary. But, there is immense business value and added agility that arises when less technical resources can use drag-and-drop application components, connect them together and create applications with less or no code. 

No-code/low-code isn't just about moving work from one part of an organization to another. There is substantial productivity, enhanced agility and time savings that arise as well. No-code/low-code tools and environments will not replace the need for programmers. In fact, demands will increase for programmers to build code and also for non-programmers to use no-code/low-code too. And, the pace of digital transformation, the need to integrate applications and data, more complex architectures and the fluid nature of competition will drive demand for both.

They are not competitive platforms. They are complementary. Even with all that said, there is a more supply-demand and macro reason why there will be no-code / low-code growth. The U.S. Bureau of Labor Statistics expects software development jobs to grow by 24% through 2026. The gap between the demand for programmers and supply is expected to exceed 1.5 million jobs by 2020.

Therefore, the need to employ less-technical approaches to build software where programmers are complementary and not critical to the development is critical to bridge the labor gap. But most importantly, no-code/low-code is being employed to meet the rigors and fluid nature of organizational competitiveness, so growth will continue and expand.

VMblog:  What's the biggest change we expect to see in application development outsourcing in 2020?

Veeramachaneni:  Greater adoption and increased vendor integration will be the biggest changes to positively impact the growth of application development into the future. Similar to - and enhanced by - the cloud, it's quickly moving from a "suspect" to "validated" as a means for organizations to build and deploy technology solutions at the speed required by competitive forces. 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 which drive 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. Back in the day, there was a mindset that technology (infrastructure, applications, data and people) was either on-premises or it was 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. But now the ubiquity of the cloud has changed all that.

VMblog:  Is it possible for application development outsourcing to be a lever to transform business operations and/or results?

Veeramachaneni:  For sure. The bigger the ship, the more difficult it is to change direction, of course, but the pace of change with technology is unrelenting. New tools and platforms are delivered, improved and commercialized for broad adoption every day. Many companies look to ADaaS as a means of addressing skills gaps and capacity limitations to select, design and integrate technology that can transform the business. 

Vendors that provide outsourced application development services may have numerous project credentials and a scaled team of resources with experience on these new technologies. As such, risks can be reduced by leveraging people who have "been there and done that". Furthermore, these vendors can (and should) focus on knowledge transfer so that the ability of organic resources to also deliver transformative business capabilities grows over time.

VMblog:  How can technologists and the business leaders they support prepare for and leverage outsourced application development?

Veeramachaneni:  Preparation is not a difficult challenge if working 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, etc.) aren't on-site. Moreover, tools should be employed to ensure that collaboration occurs with the frequency to guarantee transparency of delivery and knowledge transfer. 

Leveraging outsourced application development should be a byproduct of two potential requirements:  capacity and capability. Simply put, these are the primary reasons that these services may be a viable "solution" for most organizations. Capacity gaps may exist due to spikes in demand for technology services, which could arise due to global expansion, business growth, acquisition or strategic initiatives that eclipse internal availability of resources.

On the other hand, capability gaps often arise as new technology and platforms become critical to execute business transformation initiatives, yet internal knowledge and abilities are limited.  Whether driven by gaps in capability or capacity, outsourcing does provide the ability to enable technology and business transformation.

VMblog:  How does cloud impact application development outsourcing?

Veeramachaneni:  Cloud enables application development outsourcing along two dimensions. First, the stability and acceptance of cloud services has strengthened organizational acceptance that cloud-based services can be levered and scaled with a low risk profile and viewed as a seamless and secure extension of internal resources. 

Second, the cloud provides a palette of technology and tools that are often greater than those maintained internally. Outsourced providers often maintain capabilities to exploit the cloud-based services that extend beyond an organizational knowledge base. As long as those cloud-based services are on the strategic roadmap and knowledge management is provided, then the cloud coupled with outsourced development allow organizations to engage with more transformational technology that delivers more innovative business services.


Published Monday, January 06, 2020 7:31 AM by David Marshall
Filed under: ,
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<January 2020>