针对以上问题,只要从量化需求入手, 有序管理需求变更,用正规表达、可量化的Spec来指导项目规划、编程和测试,能把风险降到低。
基于结构化的Spec集合,可以将项目分解为多个子项目,将Spec直接分配到各自对应的子项目中,以此来规划和估算子项目的工作量。项目管理人员为每个子项目分配资源,安排优先顺序,确定项目里程碑。
在项目执行时,可以为每一个Spec产生出一系列开发任务。自定义的工作流机制确保每一个任务从提交到终解决的生命周期都严格符合业务流程,保证任何时刻都有的负责人、状态和截止日期。这样,不仅能规范产品研发过程,还能降低人员流动带来的风险。任务的流转及相关知识文档,如源代码、设计资源等,都得到系统完整的记录,还能与任务关联,便于追溯。一旦有人离开项目,接替的人员能够查看任务和文档信息,迅速弥补人员空缺。
DevSuite需求管理视图提供产品版本树管理,产品经理可以创建新产品和版本,每个需求和功能点可以在多个产品和版本实现。通常一个产品的各个功能可能会分布在不同的项目中实现,项目经理如何在产品发布的时候知道每次发布实现了那些功能,各个功能点的负责人是谁,通过DevSpec视图提供的产品版本树功能,项目经理可以轻松的过滤出每个发布版本实现了那些客户需求。
支持产品的版本规划,当收集到的需求经过评审等规定流程决策后,将需求与规划好的产品版本关联起来,通过产品版本视图可以直接追踪到需求与产品版本的关系,未决定开发的需求可以不设定版本,等决定后再关联相应产品版本。
产品研发过程常见问题3:跨部门协作困难
产品研发在企业中是一项综合性的工作,存在着大量需要跨部门协作的工作,几乎需要所有的职能部门都将参与其中。据研究发现,目前企业中多达50%以上的工作都适用于跨部门协作管理,而正如此却带来了部门协作困难、全局监控难、资源协调难等等各种各样的问题。这些问题几乎困扰着现在所有的研发企业,不管他们在组织方式上是采用项目结构、职能结构还是矩阵结构,跨部门协作困难的挑战无处不在。
部门协作困难面临的挑战:
1. 缺乏对产品开发统一的认识
首先,各部门对产品开发的成功标准缺乏一致的认识。比如技术部门认为只要产品顺利转入测试成功了,测试部门只关注产品的检测与执行测试任务,质保部门理解的成功则是产品研发流程和质量的稳定,而市场部门则关注产品何时上市、销量如何。各部门在产品开发过程中缺乏一致的目标是带来跨部门协作困难的根源之一。更有甚者,产品开发被认为只是研发部门的事,其它部门只是义务配合一下,这与产品开发活动的本质相差太远了。
2. 缺乏有效的跨部门协同机制
产品开发的主体是研发部门,每个部门却是各有所规,各有各的服务流程和工作规范,如果没有建立与营销、项目管理、测试、质保等部门建立有效的协同机制,对客户、市场的响应会比较慢。同时,对于企业内容来讲,如果没有信息共享的工作平台,开展并行工程困难,开发周期长;很难详细掌握各开发项目的进度,每个人在做什么,做到什么程度。企业外部同样如此,与客户、合作伙伴缺乏协同工作的信息平台,不仅异地协调困难,工作效率低且质量难以控制。
3. 缺乏明确的产品开发流程
缺乏明确的产品开发管理流程及系统控制手段,职责不明,执行较弱,每个人按照各自习惯做事,产品开发的品质控制很难到位。很多公司制定了产品开发流程,但它们的流程只是一些功能流程(如硬件开发流程、测试流程)的集合,而缺乏一个联合了所有的职能部门的集成的总体流程,这象作战时缺乏总体的“作战地图”和“作战方案”,导致项目组如何开展工作,各部门如何参与到产品开发过程中缺乏统一部署和安排,临阵时间各行其是。