敏捷思维-架构设计中的方法学(1)从方法论看架构设计林星(iamlinx@21cn
com)2002年3月方法论对软件开发而言意味着什么
我们如何看待软件开发中的方法论
方法论能够成为软件开发的救命稻草吗
在读过此文后,这些疑惑就会得到解答
在第一篇文章中,我们来了解标题中的一些词的含义
方法学是什么
敏捷是什么
为什么讨论架构
方法论方法论的英文为Methodology,词典中的解释为"Aseriesofrelatedmethodsortechniques"我们可以把它定义为软件开发(针对软件开发)的一整套方法、过程、规则、实践、技术
关于方法论的出现的问题,我很赞同AlistairCockburn的一句话,"方法论源于恐惧
"出于对项目的超期、成本失控等等因素的恐惧,项目经理们从以前的经验出发,制定出了一些控制、监测项目的方法、技巧
这就是方法论产生的原因
在AgileSoftwareDevelopment一书中,作者提到了方法论的十三个要素,基本能够函盖方法论的各个方面:角色(Roles)个性(Personality)技能(Skills)团队(Teams)技术(Techniques)活动(Activities)过程(Process)工件(Workproducts)里程碑(Milestones)标准(Standards)质量(Quality)工具(Tools)团队价值(TeamValues)它们之间的关系可以用一幅图来表示:图1
方法论的十三个要素很多的方法论,都涉及了上面列举的十三要素中的部分要素,因此,我们可以把方法论看作是一个抽象的、无穷的超集,而现实中的方法论都是指超集的一个有限的子集而已
它们之间的关系就好像有理数和1到100之间的整数的关系一样
不论是XP,还是UI设计经验之类,都属于方法论的一个子集,只是这两个子集之间有大小