Grappling with software complexity is a common challenge that software developers and engineers face during the development and maintenance of software projects. As software systems grow in size and functionality, they tend to become more intricate and harder to manage, said Sridhar Kalyan, MD & Country Manager - India & ASEAN of CAST while introducing the topic of a knowledge-powered Round Table Discussion held recently in Mumbai. The session was co-moderated by Hoshie Ghaswalla, CEO of BW Businessworld Engage.
Hence, in an attempt to unravel the knowledge hidden behind software complexities and on some best possible ways to tackle them, Businessworld & CAST brought together a few IT C-Suite leaders, who, in an insightful discussion, brainstormed about software complexities and how it impacts businesses. Spicing up the discussion a little more, the participants engaged in an intense discussion on the perils of cloud migration and also the pros and cons of exploiting an OSS system.
The Round Table (RT) discussion titled, “Overcoming Software Complexity through Software Intelligence: Ensuring Digital Transformation Success”, was certainly worth the time for the participants who learnt the nuances of software-led digital transformation. By proactively managing complexity and leveraging digital technologies strategically, organisations can position themselves for success in the evolving digital landscape. The RT, therefore, opened up a variety of those key strategies that are adopted by the CIOs and CTOs of the current digital era.
The Art Of Managing Software Complexities
Setting the context of the RT’s discussion, Kalyan opens a channel of thoughts for the participants to bring out their views on the software complexities while digital transformation inevitably takes place. One of the most transformative changes in software development is the shift from monolithic to microservices, which has added to the complexities. While monolithic architecture has been the traditional way of building applications for years, microservices have become increasingly popular over the past few years and we are slowly moving towards no code software. All these advances come with its own pros and cons, indicated Kalyan while he prompted his thoughts on this topic in the forum.
Kalyan then set the discussion rolling with the first question of the session. The question being, “What’s your take on the set of challenges in managing software complexity during continuous application modernisation & maintenance, and what strategies have you found effective in addressing them?”
Responding to this question, Ramesh Narayanaswamy, CTO, Aditya Birla Capital, said that a strong regulatory practice is the best way to reduce software complexities. “Following the new rule book will minimise errors in software development bearing in mind the outcome of the product that matches the current market requirements. Thus, a strong purpose-driven product, technology, and regulatory compliance can beat the software complexity to a great extent.”
Nikhil Chaturvedi, EVP & Global Chief Digital Officer, JSW Group, said, “Software complexity is here to stay. Especially for companies like JSW that grow both organically as well as inorganically. Most of the acquired companies come in with legacy software, which needs to align with the JSW’s software policy and system architecture. So, we follow a three-pronged approach to bring in uniformity, that encompasses technology, policy, and people awareness. The IT procured is expected to match JSW mandated standards and employees are trained on these standardisation protocols and regulations.”
Monish Parekh, Vice President of Technology, HDFC Life, opined that modernisation of software systems is a continuous process, but software needs to be built to last like for insurance products that run for 20-30 years with migration of the core systems is not easy. Also Insurance products require extensive data management, covering customer information, policy details, claims data, and financial records. Handling and storing this data securely and efficiently are crucial and complex. To tackle these challenges, we need to use strategies making core as light as possible and use new age systems and data platforms that lend itself to modern development methodologies, streamlines the delivery process and improve software quality.”
Deepak Bhosale, Associate Vice President, Asian Paints, has an interesting take. He said “As an IT leader, one needs to have the acumen of identifying the life cycle stages of technology and keep evaluating the same in terms of the value being delivered at each stage. I would in my mind have a 'Karma' Score for each technology within Asian Paints. The business expects innovations, agility, scalability, security, viability and reliability in all IT solutions getting delivered. Each technology delivers certain 'Karma' score on all these parameters and more. The moment I see a dip in the scores, it becomes a good reason for retiring a technical debt or refactoring the solution or giving way to something which comes with a potential of higher value. I guess such a scoring in some form helps IT leaders to always ensure the IT landscape is relevant, adding constant value and is aligned to business needs.”
Further, Voltas’ Head - Digital & CDO, Gyan Pandey affirms that software complexity is inevitable. He says, “Businesses these days are not just restricted to a single vertical. Today’s digital era offers the scope for businesses to branch out and foray other verticals and this branching out sets the complexity in place. Finally, it all settles down to the company’s core processes and culture, which also has an influence of end user adoption. Despite complexities, success in modernisation can only be felt when the end user is truly benefitted.”
Satish Patel, AGS Transact’s VP of Technology, said, “Software development is highly time and cost sensitive. Just by being on cloud will not help or just by being on Open Net will not help most applications. Integrating satellite applications into mainstream ones are definitely cost and labour intensive.”
Sharing another perspective to the question in line, VP & Head - Enterprise Applications of Sony Pictures Networks India, Sohil Mehta, said, “It is important to strike a right balance in the adoption of software that is available off-the-shelf against the bespoke software that is developed in-house. These days there are a lot of low-code, no-code applications available that push the need for transition from legacy software applications to modern applications. The enterprise apps that are core to the entire ecosystem needs to be taken into serious consideration with the peripheral supporting applications driving the business value. It’s also important to understand the dynamics of digital transformation with a whole gamut of tools like AI, ML, VR, AR, etc., which are the way forward for a business to transform effectively.”
Perils Of Cloud Migration
While cloud migration offers numerous benefits, it also comes with some potential challenges and risks. In this context the question posed to the participants was: Why is cloud migration more complex than what many organisations realise?
“I think when considering cloud migration, two common approaches for deploying applications and services are Bare Metal and Platform as a Service (PaaS). Each has its advantages and considerations, depending on the organisation's needs and resources. Some organisations may even adopt a hybrid approach, leveraging both options based on their various application workloads. When cloud doesn’t work, we have seen repatriation also occur and this can be primarily attributed to inefficient cloud operations,” responded Firstsource’s Bhavesh Lakhani.
Satish and Gyan co-expressed that although the ‘lift and shift’ approach of cloud migration strategy (where legacy applications are moved from on-premises infrastructure to the cloud without making significant changes to the applications' architecture or design) can be a quick and straightforward way to migrate applications to the cloud, it is not always the most efficient approach. Legacy applications are often designed to run on specific hardware configurations and may not fully utilise the cloud's scalability and elasticity. As a result, they may not take full advantage of the cloud and may end up incurring higher costs than necessary. Security is another big reason, they said.
On a lighter note, 3i Infotech’s Head of Digital Transformation, Rishi Agrawal’s take on this got everybody laughing. He said, “Cloud is a like #metoo movement. You ask anybody they would say that they are moving to cloud. But jokes apart, benefits of cloud may not just be its abilities to compute and store, but, the major requirement is the services and scalability.”
Speaking from a BFSI industry perspective, Monish Parekh, said, “Insurance-based offering are generally very time sensitive. This kind of sensitivity requirement and migration to cloud requires the right skillset, be it within the organisation and from the partner organisation as an augmentation to internal teams.”
Mitigating Opensource Software Risk Without Disrupting Developers
Opensource software (OSS) offers a wide range of advantages, but it also carries several developing concerns, such as IP licencing requirements, which carry a huge risk of infringement. Hence, the question arises on How to address software complexity arising from the use of Opensource components in an organisation's software development?
Responding to this question, Rishi Agrawal said, “Although OSS provides access to the source code, allowing developers to modify and customise according to our specific needs, there is this looming fear of facing consequences on using the IP of the source. Of course, the flexibility enables organisations to tailor the software to the desired requirements, but to pay for components used might not go very well.”
Sharing an experience from using an OSS for an enterprise application several years ago at HDFC Life, Monish Parekh, said, “Personally, I prefer to choose an OSS that provides a ‘hardened stack’ advantage offering a fortified application with good security. Combining Opensource with a hardened stack can provide a more secure and transparent software solution.”
Highlighting a pertinent point on OSS, Gyan Pandey indicated, “When a company decides to use OSS in its projects, it must carefully consider the implications for its IP rights. Integrating OSS into proprietary software or products can raise legal and licensing concerns.” The Indian arm of Sony Pictures, however, does not believe in touching the core IP-centric applications using any kind of OSS.
Justifying the abilities of OSS, Kalyan Sridhar said, “At most times OSS can provide significant advantages in terms of scale and speed for organisations that adopt it. These advantages stem from the collaborative and open nature of OSS development. That said, OSS can be effectively managed by building an automated control tower over the application to gain better visibility of its functioning.”
In Conclusion
To address software complexity effectively, developers and organisations must adopt a proactive approach. Good software design principles, backed by well-crafted regulatory policies and immaculate documentation, can help thwart a number of software complexities. Additionally, leveraging automated testing tools can further enhance the software's resilience against complexity-induced issues. Also, OSS and other development frameworks can play a vital role in alleviating complexity by offering pre-built solutions, reducing development time, and providing a vibrant community for support and knowledge sharing.