Productivity and Software Efficiency post COVID-19

IFPUG Metric Views | Vol. 14th | Issue 2 - December/2020 - Author: Carlos Eduardo Vazquez
IFPUG Metric Views | Vol. 14th | Issue 2 – December/2020 – Author: Carlos Eduardo Vazquez

The context of software productivity and efficiency before and after the pandemic

First, a brief perspective of the economic context in which software development is included is needed to understand the space of productivity and efficiency after the effects of the COVID-19 pandemic.

After all, this environment played a critical role in digital transformation and the rise of Agile development practices, such as continuous development in contrast to the classic design mindset, the use of SCRUM and Kanban.

Over the past decade (2010-2020), the United States has experienced unique growth in its monetary base. Then the COVID-19 pandemic further increased this monetary base in nations across the globe.

In the same period, digital transformation and agile software development have become a trend in business management and software development, because priorities have gradually shifted toward results by achieving "the next best thing" at all costs. After all, there's never been so much money available. However, no one can predict for sure how long this will last.

The axis of time in software efficiency

At first, shorter deadlines have been a key result for success in this context, so monitoring the time axis in efficiency management could not be disregarded. Therefore, in order to provide visibility and insight into the time efficiency in specific lead Time, Cycle Time and Reaction Time are frequently recommended metrics in agile development management.

The cost-benefit shaft in software efficiency

Although time is an important component of efficiency management, it is not the only one. Moreover, cost-benefit is another.

The idea is to maximize in general terms the return on investment (ROI) when determining which parties to deliver first; for example, a user story or a feature depending on the level of abstraction at which prioritization occurs. Therefore, agile software management addresses cost-benefit primarily in prioritizing product backlog at a lower level; or during roadmap planning at a higher level.

The axis of productivity in efficiency management

Productivity in software management is a third component for efficiency management. Some references include the unit price as a fourth component, although it is, no less than, a special case of productivity.

In any case, productivity in software management or unit price require quantifying the product in some way. And here's the gap, which should be addressed by the Administration at C-level and it's in this brave new world that we're all entering.

What is the purpose of measuring productivity in software management? When talking about Function Points, the first thing that comes to mind is to derive estimates. We want to know an average productivity, so that we can extrapolate the cost or effort required to deliver a certain amount of functionality or determine how much functionality fits in a budget or time window.

In addition to estimates

Function Point Analysis is deeply associated with its applications in estimates, although it has other much more critical purposes in the context in question, such as its applications in internal or external benchmarking.

In general in the context initially described, estimates play a much less important role than in other cases, because agile software prioritizes responding to change over following a plan; and interactions about processes and tools.

Why the theme of the article is important

First, every change has a time of experimentation and exploration. It is something like in a sandbox with a certain freedom to trial and error, because the volume invested does not promote greater concern with accountability, transparency and operational efficiency.

However, there comes a point in the development of this change, that some external mechanism of monitoring productivity in software management becomes an imperative.

For this reason, the article deconstructs the limitation of estimation as the sole or primary purpose of function points and places them as central elements in the quantification of products delivered even outside the context of a project, as is the case of continuous development, agile development with SCRUM or Kanban and digital transformation.

Additionally, it promotes questions about the level of information necessary for the measurement for the objectives mentioned and whether an approximation is not sufficient in view of the need to make the benefits of measurement compatible with the little documentation generally available.

When the theme of the article applies

Therefore, this article is useful when questioning costs. Similarly, it is also useful in tangibilizing production so that performance is comparable by different suppliers, models, teams. Finally, this article should arouse interest when seeking to improve operational efficiency without plastering development or innovation.