Productive outsourcing within SaaS
How should one find the additional skills for a services offering? Rajesh Ranjan investigates
Does outsourcing in Software-as-a-Service (SaaS) make sense? There are multiple dimensions that need to be addressed in SaaS engineering and ecosystem, and these include multi-tenant architecture, performance, scalability and security.
Potential scenarios
• The engineering team is worried about the performance of a feature, only to be told later that it is seldom used, and though it is an issue it is not a priority for them.
• The product management and business teams have not been able to come to a solution on how they would like to have the metering and billing done – while the engineering team waits for this decision as it affects the core framework of the solution.
• The application is developed, tested and ready to be deployed – and then comes up against security and compliance issues – but the engineering team does not have the needed experience to handle them.
• The team is working on the next release and a priority bug surfaces in the application that needs fixing immediately as it affects the application transactions.
With increasing adoption of SaaS across various industry segments, products and their delivery models have evolved. Delivering new and innovative features has become implicit, while focus has shifted towards specialised services such as security compliance, enhanced performance, scalability, flexibility, multi-tenancy, product hosting and administration.
Delivering these services is time-consuming, but is a critical task that can have a huge impact on the product's cost and time to market. Moreover, due to increased competition, ISVs are reeling under constant pressure to innovate faster than before, while containing costs.
Also, special care needs to be taken while deploying SaaS-based applications for multiple downstream customers as the risk exposure is hugely magnified.
SaaS needs scale and this makes meeting these requirements a challenge. One solution is to have strategic partnerships with service providers that specialise in SaaS outsourcing to deliver value in a cost-effective way.
Take the case of large ISVs wanting to 'SaaSify' their existing products. Their challenges are quite different from those of small ISVs and startups. For example, from revenue interruption to customer data migration, their business challenges are as complex as their technical issues.
Taking a SaaS-based approach requires a paradigm shift in their business model. On the technical front, their major challenge is to re-architect their existing software – software that was never built to addresses the unique requirements of SaaS.
Challenges
• SaaS applications need to be online all the time and need monitoring round the clock.
• Validation needs to be automated to reduce the time and cost.
• A pool of configurable reports are needed so it can cater to a wide range of customers.
• More than the core functionalities – subscription, provisioning, metering, data privacy and audit trails – will need to be implemented and validated.
• The system performance needs to be tested with multiple tenants to ensure that commonly used scenarios are working within acceptable limits.
• Data exports for tenants (as part of contingency or escrow) need to be implemented and tested against leakage or contamination.
• Integration with third-party systems can be tricky. Some may be on-premise.
Does this sound familiar? It is difficult to find all these skills under one roof. Also, people working in different groups tend to go into silos. So how do you manage such situations?
While outsourcing seems to be the obvious solution, it's more important for SaaS companies to understand outsourcing as a specialised task, rather than a cost-cutting or work-reducing exercise.
ISVs need to identify their core strengths and get into strategic partnerships with specialised third-party vendors for outsourcing their non-core or high-investment activities.
Outsourcing in SaaS can play a critical role in the success of ISVs and other SaaS vendors. Outsourced service providers can complement the technical capability, have access to a large pool of talent and knowledge base, and can come up with service offerings that help mitigate engineering, operational and business costs.
Their expertise in SaaS frameworks, similar projects and agility to scale can be used effectively by ISVs to reduce the time to market and meet market expectations.
While small software product companies can save significant costs by outsourcing activities that involve high upfront costs and heavy investments, large software product companies can maintain focus on their core strengths by outsourcing non-core yet relevant activities such as test automation, performance engineering, security and compliance, metering, billing and sustenance to services providers.
Outsourcing helps ISVs to be more agile and responsive to the changing market requirements, and bring scalability and competitiveness to their business.
In SaaS, outsourcing doesn't mean reducing cost. It means getting the scale, tapping the right talent, adding the additional capability to the existing team and reducing time to market, without significant additional investment. Outsourcing goes beyond cost advantages and brings in flexibility.
It brings scalability and competitiveness, which are important in SaaS.
Rajesh Ranjan is programme director of product engineering services at MindTree