Open Access Library Journal
Vol.02 No.06(2015), Article ID:68443,8 pages
10.4236/oalib.1101561
Tool Proposal for Software Process Assessment Using ISO/IEC 15504
Marcelo Pérez Ramos1,2, Margarita Mondragón Arellano1,2, César Velázquez Amador1,2
1Management Department, University Autonomous of Aguascalientes, Aguascalientes, Mexico
2Information Systems Department, University Autonomous of Aguascalientes, Aguascalientes, Mexico
Email: mjperez@correo.uaa.mx, mmondrago@correo.uaa.mx, vace555@hotmail.com
Copyright © 2015 by authors and OALib.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
Received 23 May 2015; accepted 8 June 2015; published 16 June 2015
ABSTRACT
In these days, there exist some maturity & capability models, standard methodologies and guidelines to help organizations to improve their processes and the way they work. In software area, there are Software Process Assessment Models like ISO/IEC 15504. This model provides guidance for assessing the organization’s capacity about software development and his maturity on implemented processes. Software Process Assessment models don’t provide systematic metrics for assessing the Software Process. Therefore, this process has to be performed by experienced assessors who use their own subjective estimations for quantitative measures or by using established metrics. This article presents a tool proposal designed for supporting the software process assessment and helps to determine the organization’s capability on his software development process from ISO/ IEC 15504 (SPICE) model perspective.
Keywords:
Software Process Improvement, Software Process Assessment, Assessment Tool
Subject Areas: Management Information Systems, Software Engineering
1. Introduction
When we talk about the quality of a product, we have to talk about the quality of the process used to build it, assurance on fulfillment of the activities performed in a software product development, the achievement of software norms and standards and the certainty on activities that are performed with expected levels and factors that strengthen reliability on an application’s performance and that fulfill the purposes for what it has been created. At this point, it can be said that the product is made with quality and the chance of meet some failure is reduced to good acceptance levels so the user can handle it.
Many industrial software organizations have done efforts to improve their software process, based on ISO/ IEC 15504 and CMMi approaches. In this order, they can improve the software quality by improving their capabilities and productivity on software development process by trying diverse approaches [1] - [8] .
The process assessment enables identification on process’s capability and based on previous assessments it can be expected a process improvement by identifying the strengths, weakness and risks of the process, so it can be prevented. This article presents a tool proposal for supporting the collection of results of applied metrics by experts assessors, analyzes and reports the capability level in which an organization is on the software development process.
2. Background
2.1. Software Process Improvement
Software development models have evolved in a radical way and with great speeds to meet the needs and requirements on the market, we can consider from waterfall model proposed by Royce in 1970 until recent agile methods like eXtreme Programming as one of the most used at present [9] .
Besides the evolution on software development process, one of the main approaches to search software product quality is software process improvement, in this sense; several models have been developed like CMM, ISO/IEC 15504 and CMMi, which have been focused on the determination of capability and maturity of process in software development organizations [1] [10] .
2.2. CMMI (Capability Maturity Model Integration)
CMMi is a maturity model which supports product development process improvement and it was developed by the Software Engineering Institute (SEI) at Carnegie Mellon University [1] . It’s the result of the study of the best practices on development and maintenance activities that cover the entire life cycle of the product, from conception until the delivery and maintenance. Its main purpose is to help organizations to improve their development and maintenance process on products or services.
This process model has evolved according the needs, improvements and additions made on the model. At this time, it’s defined the CMMi-DEV v.1.3 that encourages the development process [1] .
In addition, this model handles two representations: staged and continuous. The continuous representation offers maximum flexibility when a CMMi model is used for process improvement. The staged representation offers a systematic and structured way to get close to process improvements by establishing maturity levels, which eliminate interpretations on process improvements [1] .
Each process area defined in the model has the structure shown in Figure 1.
2.3. ISO/IEC 15504
This model helps in the assessment on maturity levels of implemented process inside organizations, process that meets models related to software’s life cycle [10] - [14] .
Those processes are organized on three categories (Table 1): Primary life cycle process, Organization life cycle process and Support life cycle process, which assure the entire cover of the organization.
The assessment of maturity process is made by identifying the present condition of the process to support the process improvement activities in the organization. Define a Process Assessment Model which supports the performance of an evaluation by providing guide indicators for the process’s purposes.
For capability dimension, process’s levels are expressed in terms of attributes grouping capability levels. At- tributes are process’s elements that can be assessed in an achievement scale, providing a capability process mea- sure and it can be applied to all processes.
Each process attribute describes a facet on the capability of handling and improving effectiveness of a process to achieve their purpose and to contribute to business goals in the organization. A capability level is a set of process attributes working together to give a bigger improvement on a process performance.
The levels constitute a rational way of progressing through capability process improvements and are defined on ISO/IEC 15504-2 [10] [11] [13] [14] .
There are six levels in the reference model [10] [13] :
・ Level 1. Made. The implemented process reaches his main purpose.
・ Level 2. Managed. The process is implemented and with a managed level which allows planning, monitoring
Figure 1. Process area’s components [1] .
and making adjustments. The work products are defined and established properly, controlled and maintained.
・ Level 3. Established. The process is implemented using a defined process and it’s able of achieve the expected results.
・ Level 4. Predictable. The process works with defined limits to achieve expected results.
・ Level 5. Optimized. The process is improved continuously to reach the relevant, present and projected business goals.
In addition, on each one of this levels are incorporated nine attributes defined on Table 2.
There are two types of indicators on process assessment: the process attributes indicators (applied to capability levels 1 to 5) and performance process indicators (applied exclusively to the first capability level).
Those indicators give examples of evidence an evaluator should get and watch through an assessment. The evidence get on the assessment, by observing the implemented process, can be mapped to the set of indicators to enable the correlation between the implemented process and the defined process in this assessment model.
The indicators give guidance to evaluators with objective evidence accumulation needed to support the capability judgments, but not pretending to be considered as a set of obligated considerations.
3. Software Tool (Spice Level Tool)
Exists in the market commercial tools for supporting the software process assessment, some are oriented for research purposes and some are oriented to be commercialized formally [5] [11] [14] . The proposed tool in this article was created on a spreadsheet, and requires no installations, just requires to be installed Microsoft Excel to work with it.
Software Metrics are not considered on the tool, so you can use any metric defined formally or created by you, giving the flexibility of using the metric you want. The tool is focused in supporting the collection of data thrown of the applied measures by the assessors.
Table 1. Process categories on ISO/IEC 15504 [10] .
Initially, the tool has a module where assessors can register their qualitative observations about evidence found for each base practice assessed and considered on process areas defined on ISO/IEC 15504 (Figure 2).
The information registered at this point will be used at the final report for constructing the suggestions for each base practice. The data is stored in the same spreadsheet, avoiding the need of external databases.
For quantitative results are used the module for attributes assessment (Figure 3). The application of different metrics throws numerical results that are registered at this module for each base practice and process area. The information collected in this module will be used to determine the capability level of the organization.
The quantitative information can be obtained by any metric instrument the user wants. The tool proposed doesn’t involve any specific metric, it just take the process from the capture of the results of metrics applied.
The results must be captured in a percent form, if metrics used throws another scale; results must be transformed by the user, so it can be captured by the tool proposed.
Once the evaluation’s information of all groups was registered, we can analyze the average status of each base practice individually (Figure 4).
The average tells us the level of capacity where the practice is (I) Incomplete, (R) Made, (A) Managed, (E) Stablished, (P) Predictable and (O) Optimized.
The tool marks with the number “1” the average level of each base practice.
Also we can analyze the graph for each process area to watch the tendency of the data collected and that shows the level of each base practice (Figure 5).
Finally we can visualize the global result by each process category; also we can read all the suggestions made by the assessors about the evidence found on each evaluated instance (Figure 6).
Table 2. Base practices attributes [10] [13] .
Figure 2. Process area’s components.
Figure 3. Capture attributes evaluation.
Figure 4. Base practice average status.
Figure 5. Graph of the average by base practice.
Figure 6. Global summary.
4. Conclusions
This article focuses on the tool proposal for software process improvement based on ISO/IEC 15504(SPICE) model because it’s a model oriented to self-assessment of software development organizations or with a software development area. One of the advantages is the design of the tool which is considered on common software tools as spreadsheet, in this way, is unnecessary software installations or other kind of data manager like database software.
Another advantage of this proposal is that no metric is implemented, so it’s independent of which metric is used or applied. It focuses on the collection of quantitative data thrown as a result of measurement methods or established metrics. Afterwards, the analysis is done and the reports are built. This reports show the results of the average of each base practice which reflects the average level of that practice in the organization.
At the end, the final report contains the whole suggestions by process area that the organization should work on to improve their own process, supporting the qualitative evaluation of the assessors.
Cite this paper
Marcelo Pérez Ramos,Margarita Mondragón Arellano,César Velázquez Amador, (2015) Tool Proposal for Software Process Assessment Using ISO/IEC 15504. Open Access Library Journal,02,1-8. doi: 10.4236/oalib.1101561
References
- 1. Software Engineering Institute (2010) CMMI for Development Version 1.3.
- 2. Gobernación, S.D. (2011) Declaratoria de vigencia de las normas mexicanas NMX-I-15504-3-NYCE-2011, NMX-I-15504-4-NYCE-2011, NMX-I-15504-5-NYCE-2011, NMX-I-12207-NYCE-2011 y NMX-I-059/02-NYCE-2011. Diario Oficial de la Federación, Secretaría de Gobernación.
- 3. Dorling, A. (1993) Software Process Improvement and Capability Determination. Software Quality Journal, 2, 16.
http://dx.doi.org/10.1007/BF00403764 - 4. Komi-Sirviö, S. (2004) Development and Evaluation of Software Process Improvement Methods. University of Oulu, ESPOO.
- 5. Garcia, I. and Pacheco, C. (2009) Toward Automated Support for Software Process Improvement Initiatives in Small and Medium Size Enterprises. In: Lee, R. and Ishii, N., Eds., Software Engineering Research, Management and Applications 2009, Vol. 253, Springer, Berlin, 51-58.
http://dx.doi.org/10.1007/978-3-642-05441-9_5 - 6. Hwang, S.M. and Kim, H.M. (2005) A Study on Metrics for Supporting the Software Process Improvement Based on SPICE. Software Engineering Research and Applications, 3647, 71-80.
- 7. Rodriguez, D., Harrison, R. and Satpathy, M. (2002) A Generic Model and Tool Support for Assessing and Improving Web Processes. 8th IEEE Symposium on Software Metrics, 141-151.
http://dx.doi.org/10.1109/METRIC.2002.1011333 - 8. Lok, R. and Walker, A. (1997) Automated Tool Support for an Emerging International Software Process Assessment Standard. Presented at the Proceedings of the 3rd International Software Engineering Standards Symposium.
http://dx.doi.org/10.1109/SESS.1997.595563 - 9. Pressman, R.S. (2010) Software Engineering: A Practitioner’s Approach. 7th Edition, McGraw Hill, New York.
- 10. ISO/IEC (1998) ISO/IEC TR 15504-2: 1998 Information Technology—Software Process Assessment.
- 11. Cass, A., Volcker, C., Sutter, P., Dorling, A. and Stienen, H. (2002) SPiCE in Action—Experiences in Tailoring and Extension. 28th Euromicro Conference, 352-360.
http://dx.doi.org/10.1109/eurmic.2002.1046215 - 12. El Emam, K. and Birk, A. (2000) Validating the ISO/IEC 15504 Measure of Software Requirements Analysis Process Capability. IEEE Transactions on Software Engineering, 26, 541-566.
http://dx.doi.org/10.1109/32.852742 - 13. Myung, H.S. and Gyun, Y.H. (2009) Analysis of Relationship among ISO/IEC 15504, CMMI and K-Model. 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing, 306-309.
- 14. von Wangenheim, C.G., Anacleto, A. and Salviano, C.F. (2006) Helping Small Companies Assess Software Processes. Software, 23, 91-98.
http://dx.doi.org/10.1109/MS.2006.13