CASE: Code Quality
CLIENT: Itaú Unibanco Bank
SOLUTION: Eccox Quality Control for Cobol (EQC), Eccox Quality Control for DB2 (EQD), Quality Management for Governance (QMG)

AWARD: eFinance 2015

With the implementation of solutions for program inspection and the establishment of metrics, the bank increased its operational efficiency. 

Standardization in development has proved to be a feasible way of increasing quality and operational efficiency and reduce risks in the production environment. To maintain the rigorous high standard of its codes and ensure governance, Itaú Unibanco implemented the “Code Quality” project, which won the eFinance Award for 2015.

The bank was seeking a tool to include in the program development cycle and add quality to the process, avoid reworking, indicate improvements, and provide information on the evolution of excellence in the codes of each area. They bet on the automated inspection of programs and governance based on quality metrics. The return on the investment came within two years, with improved quality and related effects due to the gains achieved from the applications and problems avoided due to the use of adequate technologies. 

Itaú Unibanco chose Eccox from a group of competitors, mainly because of the company’s solutions for automated code inspection for mainframe environments (Eccox Quality Control for COBOL and Eccox Quality Control for DB2), which were integrated with the bank’s standard compilation tools, covering COBOL and DB2 programs. The possibility of gradual implementation and the addressing of exceptions was also taken into consideration. 

“The tool was chosen because it presented the best solution for the requested technical requirements. The study included cases of use, scope, adaptation to infrastructure, ease of implementation, and management of how the tool was to be used,” according to the superintendent of Itaú Unibanco, Igor Felippe Freitas.

Found in 80% of retail banks, Eccox estimates that large banks have over 300 thousand programs. This provides an idea of the volume of codes produced and the importance of having a management system that provides the indicators necessary for managing and correcting the route when needed.

With an investment of approximately R$4.4 million in software licenses, the project began in 2010 and is expected to be concluded by September 2016. The implementation was customized under the needs of Itaú Unibanco. In 2013, the code quality metric was implemented, based on the information generated by Eccox QC tools used as an input for the governance and ongoing improvement of the applications.

The R&D director of Eccox Software, José Ronaldo Martins, explains that one of the main challenges in implementing the project was its complexity and the fact that the operation of Itaú Unibanco is non-stop. This led Eccox to negotiate with each team and prepare a schedule without causing an impact on production.

The implementation was divided into three phases. The first aimed not to interfere in existing processes and served only to draw the attention of the developers to the discrepancies found in the program codes. The second restricted the movement to productive environments of new programs out of the established standards. This gradual implementation minimized the cultural impact and favored the developer, allowing him to adapt to the new processes.

The third phase, which began in January 2015, gradually enables total restriction and involves new and legacy programs. It also handles exceptions and the implementation of metrics associated with the goals of quality in the development of applications. It was necessary to integrate a governance solution capable of automatically measuring the gains and evolution of the quality of the environment to obtain these metrics. The result was Eccox QMG (Quality Management for Governance), which transforms data on code quality, evaluated by Eccox QC (Quality Control), into managerial information.

Wave-based strategy

According to Freitas, in the third phase, the strategy used in adopting the tool was wave-based. For each of the ten waves, rules restrictive to the compilation of COBOL and DB2 programs are being enabled. Thus, every code that is produced or altered is screened to comply with the regulations for quality. 

“And it was structured with an analysis of the restrictive rules in mind and the definition of the strategy for new and legacy programs, informing the enabling of each wave (of the implemented systems),” Freitas explains. 

The results identified by the superintendent of the institution include greater availability, more efficient processing and less time spent on maintenance. The project also increased efficiency, improving the quality of the source codes. Not only seeking to adapt to good market practices but also to optimize performance by permitting Itaú Unibanco to establish rules and standardized processes in the development of programs that support its business structure.

The standardization also involved hiring software factories, establishing standardized and easily measurable metrics based on their respective SLAs to ensure that the bank will have a high level of security, quality, and efficiency for the codes that are produced.

Automated control enabled over 400 code rules to be defined, established within four concepts: performance, standard, risk, and rework. Here, performance has to do with the operational efficiency of the codes; the standard is the standardization to reduce variability to mitigate risks of production and rework in addition to compliance.

According to the director of Eccox, this quality control, uniformity, and good practices in the program codes should be an ongoing process that is automatic and easily integrated into the development cycle of new and legacy programs. This whole process seeks not only to improve program performance but also to promote reduced costs by extending the life cycle, containing the use of machine resources, and rationalizing investments.

This is because the quality process works proactively, preventing problems in production. Currently, no compilation of programs that use COBOL or DB2 occurs without going through the quality filter. 

“The process is continuously evolving and controlling the programs that are developed and altered, with the best quality possible, focusing on efficiency and economy. It is a cyclical and continuous process,” Martins affirms.