---------- 汪保杰于长沙
时间过的真快,金老师的《高级软件开发过程》已经结束了。我也学到了在其他地方学不到的理论知识, 比如:RUP,AP,MP等等,很是庆幸。恩,谈谈自己的感想吧。
敏捷过程 (AP): 2001年2月,17位软件界专家起草了旨在使软件开发团队具有快速工作,快速响应变化能力的敏捷软件开发宣言,制定了四条基本价值观(个体和交互胜过过程和工具,可以工作的软件胜过面面具到的文档,客户合作胜过合同谈判,响应变化胜过遵循计划),12条基本原则(1. 最优先做的是通过尽早地、持续地交付有价值的软件来使客户满意. 2. 即使在开发的后期也欢迎变化. 3. 经常性地交付可以工作的软件. 4. 商务人员和开发人员必须天天在一起工作. 5. 围绕个体来构建项目. 6. 面对面的交谈. 7. 可工作的软件是首要的进度度量标准. 8.提倡可持续的开发速度. 9.关注优秀设计. 10. 简单化. 11. 最好的架构、需求、设计、出自自组织的团队. 12. 定期反省,并对自己的工作进行调整 )
计划驱动(如:RUP): RUP 是由 UML 的三位祖师提出的经典的软件过程模式,第一大特点是用例驱动,第二大特点是以架够为中心,第三大特点是迭代与增量,以及他的四个阶段,9个工作流程, RUP 是重量级的开发过程,在实际的开发过程中,我们应该结合当前项目的实际对 RUP 适当剪裁。
《敏捷与计划驱动平衡方法》说的很好。他通过两个案例(一个用 XP, 一个用计划驱动)来从四个领域(应用,管理,技术,人员)进行比较并识别强弱和最合适最可能成功的方法。最后总结了基于风险识别和平衡的方法,这种风险方法分为五个步骤1.通过原形进行数据收集和分析。2. 如果敏捷的风险高于计划驱动那就采用计划驱动(part1),否则就采用敏捷(part2)。3. 如果项目的一部分符合part1,另一部分符合 part2,那就将敏捷和计划进行平衡找到一个恰当的平衡点。4. 建立整个项目的风险缓和计划。5.检测项目进度和机遇风险,并适当的调整。
《高级软件开发过程》最后介绍了集成过程模式,生命周期采用 RUP 的迭代与增量的二维过程结构,生命周期的每个阶段设置缓冲时间。人员及组织管理采用微软过程的矩阵结构模式并以角色划分,人员之间是平等的。方法方面采用用户界面原型获取需求,欢迎变化、先基线化后冻结等等。产品质量方面要求较低的缺陷率和较高质量的性能特性
总之,任何事情都是一个项目,都有一个目标,都需要一个过程,什么才是好的过程呢?我的答案是:能够达到我的目标的过程就是好的过程。因此,作为一个软件开发和管理者应该因地制宜,量体裁衣。
参考文献 [Balancing Agility and Discipline Evaluating]
[高级软件开发过程 金敏 清华大学出版社]
本博客为学习交流用,凡未注明引用的均为本人作品,转载请注明出处,如有版权问题请及时通知。由于博客时间仓促,错误之处敬请谅解,有任何意见可给我留言,愿共同学习进步。