24 Aug 2015
Information and Communications Technologies
Implementation of ISO/IEC 29110 Standard to Improve the Quality of Services in an IT Startup in Peru
There are many ways to improve the quality of developed software products, but for very small entities, these solutions are, most of the time, too expensive to implement. This article reports the case of a very small Peruvian entity that has managed to inexpensively improve the quality of their developed hardware solutions: They have successfully implemented the ISO / IEC 29110 specifically designed to improve the quality of software products for very small entities.
The Peruvian very small entity (VSE), called Bit Perfect Solutions, selected to implement ISO/IEC 29110, was created in 2012 by two alumni of the UPC Software Engineering program. The company consists of four people and specializes in providing software development services and automation of business processes with information system solutions. It used agile practices to implement software solutions such as Web 2.0 responsive design systems, mobile applications (using the iOS platform, Android, Windows Phone, or Multiplatform), cloud applications (cloud computing) systems using emerging technologies, and platforms such as Microsoft Kinect, Leap Motion, and Oculus Rift. They also carried out design projects and developed hardware solutions that integrate electronics and software.
Implementation of ISO/IEC 29110
Implementation of the project management (PM) and software implementation (SI) processes of the Basic profile, illustrated in figure 1, started in 2013 with an initial coordination meeting, at which the commitment of management, the technical VSE team, and participating students were obtained. After analyzing the mandatory requirements defined by the standard, the authors performed a gap analysis of the VSE software development process versus the requirements of the standard. The requirements defined for the implementation of the Basic profile of the ISO/IEC 29110 are:
- Meet the entry conditions established in ISO/IEC 29110-4-1 (that is, the profile spécifications),
- Comply with the processes established by ISO/IEC 29110-4-1: Project -Management Process and Software Implementation Process,
- Comply with the process activities established by ISO/IEC 29110-4-1,
- Comply with the objectives of the processes set out in ISO/IEC 29110-4-1,
- Comply with the products listed in ISO/IEC 29110-4-1.
As a result of the preliminary analysis, it was determined that the VSE met the entry conditions of the Basic profile. However, after evaluating the activities, objectives, and work products of the standard, improvement opportunities were identified for each of these aspects.
A student project team from UPC (Universidad Peruana de Ciencias Aplicadas) in Lima, Peru was responsible for capturing and documenting how the VSE performs the activities of the software life cycle. The goal was to take, as a starting point, the current PM and SI processes of the VSE in order to identify the practices already used.
Meetings were held at which checklists were used — one checklist per process activity — to verify that the tasks of each activity, carried out by the VSE, contribute to the achievement of the objectives of its associated process. Similarly, the work products produced by the VSE were analyzed.
Processes were detailed by documenting each of their activities, roles, and input-output artifacts. Indicators and metrics, such as the number of change requests and the percentage of errors by the developer after testing software components, were also defined for both processes, in coordination with the VSE, so that it was possible to assess their execution and facilitate the continuous improvement of the processes of the organization. Finally, a traceability matrix was also created between each ISO/IEC 29110 work product and the documents and/or equivalent tools used by the VSE. At this stage, the VSE was ready to carry out the processes implemented in a real software development project for the first time.
Implementation of PM and SI Processes in a Real Project
The project selected was the Legal Consultation System (SCOLE). SCOLE is a software solution that facilitates communication between clients and legal consultants at one of the largest insurance companies in Peru. The solution had to be implemented on a Web platform and deployed into a cloud environment.
The definition of the tasks associated with each user story in the product backlog was carried out by the project team at the beginning of each iteration (that is, a sprint). The VSE had determined that the duration of a sprint would be one week. The project had six sprints.
At the start of each sprint, a planning meeting was held between the client and the project team to determine the user stories to be implemented. Tasks to implement the selected user stories were also defined and recorded in the VSE support tool. Each team member knew the tasks he or she was responsible for executing and implemented the required software components, taking into account the architectural design of the system. Unit test cases for components and functional user story test cases were created. There was a test environment in which the test cases were executed. All software components, test cases, test procedures, and user stories were linked through a traceability matrix. A subset of the traceability matrix for one user story is shown in Figure 2. The table illustrates the links, starting with one user story, to the tasks related to the user story, to the person responsible for the tasks, to the software component, to the test cases, and finally to the test results.
At the end of every sprint, a review meeting was held with the client, during which he or she could make comments or request changes. An interactive guide, which was the user manual along with the operation and maintenance manuals, was reviewed internally and then formally submitted to the client at the end of the project. The SCOLE project ended successfully with the delivery of the software product and other artifacts defined in the project contract.
The cost of quality approach was used to categorize the effort spent on the project (Krasner 1998). The prevention, execution, review, and correction efforts, measured in hours, required by the project team in order to implement the software solution are shown in Figure 3 (Laporte and O’Connor 2014).
The team effort to implement the project was 882 hours. The effort devoted to prevention activities such as installation of the environment (servers, tools, and so on) was 14 hours and task execution took 585 hours.
The rework percentage was 18 percent (that is, 159 hours/882 hours). It should be noted that it was the first time the VSE had executed the new processes in a real software development project, so there was a learning curve that resulted in additional hours spent on rework for different project tasks. Despite this situation, the result was close to the performance of an organization that has implemented the Capability Maturity Model (CMM®) and is at maturity level 3.
The implementation of the PM and SI processes directly impacted the rework percentage of the VSE. Many PM and SI tasks were optimized. These tasks not only contributed to the fulfillment of the ISO/IEC 29110 objectives, but they allowed the VSE to optimize its agile development process.
The implementation of ISO/IEC 29110 can provide levels of quality equivalent to those of other frameworks and does not require a major investment of resources and time. The success achieved by the VSE is an example of what can be achieved by other software VSEs in Peru, which are mostly micro-enterprises. The Peruvian VSEs could improve the quality of their products and become more competitive. ISO/IEC 29110 does not require excessive documentation or major investment of resources and time to implement.
As a final point, although the Peruvian startup VSE was successful in implementing ISO/IEC 29110, some VSEs may face a few challenges. As an example, a VSE that uses a low formalism approach such as agile should carefully assess the fit between the approach currently in use by the VSE versus the approach of ISO/IEC 29110. Also, since the published ISO/IEC 29110 guides and deployment packages provide process descriptions using a sequential notation, a VSE using an iterative or incremental approach may have some difficulties in mapping the PM and SI processes to fit its current software development approach.
We invite you to read the following research paper to get more information regarding this project:
Garcia, L., Laporte, C.Y., Arteaga, J., Bruggmann, M., Implementation and Certification of ISO/IEC 29110 in an IT Startup in Peru, Software Quality Professional Journal, ASQ, vol. 17, no. 2, pp16-29, 2015.
Luis Hernan Garcia Paucar
Luis Hernán García Paucar is a full-time professor at the School of Engineering Systems and Computing at the Universidad Peruana de Ciencias Aplicadas (Lima) where he is the coordinator of the Software Engineering program.
Claude Y. Laporte was a Professor of software engineering at ÉTS before retiring. He is the Project Editor of the systems and software engineering ISO / IEC 29110 standards for Very Small Entities developing systems or software products.
Jaylli Arteaga is a software engineer and a professor at the Universidad Peruana de Ciencias Aplicadas (UPC), and CTO and software architect at Bit Perfect Solutions.
Program : Software Engineering