Navigating the COCOMO II Principles: A Journey Through Software Maintenance

Mar 22, 2024 | Portfolio Governance Navigating the COCOMO II Principles: A Journey Through Software Maintenance

Imagine you're an architect, not of buildings, but of the digital world, crafting intricate structures made not of brick and mortar, but of code and logic. Just as a traditional architect must consider the longevity and maintenance of their creations, so must you, in the ever-evolving landscape of technology. The task at hand is akin to maintaining the structural integrity of a structure in the face of relentless elements, where the elements are the ceaseless advancements in technology and the shifting sands of user needs.

Journey into the heart of software maintenance

In the domain of software, maintenance is an odyssey—a continuous journey rather than a destination. This journey is charted through the waters of COCOMO II (Constructive Cost Model – Post Architecture), a beacon that guides us in estimating the ideal level of effort required to keep our digital edifice not only standing but thriving. As we set sail, consider a vessel navigating through the vast ocean, where the ocean is the software ecosystem, and our vessel is the application in need of upkeep.

Picture an application—a consumer lending platform, a vessel crafted from 177K lines of Java code, setting sail through the digital sea. Over the past 12 months, the crew (development team) has dedicated an average maintenance effort of 20%, excluding evolutive maintenance, to keep the vessel seaworthy. Amidst these efforts, the ship has seen changes to 10% of its structure (added/modified lines of code) to adapt to new challenges and demands.

This vessel is not manned by novices but by seasoned sailors with an average experience of three years, navigating through calm and storm with a mere 5% change in crew annually. The organization at the helm of this venture operates with the precision and expertise of a CMMi level 4 entity.

As our journey progresses, we assess the vessel's agility and elegance—key indicators of its ability to adapt and navigate through the ever-changing seas. With a Software Agility score of 91.6 and a Software Elegance of 84.3, our vessel ranks in the 1st quartile, signifying its readiness to swiftly pivot and its streamlined complexity, making it a formidable contender against the relentless waves of change.

From observation to action

Upon charting the course through CAST Highlight’s lens, we find our vessel manned by 2.0 FTE (Full-Time Equivalent) sailors, each contributing to the vessel's upkeep by modifying/adding approximately 8.1 lines of code per day. However, with the aid of CAST Highlight’s guidance, we uncover the potential to enhance efficiency, where a leaner crew of 0.9 FTE could achieve an even greater feat—18.9 lines of code per day. This revelation not only shines a light on optimizing our crew but also beckons us to reconsider the allocation of our resources across the fleet.

Recorded Software Maintenance Recommended Software Maintenance
2.0 FTE 0.9 FTE
Representing 8.1 lines of code being modified/added for maintenance purpose, in average per FTE per day Representing 18.9 lines of code being modified/added for maintenance purpose, in average per FTE per day

Result Interpretation

Application Level
The recommended maintenance effort calculated by CAST Highlight can be compared with the recorded maintenance effort (as indicated by the application owner through the survey). Depending on the positive or negative gap between recorded and recommended values, you may decide to extend the maintenance team size (probably because the application health and/or the organizational context require more people to support the software maintenance effort) or to reallocate resources to other applications when necessary.

Portfolio Level

At a glance, you can see the opportunity of a resource rationalization or reallocation initiative by looking at the number of applications for which you should increase or decrease the maintenance effort

CAST Highlight - Software Maintenance Portfolio - one
 
CAST Highlight - Software Maintenance Portfolio - two
 

Charting the Course Forward

As captains of this digital fleet, we stand at the helm with a clearer vision, empowered by the insights derived from our journey through the realms of COCOMO II and CAST Highlight’s analysis. With the recommended maintenance effort serving as our north star, we are equipped to make informed decisions—whether to bolster our crew to meet the demanding seas of maintenance or to streamline our efforts, reallocating our precious resources to where they are needed most in our vast fleet.

In the grand tapestry of software maintenance, each application, each line of code, is a thread woven with purpose and precision. It is through understanding, analysis, and strategic action that we ensure the longevity and health of our digital creations, guiding them through the tumultuous waters of technological advancement and change.