计算机科学 ›› 2017, Vol. 44 ›› Issue (11): 15-21.doi: 10.11896/j.issn.1002-137X.2017.11.003

• 2016 年全国软件与应用学术会议 • 上一篇    下一篇

软件集成开发环境的技术债务管理研究

刘亚珺,李兵,李增扬,梁鹏,吴闽泉   

  1. 武汉大学国际软件学院 武汉430072,武汉大学国际软件学院 武汉430072;武汉大学复杂网络研究中心 武汉430072,武汉大学国际软件学院 武汉430072;武汉大学复杂网络研究中心 武汉430072,武汉大学计算机学院软件工程国家重点实验室 武汉430072,武汉大学计算机学院软件工程国家重点实验室 武汉430072
  • 出版日期:2018-12-01 发布日期:2018-12-01
  • 基金资助:
    本文受国家重点研发计划(2016YFB0800405),国家重点基础研究发展计划(2014CB340404),国家自然科学基金(61572371,6),中国博士后基金(2015M582272),中央高校基本科研业务费专项资金(2042016kf0033),湖北省自然科学基金(2016CFB158)资助

Study on Technical Debt Management of Integrated Development Environment

LIU Ya-jun, LI Bing, LI Zeng-yang, LIANG Peng and WU Min-quan   

  • Online:2018-12-01 Published:2018-12-01

摘要: 软件技术债务是运用经济学中“债务”的概念来描述软件开发中因项目短期利益而实施的技术折中。但从长期来看,技术债务会影响软件的质量、成本和开发效率,因此有必要对其进行有效管理。现有的技术债务管理工具数量少且存在各种局限性,难以实现有效的管理。主流的软件集成开发环境功能强大且应用广泛,可以为技术债务管理服务。以具有代表性的集成开发环境Visual Studio 2015企业版为研究对象,通过C#实例发现其管理4类与代码直接相关的技术债务的能力,并将其与4种专门的技术债务管理工具进行对比,为开发团队的日常实践提供技术债务管理支持。结果表明,Visual Studio能够提供更好的技术债务管理功能,并能应用多种方法对项目中存在的各类技术债务进行不同程度的管理。

关键词: 技术债务,技术债务类型,技术债务管理活动,技术债务管理工具,Visual Studio

Abstract: Technical debt (TD),a metaphor to financial debt,refers to technical compromises which are made to gain short-term benefits at the cost of long-term software quality.However,in the long run TD will negatively affect software quality as well as cost and productivity of software development.Thus,TD should be effectively managed.Existing dedicated TD management tools are rather limited and have various limitations.Hence,it is difficult to effectively mana-ge TD using such tools.Mainstream integrated development environments (IDEs) are powerful and widely used,can serve to manage TD.In this study,we investigated Microsoft Visual Studio 2015 Enterprise Edition,a representative mainstream IDE,to explore its ability for managing four types of TD directly related to source code using a C# project.Then we compared Visual Studio with four dedicated TD management tools with respect to their capabilities in mana-ging TD and their support for TD management of development teams in their daily practices.The results show that VisualStudio provides better support for managing TD in terms of diversity of TD types and the range of TD management activities.In addition,with Visual Studio,specific TD instances can be managed to different extents in a variety of ways.

Key words: Technical debt,Technical debt type,Technical debt management activity,Technical debt management tool,Visual Studio

[1] BROWN N,CAI Y,GUO Y,et al.Managing technical debt in software-reliant systems[C]∥Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research.New York,USA:ACM,2010:47-52.
[2] CUNNINGHAM W.The WyCash portfolio management system[J].ACM Sigplan Oops Messenger,1992,4(2):29-30.
[3] AMPATZOGLOU A,AMPATZOGLOU A,CHATZIGEOR-GIOU A,et al.The financial aspect of managing technical debt:A systematic literature review[J].Information and Software Technology,2015,64(C):52-73.
[4] ALLMAN E.Managing Technical Debt[J].Queue,2012,10(3):50-55.
[5] LI Z,AVGERIOU P,LIANG P.A systematic mapping study on technical debt and its management[J].Journal of Systems and Software,2015,101:193-220.
[6] SURYANARAYANA G,SAMARTHYAM G,SHARMA T.Refactoring for software design smells:Managing technical debt[M].San Francisco,USA:Morgan Kaufmann,2014.
[7] LIM E,TAKSANDE N,SEAMAN C.A Balancing Act:WhatSoftware Practitioners Have to Say about Technical Debt[J].IEEE Software,2012,29(6):22-27.
[8] ALVES N S R,MENDES T S,DE MENDONA M G,et al.Identification and management of technical debt:A systematic mapping study[J].Information and Software Technology,2016,70:100-121.
[9] BOHNET J,DLLNER J.Monitoring code quality and development activity by software maps[C]∥Proceedings of the 2nd Workshop on Managing Technical Debt.New York,USA:ACM,2011:9-16.
[10] BARTON B,STERLING C.Manage project portfolios more effectively by including software debt in the decision process[J].Cutter It Journal,2010,23(10):19-24.
[11] HOLVITIE J,LEEPPNEN V.DebtFlag:Technical debt mana-gement with a development environment integrated tool[C]∥Proceedings of the 4th International Workshop on Managing Technical Debt.Piscataway,USA:IEEE,2013:20-27.
[12] GARCIA J,POPESCU D,EDWARDS G,et al.Identifying architectural bad smells[C]∥Proceedings of the 13th European Conference on Software Maintenance and Reengineering.Pisca-taway,USA:IEEE,2009:255-258.
[13] SLINGER S.Code Smell Detection in Eclipse[J].Delft University of Technology,2005,10(1):78-83.
[14] MORGENTHALER J D,GRIDNEV M,SAUCIUC R,et al.Searching for build debt:Experiences managing technical debt at Google[C]∥Proceedings of the Third International Workshop on Managing Technical Debt.Piscataway,USA:IEEE,2012:1-6.
[15] GREENING D R.Release Duration and Enterprise Agility[C]∥Proceedings of the 46th Hawaii International Conference on System Sciences.Piscataway,USA:IEEE,2013:4835-4841.
[16] ZAZWORKA N,IZURIETA C,WONG S,et al.Comparing four approaches for technical debt identification[J].Software Quality Journal,2014,22(3):403-426.
[17] GUO Y,SEAMAN C.A portfolio approach to technical debtmanagement[C]∥Proceedings of the 2nd Workshop on Mana-ging Technical Debt.New York,USA:ACM,2011:31-34.
[18] ZAZWORKA N,SEAMAN C,SHULL F.Prioritizing designdebt investment opportunities[C]∥Proceedings of the 2nd Workshop on Managing Technical Debt.New York,USA:ACM,2011:39-42.
[19] SCHMID K.A formal approach to technical debt decision ma-king[C]∥Proceedings of the 9th International ACM Sigsoft Conference on Quality of Software Architectures.New York,USA:ACM,2013:153-162.
[20] EISENBERG R J.A threshold based approach to technical debt[J].ACM SIGSOFT Software Engineering Notes,2012,37(2):1-6.
[21] FERNNDEZ-SNCYEZ C, GARBAJOSA J,IDAL C,et al.An analysis of techniques and methods for technical debt mana-gement:a reflection from the architecture perspective[C]∥Proceedings of the Second International Workshop on Software Architecture and Metrics.Piscataway,USA:IEEE,2015:22-28.
[22] BOHNET J,DLLNER J.Monitoring code quality and development activity by software maps[C]∥Proceedings of the 2nd Workshop on Managing Technical Debt.New York,USA:ACM,2011:9-16.
[23] LETOUZEY J L.The SQALE method for evaluating technical debt[C]∥Proceedings of the Third International Workshop on Managing Technical Debt.Piscataway,USA:IEEE,2012:31-36.
[24] HOLVITIE J,LEPPNEN V.DebtFlag:Technical debt mana-gement with a development environment integrated tool[C]∥Proceedings of the 4th International Workshop on Managing Technical Debt.Piscataway,USA:IEEE,2013:20-27.
[25] BARTON B,STERKUBG C.Manage project portfolios more effectively by including software debt in the decision process[J].Cutter IT Journal,2010,23(10):19.
[26] FALESSI D,SHAW M A,SHULL F,et al.Practical considerations,challenges,and requirements of tool-support for managing technical debt[C]∥Proceedings of the 4th International Workshop on Managing Technical Debt.Piscataway,USA:IEEE,2013:16-19.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!