A long time ago, Marc Andreessen, a cofounder and general partner at the venture capital firm Andreessen Horowitz, famously said “software is eating the world.” This has never been truer than today, when software runs everything and is part of everything. Software is set to eat the world, or at least take bigger bites out of the world as we know it—especially with the rise of AI.
However, the software industry is rife with challenges, including:
- The rise of low code/no code platforms
- Integration of artificial intelligence and machine learning into software development
- Demand for instant solutions
- Skill shortages
- Rise of paradigms such as DevOps and DevSecOps
- Requirements relating to security, privacy, efficiency, resiliency, etc., taking center stage.
The challenges are many and software development entities are struggling to catch up and keep up. Data indicates things are only set to get more interesting with the Electronics and Computer Software Export Promotion Council of India (ECS) Statistical Yearbook showing production of computer software and services during the year 2021-22 was estimated to be US$ 222 billion, registering a growth of 16.84 percent over the preceding year when the total production of computer software / services was estimated to be US$ 190 billion. Production of software and ITeS for the Indian market was estimated to be US$ 50 billion, registering a growth of 13.64 percent over the year 2020-21 when the domestic software/services production was estimated at US$ 44 billion(1).
All this means that today and in the long run, it will pay to focus on the processes involved in software development. This means not just a focus on processes, but also other aspects such as on-time completion, reduced variance in factors such as costs and timelines, improved productivity related to costs and customer satisfaction, and, last but not least, reduced defects, which impacts immediate customer satisfaction and improved maintainability over time.
Software development activities can achieve both internal and external goals in several ways. Considering the challenges previously mentioned and the innovation required for the future, software development needs a holistic approach. ISACA’s Capability Maturity Model Integration (CMMI®) model stands out.
CMMI has become the go-to framework globally and in India as the tool that can both effectively solve problems that have traditionally plagued software development, as well as meet future requirements. It includes industry best practices across eight domains—Data, Development, People, Safety, Security, Services, Suppliers and Virtual—making it a versatile model that can be easily adopted and customized. Over its 33-year history, CMMI has kept pace with the rapidly growing pace of technology and industry requirements, with the addition of core practice areas and across multiple domain-specific practices such as cybersecurity and data management. An initiative to also include artificial intelligence in the framework is in the works.
It has proven to be effective in driving significant growth for organizations, regardless of the specific performance objectives they choose to focus on. Organizations have achieved a wide range of advancements by targeting both specific enhancements and comprehensive improvements.
Importantly, this data shows that over the period from 2019 to 2023, companies adopting CMMI have consistently seen improvements in the following top five areas: 1) quality, 2) productivity, 3) schedule, 4) customer satisfaction, and 5) cost management, which are critical success factors/focus areas irrespective of whether your software development is for export or the Indian domestic market. Some of these improvements include:
- Schedule adherence: on-time delivery increased by 33%
- Schedule variance: schedule variance reduced by an average of 48%
- Productivity: development productivity improved by an average of 17%
- Quality: defect rate or density reduced by an average of 31%
- Customers satisfaction: improved by 13%
The onus is on IT organizations to be proactive and take advantage of measuring maturity, including through the approach provided by the CMMI model. By establishing a process architecture that enables and fosters persistent and habitual performance improvement, organizations in the software industry can realize increased customer trust and confidence to deliver solutions that meet requirements.
1)https://www.escindia.in/wp-content/uploads/2023/05/statistical-report-2022.pdf