📅  最后修改于: 2023-12-03 15:39:50.249000             🧑  作者: Mango
探索性软件开发风格(Exploratory Software Development Style)是指一种无序、自由、优雅的软件开发方式,在这种方式下,产品开发的过程充满了尝试、失败、尝试的过程,开发团队将面对多重难题,而这个过程却是十分充实、充满乐趣的。
探索性软件开发风格鼓励一种成长型设计(evolutionary design)方式,即迭代式的设计与开发方式。在这种方式下,产品的需求与开发不是同时完成,需求是不断变化的,而开发过程也是不断优化的。所以,在这种风格下,与其想尽保存全新的界面或是交互方式,不如用几个简单的草图来试试。
成长型设计更注重修改,而非重构
探索性软件开发风格鼓励快速反馈,这也就是为什么在这种风格下,实验很重要。这种风格下,我们不必在每个上约定好每个功能、每个卡片和每个转换点。你可以在实现过程中为这些点添加正确的实现。没有必要为了遵守“约定”而牺牲灵活性。
确定的细节应遵循既定规则,灵活的细节应灵活处理。
探索性软件开发还要求决策的自主性。不要因为同样的决策可以使代码更优秀而让程序设计人员觉得应该对所有系统都采用同样的方式来作出决策。在探索性软件开发环境中,团队必须能够独立作出决策,并能描述自己所作出的决策如何影响产品的状况。
决策要整体考虑,遵循既定目标。
探索性软件开发风格鼓励利用自由度来试试临时性的架构,尤其当你目前的设计出了缺陷时较为明显。具体实施数字的准确性可以稍稍抛开,这样可能导致疏漏,但也可以成功挽救促进开发的规模和进度的优势。
架构要自由灵活,注重临时性。
探索性软件开发(ESD)是一种试错、思考、迭代的方法。它使开发团队更加自由、创造力更加丰富,开发出的产品也更加灵活、容易维护。