SOFTWARE ESTIMATION & PRODUCTIVITY

KNOW IN ADVANCE THE EFFORTS OF THE SOFTWARE DEVELOPMENT

WHAT IS SOFTWARE ESTIMATION?

An estimation model associated to the demanding management tool has the objective to know in advance the efforts of the software developments or the changes on these in IT departments.

ENTRANCES

The estimation models are held to a number of entrances which are defined according to the different industrial areas or the technologies used:

– Prior estimation of the size of developments or changes.

– Estimation of type and number of functional components: screens, batch processes, web services, etc.

IN DETAIL

FACTORS

The solution also has into account the factors conditioning the effort:

– Technical code quality. This information is obtained by analyzing and measuring the applications’ quality and security or its changes, carried out by checKing platform, which also calculates the complexity and volume metrics, intrinsic to each component.

– External code factors
, which interfere in its development, as: Business area, Supplier, Country… These factors are implicitly included in the solution through the applications’ classification and through the change information that the tool can obtain from tool internal forms or through the connection with requests/changes/releases control tools, supported by checKing’s standard integration API.

RESULTS

To suit the specific features of each application, the solution allows to measure the inputs and factors separately and, afterwards, to get the main values added by different criteria (languages, supplier, country…).

SOFTWARE PRODUCTIVITY

OPTIMYTH’s solution based on checKing platform allows to control those factors affecting the application productivity and suggests improvement efforts.

PRODUCTIVITY CONCEPT

The solution understands the productivity as the result of this simple equation below:

Productivity = Produced Product / Time

And it also contemplates in its model the control of production and the times alleged in production, thus, evenly, enable to monitor and compare the productivity among other developments and industry standards.

The proposed productivity model is based on various factors:

– Control of production, which is automatically analyzed by checKing in each delivery.
– Quality control of the deliverable, based on the controls implanted in the quality model. When talking about productivity, we must talk about the quality of the deliverables; if we don’t, the concept could be distorted.
– Control of creation time, including all the spent time, either with third integrations or manual imputations through checKing forms.
– Control of other factors of the lifecycle management, if any, and may be incorporated either by direct integration or by manual imputations.

CONTROL OF PRODUCTION

To calculate the productivity, it is vital to have some control of what is already produced. For this reason, the solution, besides establishing some minimum quality threshold in each delivery, analyzes a set of characteristics of the deliverable code:

– Function Points (FP)
– Lines of code (LoC)
– Percentage of duplicated code.
– Percentage of code comments.
– Percentage of dead code.
– Functional components and delivered devices map.
– Code quality indicators.
– Etc.

QUALITY CONTROL OF CODE DELIVERABLES

The quality model contemplates in its definition the different code deliverables. Crossing this information is vital to detect potential quality issues.

CONTROL OF SPENT TIME

The Solution must have the timing information of the different phases of developments lifecycle accessible, which can be done manually or by integration of the Solution.

With this time breakdown and crossing it with the different deliverables’ quality, conclusions and performance lines to improve the productivity can be drawn.

CONTROL OF OTHER SOFTWARE MANAGEMENT FACTORS

There are software management indicators that affect directly to developments productivity. Being able to have metrics about them helps clarify possible courses of action.

These factors can be:

– Nonconformities management.
– Project risks management.
– Iterations management in start of production.

INDICATORS

In the end, the following indicators, which help to control and create subsequent action plans on the development productivity, are computed:

– Quality indicators: LoC/day ratio, LoC/industry day ratio, Total deviation ratio, Intrinsic factors deviation ratio, Extrinsic factors deviation ratio…
– Time indicators: Percentage of total time in requirements phase, Percentage of total time in design phase, Percentage of total time in coding phase, Percentage of total time in testing phase, Percentage of total time in putting into production phase…
– Process indicators: Manages nonconformities ratio, managed risks ratio, Average number of iterarions for putting into production.

REFERENCES


BBVA, Línea Directa Aseguradora, Seguros Zurich, Verti, Reale, Sanitas, Ibermutuamur