随着Agile 敏捷开发流程的流行,越来越多的公司采用敏捷开发流程用于软件产品和应用的开发。敏捷开发是一种思维方式和软件过程方法论,以及一系列的最佳实践,它能帮助团队开
发出更加符合市场需求的产品。
敏捷开发是一种软件过程方法和工具,敏捷开发本身并不能代表架构设计。 但敏捷开发后,架构设计(内容和形式上)还是有了一定程度的变化。主要表现在架构设计的方式、内容、人员都会适当的发生变化。
敏捷开发中的如下特性:
a) 需求变化更频繁
b) 轻详细设计,没有那么多的架构和设计的时间
c) 反对冗余繁重的文档
d) 反对冗长会议和电话会议
e) 赞同代码就是最好设计和文档(Code is design and document),并通过重构自然呈现架构和设计
这些特性和传统的进行大量的架构设计,然后通过文档记录并沟通的方式有很大差别。敏捷开发中这样灵
活的方式就更要求有严
在实际开发过程中,需要根据实际项目的需要选择合适的开发方法,并尽最大可能发挥人的创造性和潜能,利用不同人的不同特点,充分沟通,这才是在敏捷方法中真正需要学习的。
许多人认为敏捷与CMMI是极端对立的,彼此抵消对方的成效。在传统方式与敏捷框架之间一直持续的论战中,各自的支持者纷纷列举出与对方水火不容的观点。对待事物我们要一分为二的看待,各取所长,互补缩短,既保证持久的稳定性,又要具备与时俱进的先进性。
Hollander针对解决方案架构师如何在敏捷团队中取得成功,提出了最重要的十件事情:“正好足够”的预先设计、从垂直分片开始、在每次迭代中的Just-in-time设计、信任你的团队...但要跟他们在一起、编写代码、参与一切、推动质量文化、知道何时需要改变、屏蔽来自外部的随机请求、撰写文档...但只有当有人需要阅读它们的时候