首先看看风险管理。在这个项目的介绍材料中,我们没有看到任何关于该项目的比较正式的或者全面的风险评估和风险应对方案。而看到的仅仅是在问题出现了之后,项目经理采取了一些权变措施。而人员变动、需求变动、关键技术问题无法及时解决、SQA及测试人员无法与开发人员协作等等问题均没有发现提前的评估与应对方案的规划。所以出现问题的时候难免手忙脚乱。项目管理者联盟
其次再看看变更管理。据项目中的描述,自从第一次重大的需求变更出现之后,产品市场部门经常提出新的需求变更。而开发人员则疲于应付。一方面,我们没有发现项目管理团队对需求的变更进行任何的控制,另一方面,变更出现了之后,貌似项目组也没有对项目进行比较全面的重新规划。一般来讲,软件开发项目的需求变更之后,相应的项目计划(包括进度、费用、质量、风险等等方面)需要做出相应的调整。这些调整还需要相应级别的管理人员进行确认之后作为项目新的基线。项目管理者联盟
曾经有专业机构进行过统计,缺乏控制的范围变更是项目失败的最主要原因之一。service.mypm.net
当然,项目管理团队在项目进行过程中还存在其它的一些失误,例如:需求变更没有及时通知到测试团队(沟通问题);团队新成员到岗时间太晚,又缺乏足够的培训时间(人力资源问题);项目发布的时候关键问题没有进入配置库(配置管理问题)等等。项目管理者联盟
由此看来,以项目经理为首的项目管理团队是技术领域的高级人才,但是在项目管理方面还比较缺乏掌控全局的能力和经验。项目管理者联盟
第二种思路:从软件工程的角度来看,应该选择更加合适的软件生命周期模型。项目管理者联盟
我们知道,该项目选择了瀑布模型。但是我们同时也发现:“公司整体是以市场导向的”。由此看来,项目进行过程中的需求变更是难以避免且将是比较频繁的。从软件工程科学的角度来讲,瀑布模型最主要的缺点就是“缺乏灵活性”。因此看来,在特定的环境下,选择瀑布模型是不太合适的。项目管理者联盟
我的建议是:选择具有迭代特性的软件开发过程的模型。例如,以短迭代周期和频繁交付为主要特征之一的“敏捷开发过程”就非常值得推荐。项目管理者联盟
当然,敏捷开发过程指的是一组相似的开发过程,他们包含多许多种最佳实践。所以,我们需要根据项目的实际情况选择最适合的项目实践,已达到项目的灵活性与项目的规范性的平衡。项目管理者联盟
综上所述,虽然加强有效的风险管理和变更管理能够使项目的结果得到较大的改善,但是选择合适的软件开发过程更加值得推荐。虽然,在使用新的方法不可避免的将遇到一些困难和风险,但是只要能够严肃的进行坚持,必将使项目的绩效得到根本的改观。项目管理者联盟
再顺便说一句:项目的高层管理人员(据原文中所属,包括项目管理部,公司研发总监、研发副总裁等)貌似也难逃其咎,既然选择了缺乏项目管理经验的技术人员作为项目经理,却又没有提供相应的帮助与指导,未免有些“不仁不义”。pmp.mypm.net 项目经理博客
本文为项目管理者联盟联盟会员原创文章,授权发布,非经同意不得转载!
|