| Peer-Reviewed

Quantifying Software Quality in Agile Development Environment

Received: 30 June 2021    Accepted: 20 July 2021    Published: 24 August 2021
Views:       Downloads:
Abstract

Due to required efforts and the challenges involved in understanding the quantification of software quality, researchers have chosen varying quality attributes to describe the quantification of software quality. The degree of software quality is achieved from the standards and quality attributes at each development process: the adherence of software engineering principles towards realizing a product of good quality. In agile environment, the software engineering process ensures that qualities of interest are built-in and to produce software product with an acceptable level of quality. Thus, this study is aimed at quantifying six related software quality attributes. The specific objectives include identifying the software quality attributes, the design of the algorithm for measurement metrics, and to perform relational analytics of each attribute with respect to the software quality. The methodology followed an exploratory evaluation of measurement and metrics and their role in quantifying software quality in agile development environment. The study adopted existing metrics to quantify software quality attributes. Twelve opensource software projects were tested for 6 specific quality attributes and each result is quantified and presented. Results show that software number 2 (SW2) has a maintainability value of 6 minutes, 50% availability, and 0.62 reliability values. It implies that a high value of maintainability does not translate to high reliability. These values establish the relationship between attributes and enhances developers and users’ understanding of the software quality and its attributes.

Published in Software Engineering (Volume 9, Issue 2)
DOI 10.11648/j.se.20210902.11
Page(s) 36-44
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2024. Published by Science Publishing Group

Keywords

Software Quality, Measurement, Metrics, Attributes, Quantification, Agile

References
[1] Ikerionwu, C., Foley, R., & Gray, E. (2014). Improving software quality in the service process industry using agility with software reusable components as software product line: An empirical study of Indian service providers. International Journal of Advances in Engineering & Technology, 7 (3), 701.
[2] Boehm, B., Lane, J. A., Koolmanojwong, S., & Turner, R. (2014). The incremental commitment spiral model: Principles and practices for successful systems and software. Addison-Wesley Professional.
[3] Sommerville, I. (2015). Software engineering. 10th. In Book Software Engineering. 10th, Series Software Engineering. Addison-Wesley.
[4] Pressman, R. S. (2015). Software Engineering: A Practitioner’s Approach, 2000.
[5] Gilb, T. (2005). Competitive engineering: a handbook for systems engineering, requirements engineering, and software engineering using Planguage. Elsevier.
[6] Gorla, N., Somers, T. M., & Wong, B. (2010). Organizational impact of system quality, information quality, and service quality. The Journal of Strategic Information Systems, 19 (3), 207-228.
[7] Nakai, H., Tsuda, N., Honda, K., Washizaki, H. and Fukazawa, Y. (2016). A SQuaRE-based Software Quality Evaluation Framework and its Case Study. IEEE International Conference on Software Quality, Reliability & Security. 1-4.
[8] Ikerionwu, C., Gray, E., & Foley, R. (2013, September). Embedded software reusable components in agile framework: The puzzle link between an outsourcing client and a service provider. In Quality comes of age, The BCS Quality Special Group’s Annual 21st Software Quality Management (SQM) Conference, ISBN–987-0-9563140-8-6 (pp. 63-78).
[9] Fenton, N. & Bieman, J. (2014). Software metrics: a rigorous and practical approach. pp. 22-34 CRC press.
[10] Asthana, A. & Olivieri, J. (2009). "Quantifying software reliability and readiness," 2009 IEEE International Workshop Technical Committee on Communications Quality and Reliability, Naples, FL, 2009, pp. 1-6, doi: 10.1109/CQR.2009.5137352.
[11] Papamichail, M. D., Diamantopoulos, T., & Symeonidis, A. L. (2019). Measuring the reusability of software components using static analysis metrics and reuse rate information. Journal of Systems and Software, 158, 110423.
[12] Kupiainen, E., Mäntylä, M. V., & Itkonen, J. (2015). Using metrics in Agile and Lean Software Development–A systematic literature review of industrial studies. Information and Software Technology, 62, 143-163.
[13] IEEE, "IEEE Std. 1061-1998, Standard for a Software Quality Metrics Methodology, revision." Piscataway, NJ: IEEE Standards Dept., 1998.
[14] Tahir, A. (2015). A Study on Software Testability and the Quality of Testing In Object-Oriented Systems. University of Otago.
[15] Gunnalan, R., Shereshevsky, M and Ammar, A. (2005). Pseudo dynamic metrics [software metrics], The 3rd ACS/IEEE International Conference on Computer Systems and Applications, Cairo, pp. 117.
[16] Ikerionwu, C. (2010). Cyclomatic Complexity as a Software Metric. International Journal of Academic Research, 2 (3).
[17] Liu, X., Zhang, Y., Yu, X., & Liu, Z. (2018, June). A software quality quantifying method based on preference and benchmark data. In 2018 19th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD) (pp. 375-379). IEEE.
[18] Kapová, L., Goldschmidt, T., Becker, S., & Henss, J. (2010, June). Evaluating maintainability with code metrics for model-to-model transformations. In International Conference on the Quality of Software Architectures (pp. 151-166). Springer, Berlin, Heidelberg.
[19] Gediga, G., Hamborg, K. and Düntsch, I. (2015). Evaluation of Software Systems, Institut für Evaluation und Marktanalysen Brinkstr. 19, 49143 Jeggen, Germany, pp 1-5.
[20] Stoilova, K. and Stoilov, T. (2005). Software Evaluation Approach. Institute of Computer and Communication Systems – Bulgarian Academy of Sciences, pp 1-6.
[21] Sagar, K., & Saha, A. (2017). A systematic review of software usability studies. International Journal of Information Technology, 1-24.
[22] Behnamghader P., & Boehm B. (2019) Towards Better Understanding of Software Maintainability Evolution. In: Adams S., Beling P., Lambert J., Scherer W., Fleming C. (eds) Systems Engineering in Context. Springer, Cham. https://doi.org/10.1007/978-3-030-00114-8_47
[23] Misra, S., Akman, I. and Colomo-Palacios, R. (2013). A Framework for Evaluation and Validation of Software Complexity Measures, Department of Computer Engineering, Atilim University, Ankara, Turkey, 1-27.
[24] Alashqar, A. M., Elfetouh, A. A. and El-Bakry, H. M. (2015). ISO 9126 Based Software Quality Evaluation Using Choquet Integral. International Journal of Software Engineering & Applications (IJSEA), 6 (1), 111-121.
[25] Boehm, B. (2017, January). Evaluating Human-Assessed Software Maintainability Metrics. In Software Engineering and Methodology for Emerging Domains: 15th National Software Application Conference, NASAC 2016, Kunming, Yunnan, November 3–5, 2016, Proceedings (Vol. 675, p. 120). Springer.
[26] Liu, P. (2017). Testability Metrics for Software Behavioral Models. International Journal of Performability Engineering, 13 (8).
[27] Hristov, D., Hummel, O., Huq, M., & Janjic, W. (2012). Structuring software reusability metrics for component-based software development. In Proceedings of Int. Conference on Software Engineering Advances (ICSEA) (Vol. 226).
[28] Ardito, L., Coppola, R., Barbato, L., & Verga, D. (2020). A Tool-Based Perspective on Software Code Maintainability Metrics: A Systematic Literature Review. Scientific Programming, 2020.
[29] Kang, H. G., Lee, S. H., Lee, S. J., Chu, T. L., Varuttamaseni, A., Yue, M., ... & Li, M. (2018). Development of a Bayesian belief network model for software reliability quantification of digital protection systems in nuclear power plants. Annals of Nuclear Energy, 120, 62-73.
[30] Rizvi, S. W. A., Singh, V. K., & Khan, R. A. (2016). Fuzzy logic based software reliability quantification framework: early stage perspective (FL SRQF). Procedia Computer Science, 89, 359-368.
[31] Chen, C., Alfayez, R., Srisopha, K., Shi, L., & Boehm, B. (2016, November). Evaluating human-assessed software maintainability metrics. In National Software Application Conference (pp. 120-132). Springer, Singapore.
Cite This Article
  • APA Style

    Ikerionwu Charles, Nwandu Ikenna Caesar. (2021). Quantifying Software Quality in Agile Development Environment. Software Engineering, 9(2), 36-44. https://doi.org/10.11648/j.se.20210902.11

    Copy | Download

    ACS Style

    Ikerionwu Charles; Nwandu Ikenna Caesar. Quantifying Software Quality in Agile Development Environment. Softw. Eng. 2021, 9(2), 36-44. doi: 10.11648/j.se.20210902.11

    Copy | Download

    AMA Style

    Ikerionwu Charles, Nwandu Ikenna Caesar. Quantifying Software Quality in Agile Development Environment. Softw Eng. 2021;9(2):36-44. doi: 10.11648/j.se.20210902.11

    Copy | Download

  • @article{10.11648/j.se.20210902.11,
      author = {Ikerionwu Charles and Nwandu Ikenna Caesar},
      title = {Quantifying Software Quality in Agile Development Environment},
      journal = {Software Engineering},
      volume = {9},
      number = {2},
      pages = {36-44},
      doi = {10.11648/j.se.20210902.11},
      url = {https://doi.org/10.11648/j.se.20210902.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.se.20210902.11},
      abstract = {Due to required efforts and the challenges involved in understanding the quantification of software quality, researchers have chosen varying quality attributes to describe the quantification of software quality. The degree of software quality is achieved from the standards and quality attributes at each development process: the adherence of software engineering principles towards realizing a product of good quality. In agile environment, the software engineering process ensures that qualities of interest are built-in and to produce software product with an acceptable level of quality. Thus, this study is aimed at quantifying six related software quality attributes. The specific objectives include identifying the software quality attributes, the design of the algorithm for measurement metrics, and to perform relational analytics of each attribute with respect to the software quality. The methodology followed an exploratory evaluation of measurement and metrics and their role in quantifying software quality in agile development environment. The study adopted existing metrics to quantify software quality attributes. Twelve opensource software projects were tested for 6 specific quality attributes and each result is quantified and presented. Results show that software number 2 (SW2) has a maintainability value of 6 minutes, 50% availability, and 0.62 reliability values. It implies that a high value of maintainability does not translate to high reliability. These values establish the relationship between attributes and enhances developers and users’ understanding of the software quality and its attributes.},
     year = {2021}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Quantifying Software Quality in Agile Development Environment
    AU  - Ikerionwu Charles
    AU  - Nwandu Ikenna Caesar
    Y1  - 2021/08/24
    PY  - 2021
    N1  - https://doi.org/10.11648/j.se.20210902.11
    DO  - 10.11648/j.se.20210902.11
    T2  - Software Engineering
    JF  - Software Engineering
    JO  - Software Engineering
    SP  - 36
    EP  - 44
    PB  - Science Publishing Group
    SN  - 2376-8037
    UR  - https://doi.org/10.11648/j.se.20210902.11
    AB  - Due to required efforts and the challenges involved in understanding the quantification of software quality, researchers have chosen varying quality attributes to describe the quantification of software quality. The degree of software quality is achieved from the standards and quality attributes at each development process: the adherence of software engineering principles towards realizing a product of good quality. In agile environment, the software engineering process ensures that qualities of interest are built-in and to produce software product with an acceptable level of quality. Thus, this study is aimed at quantifying six related software quality attributes. The specific objectives include identifying the software quality attributes, the design of the algorithm for measurement metrics, and to perform relational analytics of each attribute with respect to the software quality. The methodology followed an exploratory evaluation of measurement and metrics and their role in quantifying software quality in agile development environment. The study adopted existing metrics to quantify software quality attributes. Twelve opensource software projects were tested for 6 specific quality attributes and each result is quantified and presented. Results show that software number 2 (SW2) has a maintainability value of 6 minutes, 50% availability, and 0.62 reliability values. It implies that a high value of maintainability does not translate to high reliability. These values establish the relationship between attributes and enhances developers and users’ understanding of the software quality and its attributes.
    VL  - 9
    IS  - 2
    ER  - 

    Copy | Download

Author Information
  • Department of Software Engineering, Federal University of Technology, Owerri, Nigeria

  • Department of Software Engineering, Federal University of Technology, Owerri, Nigeria

  • Sections