Software Quality Journal

, Volume 18, Issue 2, pp 227–268 | Cite as

SPDW+: a seamless approach for capturing quality metrics in software development environments

  • Patrícia Souza Silveira
  • Karin Becker
  • Duncan D. Ruiz
Article

Abstract

Among the key factors for the success of a metrics program are the regularity of metrics collection, a seamless and efficient data collection methodology, and the presence of non-intrusive automated data collection tools. This paper presents the software process data warehousing architecture SPDW+ as a solution to the frequent, seamless, and automated capturing of software quality metrics, and their integration in a central repository for a full range of analyses. The striking features of the SPDW+ ETL (data extraction, transformation, and loading) approach are that it addresses heterogeneity issues related to the software development context, it is automatable and non-intrusive, and it allows different capturing frequency and latency strategies, hence allowing both analysis and monitoring of software metrics. The paper also provides a reference framework that details three orthogonal dimensions for considering ETL issues in the software development process context, used to develop SPDW+ ETL. The advantages of SPDW+ are: (1) flexibility to meet the requirements of the frequent changes in SDP environments; (2) support for monitoring, which implies the execution of frequent and incremental loads; (3) automation of the complex and time-consuming task of capturing metrics, making it seamless; (4) freedom of choice regarding management models and support tools used in projects; and (5) cohesion and consistency of the information stored in the metrics repository which will be used to compare data of different projects. The paper presents the reference framework, illustrates the key role played by the metrics capturing process in a metrics program using a case study, and presents the striking features of SPDW+ and its ETL approach, as well as an evaluation based on a prototype implementation.

Keywords

Software quality metrics Software metrics analysis and monitoring Metrics data warehousing Metrics repository Software development environments 

Notes

Acknowledgments

The authors wish to thank the reviewers for the valuable insights and comments provided in earlier versions of this paper, as well as Rodrigo Coelho de Barros. This work was supported by HP Brasil Ltda., under HP Brasil/PUCRS agreement TA 07 HP 001/03.

References

  1. Alonso, G., Casati, F., Kuno, H., & Machiraju, V. (2004). Web services—concepts, architectures and applications. Berlin: Springer.MATHGoogle Scholar
  2. Barros, R., Ruiz, D., Tenório Junior, N., Basgalupp, M., & Becker, K. (2008). Issues on estimating software metrics in a large software operation. Proceedings of 32nd Annual IEEE Software Engineering Workshop (SEW-32), (pp. 152–160). IEEE Computer Society Press.Google Scholar
  3. Becker, K., Ruiz, D., Cunha, V., Novello, T., & Souza, F. (2006). SPDW: A software development process performance data warehousing environment. Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop (SEW-30), (pp. 107–118). IEEE Computer Society Press.Google Scholar
  4. Berry, M., & Jeffery, R. (2000). An instrument for assessing software measurement programs. Empirical Software Engineering, 5(3), 183–200.MATHCrossRefGoogle Scholar
  5. Boehm, B., Valerdi, R., Lane, J., & Brown, A. (2005). COCOMO suite methodology and evolution. The Journal of Defense Software Engineering, 4, 20–25.Google Scholar
  6. Casati, F., Castellanos, M., Dayal, U., & Salazar, U. (2007). A generic solution for warehousing business process data. Proceedings of VLDB 2007, (pp. 1128–1137). ACM Press.Google Scholar
  7. Casati, F., Castellanos, M., Dayal, U., & Shan, M. (2006). A metric definition, computation, and reporting model for business operation analysis. Proceedings of the International Conference on Extending Database Technology (EDBT), (pp. 1079–1038). ACM Press.Google Scholar
  8. Castellanos, M., Casati, F., Shan, M., & Dayal, U. (2005). iBOM: A platform for intelligent business operation management. Proceedings of the 21st International Conference on Data Engineering (ICDE 2005), (pp. 1084–1095). IEEE Computer Society Press.Google Scholar
  9. Castellanos, M., Salazar, N., Casati, F., Dayal, U., & Shan, M. (2006). Predictive business operations management. International Journal of Computational Science and Engineering, 2(5–6), 292–301.Google Scholar
  10. Chulani, S., Ray, B., Santhanam, P., & Leszkowicz, R. (2003). Metrics for managing customer view of software quality. Proceedings of the 9th International Software Metrics Symposium (METRICS’03), (pp. 189). IEEE Computer Society Press.Google Scholar
  11. Eman, K., Melo, W., & Drouin, J. (1997). SPICE: The theory and practice of software process improvement and capability determination. Los Alamitos: Wiley-IEEE Computer Society Press.Google Scholar
  12. Emig, C., Weisser, J., & Abeck, S. (2006). Development of SOA-based software systems: An evolutionary programming approach. Proceeding of the Advanced International Conference on Telecommunications and International Conference on Internet and Web Applications and Services (AICT-ICIW’06), (pp. 182). IEEE Computer Society Press.Google Scholar
  13. Fleming, Q., & Koppelman, J. (2000). Earned value project management (2nd ed.). Newtown Square: Project Management Institute.Google Scholar
  14. Folleco, A., Khoshgoftaar, T., Hulse, J., & Seiffert, C. (2007). Learning from software quality data with class imbalance and noise. Proceeding of the 19th International Conference on Software Engineering and Knowledge Engineering (SEKE 2007), (pp. 487–493). ACM Press.Google Scholar
  15. Golfarelli, M., Rizzi, S., & Cella, I. (2004). Beyond data warehousing: What’s next in business intelligence? Proceedings of the 7th International Workshop on Data Warehousing and OLAP (DOLAP 2004), (pp. 1–6). ACM Press.Google Scholar
  16. Gopal, A., Mukhopadhyay, T., & Krishnan, M. (2005). The impact of institutional forces on software metrics programs. IEEE Trans. Software Engineering, 31(8), 679–694.CrossRefGoogle Scholar
  17. Grigori, D., Casati, F., Castellanos, M., Dayal, U., Sayal, M., et al. (2004). Business process intelligence. Computers in Industry, 53(3), 321–343.CrossRefGoogle Scholar
  18. Han, J., & Kamber, M. (2001). Data mining: Concepts and techniques. San Mateo: Morgan Kaufmann.Google Scholar
  19. Hassan, G. (2001) Designing concurrent, distributed, and real-time applications with UML. Proceedings of the 23rd International Conference on Software Engineering (ICSE’01), (pp. 1059–1060). IEEE Computer Society Press.Google Scholar
  20. Herbsleb, J., & Moitra, D. (2001). Guest Editors’ Introduction: Global Software Development. IEEE Software, 18(2), 16–20.CrossRefGoogle Scholar
  21. Kan, S. (2003). Metrics and models in software quality engineering. New York: Addison-Wesley.Google Scholar
  22. Kaner, C., & Bond, W. (2004). Software engineering metrics: What do they measure and how do we know? Proceedings of the 10th Intl. Software Metrics Symposium, Metrics 2004, Press.Google Scholar
  23. Khoshgoftaar, M., Allen, E., Jones, W., & Hudepohl, J. (2001). Data mining of software development databases. Software Quality Journal, 9(3), 161–176.CrossRefGoogle Scholar
  24. Khoshgoftaar, T., Hulse, J., & Seiffert, C. (2006). A hybrid approach to cleansing software measurement data. Proceeding of the 18th IEEE International Conference on Tools with Artificial Intelligence, (ICTAI 2006), (pp. 713–722). IEEE Computer Society Press.Google Scholar
  25. Kimball, R. (1998). Data warehouse toolkit. Indianapolis: Wiley.Google Scholar
  26. Krogdahl, P., Luef, G., & Steindl, C. (2005). Service-oriented agility: An initial analysis for the use of agile methods for SOA development. Proceeding of the IEEE International Conference on Services Computing (SCC’05), (pp. 93–100). IEEE Computer Society Press.Google Scholar
  27. Marjanovic, O. (2007). The next stage of operational business intelligence: Creating new challenges for business process management. Proceedings of the 40th Hawaii International Conference on System Sciences (HICSS’07), (pp. 215–225). IEEE Computer Society Press.Google Scholar
  28. Nagappan, N., Ball, T., & Zeller, A. (2006). Mining metrics to predict component failures. Proceeding of the 28th International Conference on Software Engineering, (pp. 452–461). IEEE Computer Society Press.Google Scholar
  29. Navathe, S., & Ahmed, R. (1993). Temporal extensions to the relational model and SQL. In S. Navathe & R. Ahmed (Eds.), Temporal databases: Theory, design and implementation (pp. 92–109). Bridge Parkway: Benjamin/Cummings.Google Scholar
  30. Nayak, R., & Qiu, T. (2001). A data mining application: Analysis of problems occurring during a software project development process. International Journal of Software Engineering and Knowledge Engineering, 15(4), 647–663.CrossRefGoogle Scholar
  31. Palza, E., Fuhrman, C., & Abran, A. (2003). Establishing a generic and multidimensional measurement repository in CMMI context. Proceeding of the 28th Annual NASA Software Engineering Workshop (SEW-28), (pp. 12–20). IEEE Computer Society Press.Google Scholar
  32. PMI-Project Management Institute. (2004). A guide to the project management body of knowledge (PMBOK Guide). Newton Square: Project Management Institute.Google Scholar
  33. Pressman, R. (2004). Software engineering. New York: McGraw-Hill.Google Scholar
  34. Ruiz, D., Becker, K., Novello, T., & Cunha, V. (2005). A data warehousing environment to monitor metrics in software development processes. Proceeding of the 1st International Workshop on Business Process Monitoring & Performance Management (BPMPM 2005), (pp. 936–940). IEEE Computer Society Press.Google Scholar
  35. SEI-Software Engineering Institute. (2006). CMMI for Development Version 1.2. www.sei.cmu.edu/pub/documents/06.reports/pdf/06tr008.pdf.
  36. Sheetza, S., Hendersonb, D., & Wallacea, L. (2009). Understanding developer and manager perceptions of function points and source lines of code. Journal of Systems and Software, 82(9), 1540–1549.CrossRefGoogle Scholar
  37. Silveira, P. (2007) A service-oriented ETL process for a software quality management environment. (Processo de ETC. Orientado a Serviço para um Ambiente de Gestão de Qualidade de Software). Master’s thesis, PUCRS, Brazil.Google Scholar
  38. Subramanyam, V., & Sharma, S. (1999). HPD—query tool on projects historical database. Proceeding of the 2nd Software Engineering Process Group Conference (SEPG’99), (pp. 1–14). Addison-Wesley SEI Series.Google Scholar
  39. Valetto, G., Helander, M., Ehrlich, K., Chulani, S., Wegman, M., & Williams, C. (2007). Using software repositories to investigate socio-technical congruence in development projects. Proceeding of the 4th International Workshop on Mining Software Repositories (MSR’07: ICSE Workshops 2007), (pp. 25). IEEE Computer Society Press.Google Scholar
  40. van der Aalst, W., Reijers, H., Weijters, A., van Dongen, B., Alves de Medeiros, A., et al. (2007). Business process mining: An industrial application. Information Systems, 32(5), 713–732.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Patrícia Souza Silveira
    • 1
  • Karin Becker
    • 2
  • Duncan D. Ruiz
    • 1
  1. 1.Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)Porto AlegreBrazil
  2. 2.Quality Knowledge Ltda.Porto AlegreBrazil

Personalised recommendations