Araştırma Makalesi
BibTex RIS Kaynak Göster

Hizmet Olarak Yazılım Uygulamalarında Teknik Borcun Kategorizasyonu

Yıl 2023, Cilt: 39 Sayı: 3, 446 - 462, 31.12.2023

Öz

Teknik borç (TB), genellikle daha hızlı kod teslimi için daha basit çözümler seçme veya kötü kararlar alma sonucunda ortaya çıkan durumları ifade eder. Sonuçta TB ödenir, ancak uzun vadeli maliyetler, kısa vadeli faydaları aşar. Bu nedenle, teknik borcun uygun bir şekilde tanımlanması ve yönetilmesi her yazılım geliştirme projesinde önemlidir. Yazılım alanında teknik borç kavramı literatürde kapsamlı bir şekilde incelenmesine rağmen, Hizmet Olarak Yazılım (SaaS) uygulamalarındaki TB göstergeleri oldukça sınırlıdır. Bu nedenle, bu çalışma, müşterilerine SaaS uygulamaları için destek sağlayan organizasyonlardaki TB göstergelerini ve başlıca kategorileri araştırmaktadır. Bu amaçla çalışmada, bir bağımsız SaaS ortağı olan danışmanlık şirketinde keşif amaçlı bir vaka çalışması gerçekleştirilmiştir. Bu kampsamda şirkette dokuz çalışanla görüşmeler yapılmış ve toplanan verilerin derinlemesine analizi ile SaaS uygulamalarına özgü başlıca teknik borç kategorileri belirlenmiştir. Sonuçlar, geleneksel yazılım uygulamalarındaki TB kategorilerinin ve sorunlarının SaaS projeleri için de geçerli olduğunu göstermiştir. SaaS'a özgü 15 TB kategorisi ile ilişkili 23 TB göstergesi tespit edilmiştir. Buna ek olarak, genel yazılım projelerinde de geçerli olacak 81 TB göstergesi, 23 kategori altında gözlenmiştir.

Kaynakça

  • [1] Kendall, J. E., & Kendall, K. E. 1993. Metaphors and methodologies: Living beyond the systems machine. MIS quarterly, 149-171.
  • [2] Cunningham, W. 1992. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2), 29-30.
  • [3] Kruchten, P., Nord, R. L., & Ozkaya, I. 2012. Technical debt: From metaphor to theory and practice. IEEE software, 29(6), 18-21.
  • [4] Codabux, Z., Williams, B. J., Bradshaw, G. L., & Cantor, M. 2017. An empirical assessment of technical debt practices in industry. Journal of software: Evolution and Process, 29(10), e1894.
  • [5] Tom, E., Aurum, A., & Vidgen, R. 2012. A consolidated understanding of technical debt, European Conference of Information Systems Proceedings, https://core.ac.uk/reader/301355650.
  • [6] Zazworka, N., Spínola, R. O., Vetro', A., Shull, F., & Seaman, C. 2013. A case study on effectively identifying technical debt. In Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering (pp. 42-47).
  • [7] Li, Z., Avgeriou, P., & Liang, P. 2015. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101, 193-220.
  • [8] Rios, N., Spínola, R. O., Mendonça, M., & Seaman, C. 2020. The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil. Empirical Software Engineering, 25, 3216-3287.
  • [9] Patidar, S., Rane, D., & Jain, P. 2012. A survey paper on cloud computing. In 2nd International Conference on Advanced Computing & Communication Technologies (pp. 394-398). IEEE.
  • [10] Sun, W., Zhang, K., Chen, S. K., Zhang, X., & Liang, H. 2007. Software as a service: An integration perspective. In Service-Oriented Computing Proceedings, 5, 558-569, Springer Berlin Heidelberg.
  • [11] Benlian, A., & Hess, T. 2011. Opportunities and risks of software-as-a-service: Findings from a survey of IT executives. Decision support systems, 52(1), 232-246.
  • [12] Gartner Press Release 2022, https://www.gartner.com/en/newsroom/press-releases/2022-10-31-gartnerforecasts-worldwide-public-cloud-end-user-spending-to-reach-nearly-600-billion-in-2023, (Access Date: 28.07.2023)
  • [13] Turner, M., Budgen, D., & Brereton, P. 2003. Turning software into a service. Computer, 36(10), 38-44.
  • [14] Vidhyalakshmi, R., & Kumar, V. 2014. Design comparison of traditional application and SaaS. In 2014 International Conference on Computing for Sustainable Global Development (INDIACom) (pp. 541- 544). IEEE.
  • [15] Cusumano, M. 2010. Cloud computing and SaaS as new computing platforms. Communications of the ACM, 53(4), 27-29.
  • [16] Chou, S. W., & Chiang, C. H. 2013. Understanding the formation of software-as-a-service (SaaS) satisfaction from the perspective of service quality. Decision Support Systems, 56, 148-155.
  • [17] Sadiku, M. N., Musa, S. M., & Momoh, O. D. 2014. Cloud computing: opportunities and challenges. IEEE potentials, 33(1), 34-36.
  • [18] Brown, N., Cai, Y., Guo, Y., Kazman, R., Kim, M., Kruchten, P., ... & Zazworka, N. 2010. Managing technical debt in software-reliant systems. In Proceedings of the FSE/SDP workshop on Future of software engineering research (pp. 47-52).
  • [19] Besker, T., Martini, A., & Bosch, J. 2017. The Pricey Bill of Technical Debt: When and by Whom will it be Paid?. 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).
  • [20] Suryanarayana, G., Samarthyam, G., & Sharma, T. 2014. Refactoring for software design smells: managing technical debt. Morgan Kaufmann.
  • [21] Falessi, D., & Kazman, R. 2021. Worst smells and their worst reasons. In IEEE/ACM International Conference on Technical Debt (TechDebt) (pp. 45-54). IEEE.
  • [22] Ramač, R., Mandić, V., Taušan, N., Rios, N., Freire, S., Pérez, B., ... & Spinola, R. 2022. Prevalence, common causes and effects of technical debt: Results from a family of surveys with the IT industry. Journal of Systems and Software, 184, 111114.
  • [23] Zazworka, N., Izurieta, C., Wong, S., Cai, Y., Seaman, C., & Shull, F. 2014. Comparing four approaches for technical debt identification. Software Quality Journal, 22(3), 403-426.
  • [24] Iuliia, G. 2017. Technical Debt Management. In Russion Software Development Companies. Master's Thesis. St. Petersburg University Graduate School of Management.
  • [25] Alzaghoul, E., & Bahsoon, R. 2013. CloudMTD: Using real options to manage technical debt in cloudbased service selection. In 2013 4th International Workshop on Managing Technical Debt (MTD) (pp. 55-62), IEEE.
  • [26] Klinger, T., Tarr, P., Wagstrom, P., & Williams, C. 2011. An enterprise perspective on technical debt. In Proceedings of the 2nd Workshop on managing technical debt (pp. 35-38).
  • [27] Nugroho, A., Visser, J., & Kuipers, T. 2011. An empirical model of technical debt and interest. In Proceedings of the 2nd workshop on managing technical debt, 1-8.
  • [28] Alves, N. S., Ribeiro, L. F., Caires, V., Mendes, T. S., & Spínola, R. O. 2014. Towards an ontology of terms on technical debt. In 6th International Workshop on Managing Technical Debt (pp. 1-7). IEEE.
  • [29] Ramasubbu, N., & Kemerer, C. F. 2016. Technical debt and the reliability of enterprise software systems: A competing risks analysis. Management Science, 62(5), 1487-1510.
  • [30] Mcconnell, S. 2008. Construx,. Available from: https://www.construx.com/resources/whitepapermanaging-technical-debt/. (Access Date: 23.08.2023).
  • [31] Fowler, M. 2009. Technical Debt Quadrant, Available from: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html. (Access Date: 31.07.2023).
  • [32] Kumar, S., Bahsoon, R., Chen, T., & Buyya, R. 2019. Identifying and estimating technical debt for service composition in SaaS cloud. In 2019 IEEE International Conference on Web Services (ICWS) (pp. 121- 125). IEEE.
  • [33] Agarwal, P. 2011. Continuous Scrum: Agile management of SAAS products. In Proceedings of the 4th India Software Engineering Conference (pp. 51-60).
  • [34] Liu, F., Tong, J., Mao, J., Bohn, R., Messina, J., Badger, L., & Leaf, D. 2011. NIST cloud computing reference architecture. NIST special publication, 500(2011), 1-28.
  • [35] Baxter, P., & Jack, S. 2008. Qualitative case study methodology: Study design and implementation for novice researchers. The qualitative report, 13(4), 544-559.
  • [36] Runeson, P., & Höst, M. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical software engineering, 14, 131-164.
  • [37] Easterbrook, S., Singer, J., Storey, M. A., & Damian, D. 2008. Selecting empirical methods for software engineering research. Guide to advanced empirical software engineering, 285-311.
  • [38] ISO/IEC/ IEEE 12207 2017. Systems and software engineering — Software life cycle processes.
  • [39] Patton, M. Q. 2002. Qualitative interviewing, in Qualitative Research and Evaluation Methods. Thousand Oaks, CA, USA: SAGE, pp. 344–347.
  • [40] Williams, M., & Moser, T. 2019. The art of coding and thematic exploration in qualitative research. International Management Review, 15(1), 45-55.
  • [41] Lochmiller, C. R. 2021. Conducting thematic analysis with qualitative data. The Qualitative Report, 26(6), 2029-2044.
  • [42] Kruchten, P., Nord, R., & Ozkaya, I. 2019. Managing Technical Debt: Reducing Friction in Software Development. Software Engineering Institute.

Categorization of Technical Debt in Software as a Service Applications

Yıl 2023, Cilt: 39 Sayı: 3, 446 - 462, 31.12.2023

Öz

Technical debt (TD) refers to the outcomes of making poor decisions or choosing simpler solutions generally for the sake of faster code delivery. Eventually, TD is repaid and usually the long-term costs overweigh the short-term benefits. Therefore, proper identification and management of technical debt is crucial in any software development effort. Although the technical debt concept in the software domain has been extensively studied in the literature, there is a limited understanding of the indicators of TD in Software as a Service (SaaS) applications. Hence, this study investigates the indicators and major categories in organizations that provide support for SaaS applications to their customers. To this end, an exploratory case study has been conducted in a SaaS independent software vendor partner and consultancy company. Interviews have been conducted with nine employees in the company and an in-depth analysis of collected data have been carried out to identify the major technical debt categories specific to SaaS applications. The results revealed that TD categories and problems in traditional software applications are also valid for SaaS projects. There are also new categories of TD specific to SaaS. We identified 15 unique SaaS-specific technical debt categories associated with 23 relevant indicators. Additionally, we noted the presence of 81 generic software technical debt indicators, classified under 23 categories.

Kaynakça

  • [1] Kendall, J. E., & Kendall, K. E. 1993. Metaphors and methodologies: Living beyond the systems machine. MIS quarterly, 149-171.
  • [2] Cunningham, W. 1992. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2), 29-30.
  • [3] Kruchten, P., Nord, R. L., & Ozkaya, I. 2012. Technical debt: From metaphor to theory and practice. IEEE software, 29(6), 18-21.
  • [4] Codabux, Z., Williams, B. J., Bradshaw, G. L., & Cantor, M. 2017. An empirical assessment of technical debt practices in industry. Journal of software: Evolution and Process, 29(10), e1894.
  • [5] Tom, E., Aurum, A., & Vidgen, R. 2012. A consolidated understanding of technical debt, European Conference of Information Systems Proceedings, https://core.ac.uk/reader/301355650.
  • [6] Zazworka, N., Spínola, R. O., Vetro', A., Shull, F., & Seaman, C. 2013. A case study on effectively identifying technical debt. In Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering (pp. 42-47).
  • [7] Li, Z., Avgeriou, P., & Liang, P. 2015. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101, 193-220.
  • [8] Rios, N., Spínola, R. O., Mendonça, M., & Seaman, C. 2020. The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil. Empirical Software Engineering, 25, 3216-3287.
  • [9] Patidar, S., Rane, D., & Jain, P. 2012. A survey paper on cloud computing. In 2nd International Conference on Advanced Computing & Communication Technologies (pp. 394-398). IEEE.
  • [10] Sun, W., Zhang, K., Chen, S. K., Zhang, X., & Liang, H. 2007. Software as a service: An integration perspective. In Service-Oriented Computing Proceedings, 5, 558-569, Springer Berlin Heidelberg.
  • [11] Benlian, A., & Hess, T. 2011. Opportunities and risks of software-as-a-service: Findings from a survey of IT executives. Decision support systems, 52(1), 232-246.
  • [12] Gartner Press Release 2022, https://www.gartner.com/en/newsroom/press-releases/2022-10-31-gartnerforecasts-worldwide-public-cloud-end-user-spending-to-reach-nearly-600-billion-in-2023, (Access Date: 28.07.2023)
  • [13] Turner, M., Budgen, D., & Brereton, P. 2003. Turning software into a service. Computer, 36(10), 38-44.
  • [14] Vidhyalakshmi, R., & Kumar, V. 2014. Design comparison of traditional application and SaaS. In 2014 International Conference on Computing for Sustainable Global Development (INDIACom) (pp. 541- 544). IEEE.
  • [15] Cusumano, M. 2010. Cloud computing and SaaS as new computing platforms. Communications of the ACM, 53(4), 27-29.
  • [16] Chou, S. W., & Chiang, C. H. 2013. Understanding the formation of software-as-a-service (SaaS) satisfaction from the perspective of service quality. Decision Support Systems, 56, 148-155.
  • [17] Sadiku, M. N., Musa, S. M., & Momoh, O. D. 2014. Cloud computing: opportunities and challenges. IEEE potentials, 33(1), 34-36.
  • [18] Brown, N., Cai, Y., Guo, Y., Kazman, R., Kim, M., Kruchten, P., ... & Zazworka, N. 2010. Managing technical debt in software-reliant systems. In Proceedings of the FSE/SDP workshop on Future of software engineering research (pp. 47-52).
  • [19] Besker, T., Martini, A., & Bosch, J. 2017. The Pricey Bill of Technical Debt: When and by Whom will it be Paid?. 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).
  • [20] Suryanarayana, G., Samarthyam, G., & Sharma, T. 2014. Refactoring for software design smells: managing technical debt. Morgan Kaufmann.
  • [21] Falessi, D., & Kazman, R. 2021. Worst smells and their worst reasons. In IEEE/ACM International Conference on Technical Debt (TechDebt) (pp. 45-54). IEEE.
  • [22] Ramač, R., Mandić, V., Taušan, N., Rios, N., Freire, S., Pérez, B., ... & Spinola, R. 2022. Prevalence, common causes and effects of technical debt: Results from a family of surveys with the IT industry. Journal of Systems and Software, 184, 111114.
  • [23] Zazworka, N., Izurieta, C., Wong, S., Cai, Y., Seaman, C., & Shull, F. 2014. Comparing four approaches for technical debt identification. Software Quality Journal, 22(3), 403-426.
  • [24] Iuliia, G. 2017. Technical Debt Management. In Russion Software Development Companies. Master's Thesis. St. Petersburg University Graduate School of Management.
  • [25] Alzaghoul, E., & Bahsoon, R. 2013. CloudMTD: Using real options to manage technical debt in cloudbased service selection. In 2013 4th International Workshop on Managing Technical Debt (MTD) (pp. 55-62), IEEE.
  • [26] Klinger, T., Tarr, P., Wagstrom, P., & Williams, C. 2011. An enterprise perspective on technical debt. In Proceedings of the 2nd Workshop on managing technical debt (pp. 35-38).
  • [27] Nugroho, A., Visser, J., & Kuipers, T. 2011. An empirical model of technical debt and interest. In Proceedings of the 2nd workshop on managing technical debt, 1-8.
  • [28] Alves, N. S., Ribeiro, L. F., Caires, V., Mendes, T. S., & Spínola, R. O. 2014. Towards an ontology of terms on technical debt. In 6th International Workshop on Managing Technical Debt (pp. 1-7). IEEE.
  • [29] Ramasubbu, N., & Kemerer, C. F. 2016. Technical debt and the reliability of enterprise software systems: A competing risks analysis. Management Science, 62(5), 1487-1510.
  • [30] Mcconnell, S. 2008. Construx,. Available from: https://www.construx.com/resources/whitepapermanaging-technical-debt/. (Access Date: 23.08.2023).
  • [31] Fowler, M. 2009. Technical Debt Quadrant, Available from: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html. (Access Date: 31.07.2023).
  • [32] Kumar, S., Bahsoon, R., Chen, T., & Buyya, R. 2019. Identifying and estimating technical debt for service composition in SaaS cloud. In 2019 IEEE International Conference on Web Services (ICWS) (pp. 121- 125). IEEE.
  • [33] Agarwal, P. 2011. Continuous Scrum: Agile management of SAAS products. In Proceedings of the 4th India Software Engineering Conference (pp. 51-60).
  • [34] Liu, F., Tong, J., Mao, J., Bohn, R., Messina, J., Badger, L., & Leaf, D. 2011. NIST cloud computing reference architecture. NIST special publication, 500(2011), 1-28.
  • [35] Baxter, P., & Jack, S. 2008. Qualitative case study methodology: Study design and implementation for novice researchers. The qualitative report, 13(4), 544-559.
  • [36] Runeson, P., & Höst, M. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical software engineering, 14, 131-164.
  • [37] Easterbrook, S., Singer, J., Storey, M. A., & Damian, D. 2008. Selecting empirical methods for software engineering research. Guide to advanced empirical software engineering, 285-311.
  • [38] ISO/IEC/ IEEE 12207 2017. Systems and software engineering — Software life cycle processes.
  • [39] Patton, M. Q. 2002. Qualitative interviewing, in Qualitative Research and Evaluation Methods. Thousand Oaks, CA, USA: SAGE, pp. 344–347.
  • [40] Williams, M., & Moser, T. 2019. The art of coding and thematic exploration in qualitative research. International Management Review, 15(1), 45-55.
  • [41] Lochmiller, C. R. 2021. Conducting thematic analysis with qualitative data. The Qualitative Report, 26(6), 2029-2044.
  • [42] Kruchten, P., Nord, R., & Ozkaya, I. 2019. Managing Technical Debt: Reducing Friction in Software Development. Software Engineering Institute.

Ayrıntılar

Birincil Dil İngilizce
Konular Yazılım Kalitesi, Süreçler ve Metrikler
Bölüm Makaleler
Yazarlar

Özden ÖZCAN TOP

Yasemin KURANEL

Altan KOÇYİĞİT

Erken Görünüm Tarihi 31 Aralık 2023
Yayımlanma Tarihi 31 Aralık 2023
Yayımlandığı Sayı Yıl 2023 Cilt: 39 Sayı: 3

Kaynak Göster

APA ÖZCAN TOP, Ö., KURANEL, Y., & KOÇYİĞİT, A. (2023). Categorization of Technical Debt in Software as a Service Applications. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, 39(3), 446-462.
AMA ÖZCAN TOP Ö, KURANEL Y, KOÇYİĞİT A. Categorization of Technical Debt in Software as a Service Applications. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. Aralık 2023;39(3):446-462.
Chicago ÖZCAN TOP, Özden, Yasemin KURANEL, ve Altan KOÇYİĞİT. “Categorization of Technical Debt in Software As a Service Applications”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 39, sy. 3 (Aralık 2023): 446-62.
EndNote ÖZCAN TOP Ö, KURANEL Y, KOÇYİĞİT A (01 Aralık 2023) Categorization of Technical Debt in Software as a Service Applications. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 39 3 446–462.
IEEE Ö. ÖZCAN TOP, Y. KURANEL, ve A. KOÇYİĞİT, “Categorization of Technical Debt in Software as a Service Applications”, Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, c. 39, sy. 3, ss. 446–462, 2023.
ISNAD ÖZCAN TOP, Özden vd. “Categorization of Technical Debt in Software As a Service Applications”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 39/3 (Aralık 2023), 446-462.
JAMA ÖZCAN TOP Ö, KURANEL Y, KOÇYİĞİT A. Categorization of Technical Debt in Software as a Service Applications. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. 2023;39:446–462.
MLA ÖZCAN TOP, Özden vd. “Categorization of Technical Debt in Software As a Service Applications”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, c. 39, sy. 3, 2023, ss. 446-62.
Vancouver ÖZCAN TOP Ö, KURANEL Y, KOÇYİĞİT A. Categorization of Technical Debt in Software as a Service Applications. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. 2023;39(3):446-62.

✯ Etik kurul izni gerektiren, tüm bilim dallarında yapılan araştırmalar için etik kurul onayı alınmış olmalı, bu onay makalede belirtilmeli ve belgelendirilmelidir.
✯ Etik kurul izni gerektiren araştırmalarda, izinle ilgili bilgilere (kurul adı, tarih ve sayı no) yöntem bölümünde, ayrıca makalenin ilk/son sayfalarından birinde; olgu sunumlarında, bilgilendirilmiş gönüllü olur/onam formunun imzalatıldığına dair bilgiye makalede yer verilmelidir.
✯ Dergi web sayfasında, makalelerde Araştırma ve Yayın Etiğine uyulduğuna dair ifadeye yer verilmelidir.
✯ Dergi web sayfasında, hakem, yazar ve editör için ayrı başlıklar altında etik kurallarla ilgili bilgi verilmelidir.
✯ Dergide ve/veya web sayfasında, ulusal ve uluslararası standartlara atıf yaparak, dergide ve/veya web sayfasında etik ilkeler ayrı başlık altında belirtilmelidir. Örneğin; dergilere gönderilen bilimsel yazılarda, ICMJE (International Committee of Medical Journal Editors) tavsiyeleri ile COPE (Committee on Publication Ethics)’un Editör ve Yazarlar için Uluslararası Standartları dikkate alınmalıdır.
✯ Kullanılan fikir ve sanat eserleri için telif hakları düzenlemelerine riayet edilmesi gerekmektedir.