软件开发方法的工程化与形式化探索
在软件开发领域,方法的选择和应用至关重要。当前,敏捷方法在全球分布式软件开发中的应用、方法工程的演进以及形式化描述等问题,都是值得深入探讨的话题。
1. 敏捷方法在全球分布式软件开发中的应用
敏捷方法通常假定开发团队和现场客户共处一地,但在全球分布式软件开发中,这种情况并不常见。不过,我们可以通过分析方法规定背后的原因,将共处一地的预期目标(如增加非正式沟通)转化为其他方法规定,例如利用更先进的通信技术。这样,就能确保敏捷方法特定方面的原理,转化为适合全球分布式开发方法的原理,从而在最终方法与原始方法差异较大的情况下,仍然坚持敏捷价值观。
方法原理存在于方法抽象的三个层面:理想典型、情境和行动中。在理想典型层面,方法原理可用于表达方法创建者的意图、目标、价值观和选择,为方法配置者和开发者理解方法及如何进行最佳定制提供基础。在配置者与开发者的沟通中,方法原理还能解释在配置情境方法时为何进行某些调整。如果了解不同开发者的个人原理,就能更好地配置或组装情境方法。
将方法原理的这两个方面结合起来,能为我们提供一种结构化的方法,既可以作为表达和记录方法原理的工具,也可以作为分析方法原理的工具,为方法的构建、组装、配置和使用提供依据。
2. 进化式方法工程
方法工程是一个学习过程,当前的专业知识水平和情境会影响结果。开发系统的组织不仅要交付系统,还要学习如何进行系统开发、调动相关知识(方法),并提高开发能力。组织会积累方法在特定开发情境中的应用经验,这些经验会补充编码化的方法知识,有助于未来更好地应用方法。
早期有人倡导通过循环行动研究的基于学习的方法开发途径,进化式方法工程
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



