Approaches for Documentation in Continuous Software Development

Theo Theunissen, S. Hoppenbrouwers, S. Overbeek
{"title":"Approaches for Documentation in Continuous Software Development","authors":"Theo Theunissen, S. Hoppenbrouwers, S. Overbeek","doi":"10.7250/csimq.2022-32.01","DOIUrl":null,"url":null,"abstract":"It is common practice for practitioners in industry as well as for ICT/CS students to keep writing – and reading ¬– about software products to a bare minimum. However, refraining from documentation may result in severe issues concerning the vaporization of knowledge regarding decisions made during the phases of design, build, and maintenance. In this article, we distinguish between knowledge required upfront to start a project or iteration, knowledge required to complete a project or iteration, and knowledge required to operate and maintain software products. With `knowledge', we refer to actionable information. We propose three approaches to keep up with modern development methods to prevent the risk of knowledge vaporization in software projects. These approaches are `Just Enough Upfront' documentation, `Executable Knowledge', and `Automated Text Analytics' to help record, substantiate, manage and retrieve design decisions in the aforementioned phases. The main characteristic of `Just Enough Upfront' documentation is that knowledge required upfront includes shaping thoughts/ideas, a codified interface description between (sub)systems, and a plan. For building the software and making maximum use of progressive insights, updating the specifications is sufficient. Knowledge required by others to use, operate and maintain the product includes a detailed design and accountability of results. `Executable Knowledge' refers to any executable artifact except the source code. Primary artifacts include Test Driven Development methods and infrastructure-as-code, including continuous integration scripts. A third approach concerns `Automated Text Analysis' using Text Mining and Deep Learning to retrieve design decisions.","PeriodicalId":416219,"journal":{"name":"Complex Syst. Informatics Model. Q.","volume":"595 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Complex Syst. Informatics Model. Q.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.7250/csimq.2022-32.01","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

It is common practice for practitioners in industry as well as for ICT/CS students to keep writing – and reading ¬– about software products to a bare minimum. However, refraining from documentation may result in severe issues concerning the vaporization of knowledge regarding decisions made during the phases of design, build, and maintenance. In this article, we distinguish between knowledge required upfront to start a project or iteration, knowledge required to complete a project or iteration, and knowledge required to operate and maintain software products. With `knowledge', we refer to actionable information. We propose three approaches to keep up with modern development methods to prevent the risk of knowledge vaporization in software projects. These approaches are `Just Enough Upfront' documentation, `Executable Knowledge', and `Automated Text Analytics' to help record, substantiate, manage and retrieve design decisions in the aforementioned phases. The main characteristic of `Just Enough Upfront' documentation is that knowledge required upfront includes shaping thoughts/ideas, a codified interface description between (sub)systems, and a plan. For building the software and making maximum use of progressive insights, updating the specifications is sufficient. Knowledge required by others to use, operate and maintain the product includes a detailed design and accountability of results. `Executable Knowledge' refers to any executable artifact except the source code. Primary artifacts include Test Driven Development methods and infrastructure-as-code, including continuous integration scripts. A third approach concerns `Automated Text Analysis' using Text Mining and Deep Learning to retrieve design decisions.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
持续软件开发中的文档方法
对于行业从业者以及ICT/CS学生来说,将关于软件产品的写作和阅读保持在最低限度是一种常见的做法。然而,不编写文档可能会导致与设计、构建和维护阶段所做决策相关的知识蒸发相关的严重问题。在本文中,我们区分了启动项目或迭代所需的前期知识,完成项目或迭代所需的知识,以及操作和维护软件产品所需的知识。“知识”指的是可操作的信息。我们提出了三种方法来跟上现代开发方法,以防止软件项目中知识蒸发的风险。这些方法是“前期足够”文档、“可执行知识”和“自动文本分析”,以帮助记录、证实、管理和检索上述阶段的设计决策。“前期足够”文档的主要特征是,前期所需的知识包括形成思想/想法、(子)系统之间的编码接口描述和计划。为了构建软件并最大限度地利用渐进式洞察力,更新规范就足够了。他人使用、操作和维护产品所需的知识包括详细的设计和结果的责任。“可执行知识”指的是除源代码以外的任何可执行工件。主要工件包括测试驱动开发方法和基础设施即代码,包括持续集成脚本。第三种方法涉及“自动文本分析”,使用文本挖掘和深度学习来检索设计决策。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Discovering and Assessing Enterprise Architecture Debts Towards an E-Government Enterprise Architecture Framework for Developing Economies Trustworthiness Requirements in Information Systems Design: Lessons Learned from the Blockchain Community Business-IT Alignment: A Discussion on Enterprise Architecture and Blockchains. Editorial Introduction to Issue 35 of CSIMQ Supporting Information System Integration Decisions in the Post-Merger Context
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1