项目经理思维和意识的转变-软件生命周期.doc
项目经理思维和意识的转变 -软件生命周期 在这里主要是谈软件项目经理,因此和其有关的就是软件生命周期模型,PMBOK 是标准的项目管理知识体系模型,而对于软件开发项目经理必须要了解的就是软件工程域和软件生命周期模型在软件项目管理中的重要作用。这是做好IT 项目管理工作的基础。对于参加的瀑布,迭代,螺旋,增量等各种软件什么周期模型在原来的博文中都已经有详细描述,在这里仅重点讲对软件什么周期模型的一些重要认识。 什么周期模型最基础,最核心的就是瀑布模型。所有的增量,迭代,螺旋,原型等各种生命周期模型都来源于瀑布模型。如在敏捷方法论中常见的迭代模型,在每一个迭代周期中就是一个小瀑布模型,如果连瀑布模型都用不好这很难用好其它什么周期模型。生命周期含义就是产品演化和事物的发展有气必然的阶段和顺序,因此各种什么周期模型都不能跳过程。在这里再解释下 TDD 测试驱动开发,为什么没有设计开发就已经在测试了,注意这里不是在执行测试,而是在写测试用例,并通过测试用例来进一步明确需求的 How to Test 部分的内容,这和测试里面的 V 模型是一致的。 需求分为业务用户需求和系统软件需求两个重要阶段,当时我们做系统的时候往往是直接进入到了软件需求。用户需求阶段重点是业务建模和流程建模,重点是搞清楚业务主题域和业务场景 ;软件需求阶段重点是需求用例分析和功能分析,重点是搞清楚需求细节以支持可实现性。在这里前面关于 SERU 需求方法论的博文有专门的描述,总之要重视业务建模环节,不要跳过该环节直接进入到了软件需求,导致功能实现不能真正解决业务问题。 需求要条目化,在 FDD 和 SCRUM 等各种敏捷方法论中都可以看到需求条目化的例子。条目化的需求 即用户故事,是实现业务价值的一个最小单位,是业务目标驱动的需求,条目化的需求为后续项目细粒度的进度跟踪和进度可视化打下了坚实的基础。同时条目化的需求方面了后续一系列需求,实现和测试的追踪过程。 不要想着需求不变化,或者把项目延期的责任归咎到需求变化大上面。软件项目经理应该更多考虑如何更好的去适应变化,如果让需求变化导致的影响最小。这就涉及到需求优先级和迭代内容划分,架构可扩展性等一系列内容。举例来说,如我们装修房屋,最后主人要求在卧房床边增加一个壁灯,这个时候我们如果原来预留了插座则该新需求带来工作量是 相当小的,反之如果当时什么都没有考虑,