分享

产品研发过程常见问题

 文明世界拼图 2018-12-15

目录

产品研发过程常见问题1:缺乏统一的管理平台

产品研发过程常见问题2:难以量化的需求开发与管理

产品研发过程常见问题3:跨部门协作困难

产品研发过程常见问题4:多项目管理挑战多

产品研发过程常见问题1:缺乏统一的管理平台

随着软件开发实践的不断深入,应用生命周期管理越来越被业界接受为一种经过实践检验的,可以创造高品质的应用程序的,可靠的软件开发模式。但是,要实施整个应用程序生命周期管理是非常复杂的,我们必须借助一些工具来帮助我们完成整个生命周期的管理。

让我们先来回顾一下绝大多数软件研发团队的典型工作情景:

【场景1】:工具满天飞

很多研发企业的管理平台非常分散,不同团队和个人使用工具不同,我们常常可以看到,产品部门收集需求使用Word、Excel,项目经理制定项目计划、进行任务划分和分配使用Project,开发部门管理任务和缺陷使用Jira、URTracker,测试部门管理测试任务使用TestDirector、TestLink,配置管理使用VSS、SVN、CVS、CC等等,这些平台相互是独立的,不仅不可以信息共享,部门之间还产生了有明显的信息壁垒,完全靠手工操作实现信息传递。

【场景2】:研发过程衔接不畅

公司的需求管理、计划管理、缺陷跟踪、测试管理等等各种研发活动,使用不同公司开发的无法整合的工具,这些不同来源的工具,既无法共享项目信息,给使用上带来很多不便,又无法在各种不同类型的数据之间建立关联,导致一些高级管理功能无法实现,比如要实现需求跟踪,就需要整合需求管理、任务管理、测试管理三个系统。

【场景3】:一个BUG引发的血案?!

软件开发人员1: 通过代码走查发现一个BUG,需要将这个BUG记入缺陷跟踪系统;

软件开发人员2(代码的作者):需要根据这个缺陷判断需要如何修改,并评估修改的工作量。如果是普通的BUG,只需要开发人员进行修改即可;一旦发现是深层次的BUG,涉及到数据结构的调整、界面的调整甚至软件架构的调整,这将牵动研发团队的项目经理、系统架构师、数据库管理员、界面设计人员、产品经理;

项目经理:收到开发人员的汇报,很不幸的发现这个问题需要在缺陷跟踪系统中将相关的人员统统拉到一起才可以解决问题;

产品经理:需要根据缺陷评估即将投入的人力成本和由此引发的后果;

系统架构师:评估架构调整的成本并拿出可行性方案;

数据库管理员:调整数据结构,并为由此带来的数据结构升级准备方案;

界面设计人员:重新调整界面,并为原来统一的风格如何调整伤透脑经;

软件开发人员3(最终确定FIX BUG的人员):根据最终收到的修改方案,制定修改计划并进行BUG的修改,而且该软件开发人员制订的开发计划需要让相关人员能准确的掌握BUG修改的进度,因为他的计划制约了后续的每一步工作;

版本经理:根据修改结果发布一个测试版本,并知道版本中已包含了此次修改;

测试人员:在拿到该版本后需要对这个BUG导致的代码修改设计针对性的测试用例,这个测试用例可能是自动测试用例,也可能是人工测试用例,总之测试人员需要在测试管理系统来记录这个BUG修改的验证过程;

版本经理(又出现了! ):一切就绪后,向客户发布版本时还需要提供release notes以指明该版本中的这个改动(假设该BUG对用户可见);

技术支持:收到版本经理发布的版本、操作手册以及相关的FAQ,做好给客户提供支持的准备;

QA:仔细分析代码走查发现的所有BUG原因,如果是典型问题,还需要将该问题写入开发经验库,并通过知识共享的形式分享给所有团队成员;

项目经理(囧!):一切却还没有结束!项目经理的职责还需要从组织级的角度把控项目过程和研发全进程。一个开发人员的代码如果被统计出问题较多,应该对该开发人员开发的代码采取补救和预防措施,要么加强测试,要么给他一些培训,要么他根本不适合这个职位应该走人;对于这个开发人员的上司,他应该如何评价这个犯错的下属,因为几个BUG就认为他的工作不称职显然是不正确的,还有他如何衡量这个开发人员的工作量,是否是该员工工作量太多导致了该员工的代码质量不高?他还想知道该员工在引入这个BUG时当时的工作任务是否过于紧迫?当然,他也可能想分析一下这个典型的BUG引入会导致多少额外的工作量产生?

…………………….

这,也太麻烦了吧!

一切就只是因为一个开发人员的某行代码的BUG引发的血案?!

拜托!这就是研发工作的特点!好吗?!

理由很简单:没有一个集中管理、统一、高度整合的管理平台!

【解决方案推荐】

工欲善其身,必先利其器。软件企业也是如此,要做到高效的软件开发和过程管理,必须选择运用灵活高效、统一整合的开发管理工具。

TechExcel DevSuite 是一款高度集成、灵活可扩展的研发管理平台,实现了在同一平台下从产品的概念形成、需求分析、项目规划、任务跟踪到开发测试等全生命周期的管理。有效且协同地控制需求、资源、工期和质量,帮助研发团队快速改进软件开发过程,提高产品质量和工作效率。

一个平台即解决所有工具问题!

DevSuite平台不但包含了项目人员、架构师、开发人员和测试人员等所有人员对应的支持功能,增强了软件开发团队中的沟通与协作。举个例子,项目经理在定制项目计划时可以直接使用需求内容,在做计划的同时又可以给研发人员分配任务,研发人员在接到任务时可以直接查看相关联的客户需求,而测试人员在遇到缺陷时可以自动提交Bug,并且能实时查看Bug的修复进度。统一的平台既节省了所有员工的工作量,也保证了信息的一致性,同时也使得项目研发的所有历史都可追踪到。

也就是说,研发过程的每一个阶段轻而易举的实现业务关联,如用户需求与产品功能、定制项目可关联;产品功能与项目规划、开发任务、测试用例、测试任务可关联;测试任务与BUG可关联;开发任务与源代码可关联;知识条目与需求、功能、任务均可关联等等!

当然必须地要提一下,DevSuite平台还适用于跨地域、跨时区协同开发,支持分布式研发团队,实现高效率的沟通与协作。

产品研发过程常见问题2:难以量化的需求开发与管理

在软件项目的开发过程中,需求管理贯穿了软件项目的整个生命周期,在软件项目管理中需求工程是软件开发的第一步,是关键的一步,也是最难把握的一步。需求管理做得好坏直接影响到软件的质量,甚至软件项目的成败。从软件的项目立项、研发、维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能、优化性能、提高用户友好性的要求。

在项目管理过程中,项目经理经常面对用户的需求变更,如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越低落,将直接导致项目成本增加、质量下降及项目交付日期推后。这就决定了项目组必须拥有需求管理策略和有效的落地。

让我们一起来回顾一下实际研发过程中,通常会面临到的需求管理挑战:

1. 缺乏需求的集中管理

按照需求工程的说法,在进入开发环节之前,开发团队和客户之间需要形成一份完整的需求规格说明书,详细地说明目标软件的各种需求,这其中包括功能性需求、非功能性需求和其他各种约束。在典型的瀑布模型中,需求规格说明书是在需求分析阶段完成的。然而,由于软件外部环境的变化,很少有哪个项目在需求分析阶段就能将所有可能的需求准确无误地包含进来,并且在开发阶段不需要修改,一句话,需求的变更是不可避免的。需求的变更也需要及时地反应到需求管理中。

除此之外,在实际的敏捷软件开发中,对开发而言,需求的来源不一定像瀑布模型那样完善的需求规格说明书,而通常有以下几种:

1)客户初始的业务需求:很多客户可能只会告诉我们,它想做一个系统或者工具平台,大致是什么样子,应该具备哪些功能,但这种需求往往比较抽象,缺乏细致的分析。这种需求可能源自于一次交谈,或者一封Email,形式上并不正式。

2)客户对项目快速原型的反馈意见:对于需求,在实际项目开发中,客户关注的业务功能,项目经理关注的是抽象设计,而开发人员关注的却是具体实现。在项目初期,客户往往也不是很清楚他们要什么,或者理想中的产品到底最后会是什么样的,界面布局,操作流程等等。这一点,在新产品的开发中尤为明显。

这时候,就需要开发团队能够按照现有的理解快速地开发一个原型,作为开发团队和客户讨论和分析需求的共同基础,原型能够帮助用户更好地发掘和定义需求。客户对于原型的论证作为反馈意见也可以使开发团队更加直观和感性地认识客户的需求。

3)客户对每个迭代周期发布的版本的修改建议

如果该企业采用的是敏捷开发,每个迭代周期都要发布一个可用的版本给客户,该版本尽可能多地实现了当前迭代周期内的需求以及之前迭代周期内遗留下来的需求。客户要验证需求的实现是否符合他们的要求,并提出修改意见和建议。

4)客户在研发周期中的需求变更

需求来源的特殊性决定了软件开发过程中需求管理的特殊性,尤其是对于一个同时承担数个小项目的开发团队而言,不同的项目需求是由不同的开发人员或QA分别进行管理和跟踪的,缺乏集中的管理,对于需求的跟踪也比较原始。往往是手工整理需求邮件和需求列表,然后形成简单的需求文档,在需求查询和状态维护方面存在明显不足。

2. 需求变更频繁

软件开发的显著特点之一就是灵活性、机动性、对变化的快速响应能力。尤其是敏捷开发过程,需求变更更为频繁。敏捷开发的口号是拥抱需求变化,也就是说,开发团队对于客户提出的需求变更通常是抱以欢迎的态度,尽管这些变更可能会给项目计划和项目进度带来麻烦,但这种观念上的转变更能体现开发团队和客户之间合作的诚意。

客户在迭代周期中的变更大致可以分为五种类型:添加新需求、删除本次迭代周期内的需求、删除之前迭代周期内的需求、更改本次迭代周期内的需求、更改之前迭代周期内的需求。这就是说,开发团队需要实时高效地管理这些变更,并且将需求变更涉及到的迭代周期内项目计划和人员安排变更的影响最小化。

3. 缺乏有针对性的需求管理流程

传统的需求管理过程,尤其是其中的变更控制过程是针对那些组织机构清晰,只能定义明确的传统软件项目,其流程相对比较严谨和死板。同时,为了弥补需求变更对项目进程带来的影响,开发人员常常需要快速的进行功能修改和增加,而没有遵循统一的流程控制,从而常常使得软件开发的有序性被破坏,人为地增加了工作量。这就需要有更为高效和精简的需求管理过程以及相应的工具支持。

4. 需求、测试用例、Bug管理脱节

软件开发中,需求和测试用例是紧密联系的,通常来说,一条需求只有通过了所有针对该需求的测试之后才能说这条需求的实现真正实现了。而测试的结果是产生Bug报告,如果针对某条需求的一个测试用例没有通过测试,换句话说,也就是产生了一个Bug,这就说明该需求根本没有完成。同时,需求的变更直接影响到与该需求相关的测试用例的更新,继而影响到现有Bug的状态的更新。然而现实情况却是,大多数敏捷开发团队都没有实现需求、测试用例和Bug的一体化管理。

我们希望在需求、测试用例和Bug之间建立一种动态的联系,能够实时地更新三者的状态,并且实现三者之间状态的动态联动,从而减少开发团队在管理和维护需求、测试用例和Bug时的工作量。

5. 缺乏量化的项目管理反馈

企业在项目管理中,需求的频繁变更对项目管理者评估需求、制定迭代周期内的项目计划都是个巨大的挑战。管理者在需求评估经验和能力上的不足,以及管理者对团队成员开发能力认识不足容易造成需求评估出现大的误差,虽然这种误差是不可避免的、但是我们希望可以通过历史评估数据的反馈来帮助项目管理者积累经验,逐步修正和调整自己的判断和评价体系,从而尽可能减小由于评估误差引起的项目风险。而没有工具的支持,历史的准确数据则很难获取。

总结以上问题,显而易见,需求管理是软件项目中一项十分重要的工作,据调查显示在众多失败的软件项目中,由于需求原因导致的约占到45%,因此有效的需求管理是企业软件开发项目顺利达成目标的重要支撑条件。如何理解项目开发的目的和用途,梳理用户需求,监控需求变化,进行需求确认,对需求风险进行防范,并利用工具进行有效的实施需求管理工具,方能推进软件项目良性发展,达到用户与软件开发企业的双赢。

有效的需求管理方法与工具

方法一:量化需求管理

如前所述,企业研发项目通常规模巨大,涉及部门众多,需求功能描述文件中包含众多内容,若仅仅只用整篇的文档来指导开发和测试工作,很容易引起任务分配的混乱;当发生需求变更时,也很难追溯历史版本。

TechExcel公司推出的DevSuite产品研发管理软件,从实践中提炼出一个行之有效的解决方法——用规范点(Specification,以下简称Spec)量化需求,正规表达每一个功能单元。只需打开《需求功能描述书》的WORD文档,就可以利用插件,将其中的功能单元逐条地复制出来,在需求管理系统 DevSpec中直接生成Spec。相对于需求,Spec是更面向技术人员的语言。

客户业务需求可以在平台中进行集中管理,并以需求结构化和条目化的形式管理需求,为需求的评估、追踪与变更管理提供了基础。同时,通过系统强大的页面自定义能力,我们可以管理需求的来源、难度、实现时间、实现成本等,这些信息为需求优先级的评估,提供了量化的指标,帮助项目经理准确的排布需求优先级,让团队优先实现最重要、最紧急、客户价值最高的需求。

此外,需求说明书、分析设计文档、评审记录等,均可以以附件形式保存,且能对文档的版本进行有效的管理。

方法二:有序管理需求变更

在实际项目中,实现需求变更的成本随着开发进度呈指数级增长。需求变更的流程化管理能保障正常的开发进度,将变更及时反应到开发和测试等部门。

以下描述的是一个典型过程(如图1)。一项变更请求在需求管理系统中被提交后,与之关联的各个部门,如市场、项目管理、产品研发、QA、测试等,都会有相关人员接到系统通知而介入。他们将组成评估团队,根据实施难度、周期、费用、对其他机制的影响等指标,对该变更进行全面考察和评估。

DevSpec提供了专门的变更管理视图,在这里,我们可以管理各个项目中的需求变更任务,不论是需求增加、减少或是改变,我们都会为之建立一条变更记录,在这条变更记录中,记录了变更的来源、原因、具体描述和变更成本、收益估算,这些信息可以成为变更评估的标准与依据。

每个变更任务均可以和在变更中受影响的需求相关联,包括增加的、减少的和变更的需求。通过需求变更列表,我们可以清晰的看到项目中当前有多少变更任务,影响了哪些需求,也能够察看到整个项目周期中总计发生了多少变更,总计影响了多少需求条目。

方法三:标准的需求管理流程

需求管理的整个过程都可以用标准、有效的工作流控制起来,如需求变更流程的设定,通常包括请求、复查、讨论、调整、批准和拒绝等状态,只有具备权限的项目成员才能改变状态。按照预设的流程,各方审批全部通过后,该变更才能被接受。

DevSuite提供了灵活的工作流程定制和管理能力,图形化工作流引擎将工作流图形转变为工作流脚本,因此项目管理员可以在图形化界面中,轻松快速的定制项目组项目管理流程。

如上图中红色框内为需求的工作流程,用户可以根据公司的实际业务流程,定制符合需要的需求流程图,系统可以同时定义多条项目工作流程,以适应不同规模、不同类型的项目。

方法四:需求有效驱动开发与测试

在理想的研发管理平台中,需求管理与所有规划、开发、测试管理过程相集成。因此,需求的正规表达Spec,以及围绕Spec正在或将要进行的开发任务和测试任务,都能被纳入综合考虑的范畴,便于评估团队估算该变更造成的“牵一发而动全身”的潜在影响。有时,还要结合商业需求进行考量,为了赶上产品的最佳发布时机,有些变更将被拒绝。

变更请求被批准后,与之相关联的开发、测试任务都会在系统中被一一标记出来,以提醒程序和测试部门的相关负责人,引发这些任务的需求已经变更,请他们做出相应的调整处理。在系统中跟踪这些任务的进展,可以实时掌握该变更的落实情况。变更完成后,也可以核算它对开发周期和费用的实际影响,与评估时的预测相对比,找出差异的原因,为将来更准确地评估提供参考。

DevSuite提供了变更标识功能,通过变更标识子任务,我们可以选择受影响的开发、测试任务,建立变更标识子任务,该子任务将以旗帜形式反映到开发、测试任务中。变更标识子任务不但能够标识变更,还能够帮助团队进行变更反馈,通过文字记录和状态改变,任务负责人员可以将需求变更对于任务的影响及时回馈给需求管理人员。另外,对于需求实际改变的内容,需求负责人员可以创建变更推送子任务,通过邮件系统,可以将变更信息发送给该需求的干系人。

方法五:需求指导项目规划与执行

纵使项目最初都有比较全面的计划,延期仍然会时常发生,即便是在管理机制比较成熟的大型研发企业中,跳票也不可避免。通常情况下,导致跳票主要有以下几点原因:功能设计规划过多,很多又无法删除,如不增加开发时间,产品几乎不能完成;缺乏有经验的管理或开发人员,不能准确估计工作量;任务执行缺乏规范,开发人员随意更改功能设计,影响整体进度;过高的人员流动率,导致知识的流失,任务不能及时跟进。

针对以上问题,只要从量化需求入手, 有序管理需求变更,用正规表达、可量化的Spec来指导项目规划、编程和测试,就能把风险降到最低。

基于结构化的Spec集合,可以将项目分解为多个子项目,将Spec直接分配到各自对应的子项目中,以此来规划和估算子项目的工作量。项目管理人员为每个子项目分配资源,安排优先顺序,确定项目里程碑。

在项目执行时,可以为每一个Spec产生出一系列开发任务。自定义的工作流机制确保每一个任务从提交到最终解决的生命周期都严格符合业务流程,保证任何时刻都有唯一的负责人、状态和截止日期。这样,不仅能规范产品研发过程,还能降低人员流动带来的风险。任务的流转及相关知识文档,如源代码、设计资源等,都得到系统完整的记录,还能与任务关联,便于追溯。一旦有人离开项目,接替的人员能够查看任务和文档信息,迅速弥补人员空缺。

DevSuite需求管理视图提供产品版本树管理,产品经理可以创建新产品和版本,每个需求和功能点可以在多个产品和版本实现。通常一个产品的各个功能可能会分布在不同的项目中实现,项目经理如何在产品发布的时候知道每次发布实现了那些功能,各个功能点的负责人是谁,通过DevSpec视图提供的产品版本树功能,项目经理可以轻松的过滤出每个发布版本实现了那些客户需求。

支持产品的版本规划,当收集到的需求经过评审等规定流程决策后,将需求与规划好的产品版本关联起来,通过产品版本视图可以直接追踪到需求与产品版本的关系,未决定开发的需求可以不设定版本,等决定后再关联相应产品版本。

产品研发过程常见问题3:跨部门协作困难

产品研发在企业中是一项综合性的工作,存在着大量需要跨部门协作的工作,几乎需要所有的职能部门都将参与其中。据研究发现,目前企业中多达50%以上的工作都适用于跨部门协作管理,而正如此却带来了部门协作困难、全局监控难、资源协调难等等各种各样的问题。这些问题几乎困扰着现在所有的研发企业,不管他们在组织方式上是采用项目结构、职能结构还是矩阵结构,跨部门协作困难的挑战无处不在。

部门协作困难面临的挑战:

1. 缺乏对产品开发统一的认识

首先,各部门对产品开发的成功标准缺乏一致的认识。比如技术部门认为只要产品顺利转入测试就成功了,测试部门只关注产品的检测与执行测试任务,质保部门理解的成功则是产品研发流程和质量的稳定,而市场部门则关注产品何时上市、销量如何。各部门在产品开发过程中缺乏一致的目标是带来跨部门协作困难的根源之一。更有甚者,产品开发被认为只是研发部门的事,其它部门只是义务配合一下,这与产品开发活动的本质就相差太远了。

2. 缺乏有效的跨部门协同机制

产品开发的主体是研发部门,每个部门却是各有所规,各有各的服务流程和工作规范,如果没有建立与营销、项目管理、测试、质保等部门建立有效的协同机制,对客户、市场的响应就会比较慢。同时,对于企业内容来讲,如果没有信息共享的工作平台,开展并行工程困难,开发周期长;很难详细掌握各开发项目的进度,每个人在做什么,做到什么程度。企业外部同样如此,与客户、合作伙伴缺乏协同工作的信息平台,不仅异地协调困难,工作效率低且质量难以控制。

3. 缺乏明确的产品开发流程

缺乏明确的产品开发管理流程及系统控制手段,职责不明,执行较弱,每个人按照各自习惯做事,产品开发的品质控制很难到位。很多公司制定了产品开发流程,但它们的流程只是一些功能流程(如硬件开发流程、测试流程)的集合,而缺乏一个联合了所有的职能部门的集成的总体流程,这就象作战时缺乏总体的“作战地图”和“作战方案”,导致项目组如何开展工作,各部门如何参与到产品开发过程中缺乏统一部署和安排,临阵时间各行其是。

4. 缺乏有效的项目运作原则和机制

绝大多数的研发企业都会采用项目组的方式来负责产品开发。但是,真正有责有权、运作高效的项目组少之又少。更多的情况是,项目经理的角色更象是一个行政管理人员、记录人员和协调人员,而不是领导者,项目组并不是真正的跨部门小组,其权利和责任比企业普通的职能部门拥有的还要少,责任的划分模糊。企业在项目运作层面没有有效的运作原则和机制,一旦跨部门协作出了问题,部门之间就相互抱怨及推诿责任。

5. 缺乏有效的手段进行绩效管理

很多企业没有有效的手段进行绩效管理,工作量难统计,每一个人、每一个部门承担的工作没有系统的记录,做好做坏没有明显分别(至少没有让员工真正有动力),所以缺乏阶段性的及时激励、奖惩等,导致企业无法通过绩效管理将压力层层分解和传递,无法支撑企业战略目标的实现。

显而易见,产品开发是一个跨部门的系统工程,必须有一个跨部门、跨系统的平台对最终结果负责,协同各项活动,确保沟通、协调和决策的高效。如何使产品的研发过程规范、标准,但又不失灵活性,并利用工具进行有效的管控和协同,方能推出产品研发的良性发展,从而创造高效的研发能力,提升企业的核心竞争力。

有效的跨部门、跨系统研发管理方法与工具:

TechExcel DevSuite产品研发管理解决方案是产品研发和项目开发团队量身定制的解决方案。方案通过一个平台实现了对需求、项目、计划、任务、开发、测试、质量等研发各阶段全过程的管理,为企业研发体系提供一套流程整合、可灵活自定义配置的标准管理平台。

方法一:协同管理平台

DevSuite为所有角色提供了一个标准化、规范化的工作平台,产品经理能够通过需求和计划模块收集、整理和定位产品功能,经评审后规划到某个产品版本中;研发中心和工厂的开发任务均按功能组织,开发人员能直接看到上游功能、其他部门的谁在与自己协作、以及未来的测试人员将是谁,从而实现跨部门工作,很好的解决了研发团队协作难的特点。

我有哪些任务要处理?谁分配给我了任务?我需要做什么?还有谁和我一起完成这个任务?我的任务处于计划中的哪个阶段?任务来自于哪个功能?功能的具体描述是什么? 谁和我一起开发这个功能,其他人的开发进度如何?平台一一给你答案!

方法二:规范化的管理体系

DevSuite开发管理过程体现了规范化的管理体系以及先进的管理理念,以需求为导向,覆盖了业务部门、研发部门以及各分支机构等所有涉及到产品研发的各职能部门,通过统一的开发管理流程,各职能部门均可以在一个平台下进行需求的录入、审核、审批、监控等操作,整个研发生命周期的每个环节都制定了详细的要求、模板以及操作规程,降低了过程中的信息损耗,建立了知识沉淀和共享的机制,既保证了需求过程中的信息共享,同时又提升了各职能部门协同工作能力。

功能驱动的研发过程管理,保障团队高效协同

方法三:标准化的开发管理流程

DevSuite帮助企业建立起一套规范化、标准化的开发管理流程,整个平台由统一的知识库和不同的工作流环节构成,同时灵活定制“跨流程自动化规则”,设定流程的出入口,及不同流程任务记录间的互操作关系。

DevSuite提供相当灵活的工作流定制功能,流程的定制是在一个可视化的图形界面完成的,只需要通过非常简单的拖拽式、图形化工作流编辑器,即可自定义量身定制出管理流程,使得管理员的工作更加高效;此外,在工作流中还可以加入复杂的权限设置,包括与界面字段、与人员相配合的流程权限,为开发管理过程的高效率、高质量提供必备的保障作用。

方法四:项目过程透明化提高沟通效率

在企业研发项目中,DevSuite实现了对于新业务、新需求的提出、审批到开发过程、测试过程、发布过程等的全程信息的记录管理和信息共享,使得开发全过程透明化,不但降低多方沟通成本,而且简化沟通流程,减少沟通不畅导致的冲突。

项目人员可以以列表的形式表现出来的所有项目明细信息:查看到项目组完成了哪些项目、有哪些项目正在进行,各个项目均处于什么状态,项目经理是谁等信息。对于企业的项目管理人员来讲,不但实现了项目过程透明化,实时监控研发进度情况,及时发现进度问题,并跟踪问题的解决;此外,分析资源使用情况,分析资源工作量的分布,以及工作压力,以更好的分配和协调资源与任务。

方法五:工作的量化管理和绩效统计

DevSuite提供了相当丰富的报表来辅助管理进行工作统计和绩效考核的工作,在每一个阶段,针对不同角色的报表,系统都有对应的报表反映团队的工作情况,能够根据各种过程中记录的过程信息提供多种监控、统计报表,为管理者提供量化指标数据,起到辅助管理的作用。同时,项目管理者可以在不登录系统的情况下,直接通过URL链接了解项目的进展信息、员工工作情况、测试进度以及其它的项目信息。

产品研发过程常见问题4:多项目管理挑战多

在现代企业管理中,往往会把企业战略落实在项目中,项目的执行力直接关乎到企业目标的实现。无论项目是新产品开发、实施信息技术,还是构建工程等,企业都面临着在项目上获利的日益沉重的压力。为了确保项目成功,企业需要深入了解和控制最新的项目信息,包括项目计划、进度安排、预算、资源、变更和风险等。另外,企业还需要跨多个项目、部门、业务单元和地理区域累积和管控信息。

首先让我们先以产品研发过程为例,一起来总结一下常见的项目管理问题:

1. 对组织级IT项目管理的需求

很多企业的新产品开发都外包给开发商,如银行核心业务系统,项目周期长达几年,多则涉及数十个供应商和系统。那么如何理顺复杂项目群的关系,如何控制开发商的进度、预算、质量、资源、变更和风险等就是甲方不得不考虑的首要问题;同时,企业还需要跨多个项目、部门、业务单元和地理区域积累和管理信息。

除此之外,项目的运作还需要与企业内外各单位、各部门协调,项目的管理也面临着来自领导、业务部门、开发商的压力。事实证明,仅仅凭项目经理努力,是无法保证项目的成功的。项目的成功,离不开组织级项目的管理,如项目资源和资金的分配、项目范围管理、项目经验总结、项目过程控制、风险的识别与应对、企业的内部管理机制与流程等等各方面。

2. 缺乏可管理项目生命周期的统一平台

在产品研发的项目管理中,不但涉及到项目信息、需求管理、项目规划、开发任务、测试任务等各个环节的全程跟踪和管理,项目经理通常要花费大量时间从多个系统和团队成员那里收集信息,而且项目的需求、进度、质量和成本控制也常常遇到各种阻碍。与此同时,由于每个项目的业务特点均有不同,项目的状况也不一样,这就给企业管理者带来诸多挑战。

不仅于此,分离的流程和信息系统也造成了多个项目的信息孤岛,限制了至关重要的协作和管理的透明度,以至无法高效地响应不断变化的项目需求。

3. 难以实时掌控项目进展与效果

正如战场驰骋上指挥官必须随时了解下属队兵的状况,高层领导需要实时掌控众多项目的进展与绩效。企业面对项目繁多,信息分散,项目实施进展如何?项目的工时和成本如何?项目是否达到了某个重要里程碑?项目对应的任务/需求/缺陷的信息如何?项目目前存在什么问题?项目是否存在风险?多个项目的轻重缓急如何识别?显然,如果项目实施过程如果无法做到透明化与可视化,高层领导将无法实时掌握项目进展与绩效,无法平衡和协调资源和任务的分配,无法做出及时准确的项目分析和决策。

4. 项目资源保障难协调

每个项目的实施,包含规划、概念、计划、研发与测试、发布与维护等多个环节,涉及到分布在各个部门的各种资源的协同。项目资源需要跨多个地理区域的团队成员、合作伙伴和客户之间进行很好地协调。然而,倘若各方都提供多个流程和系统,那么协调各种不同的资源来实现共同的项目目标会变得更加困难。而且,分离的流程和系统很难轻松地识别和快速部署适当的员工、承包商或设备。

如何查看项目的资源需求?能够在企业、项目或资源层次上监控资源的利用率?如何了解人员的工作量负荷?如何更好的分配和协调资源?实现跨多个项目充分利用资源?都是产品研发项目管理刻不容缓需要思考的问题。

5. 缺乏高效的项目质量管理平台

产品开发的一个重要指标是质量水平。一旦系统出问题,将会带来巨大的损失以及社会影响。质量保证是项目研发周期中的重要环节,建立质量管控体系,已经是刻不容缓的任务。全面的质量管理,不仅包含项目管理领域的风险管理,包括工程领域的技术评审、产品集成、系统测试、验收测试及后期的维护管理,还包含支撑过程的产品与质量保证活动。在IT项目管理中,如何将风险防控、技术评审、系统测试、质量保障等多种措施集成在一起,才将使得全面质量管理的理念更加丰富,才有利于保障交付高质量的产品。

6. 对开发商的工作量没有有效的统计和考核

IT项目的实施对于绩效考核非常关注,但是在以往的统计中,绩效数据大多是管理人员凭借主观的想法记录的,难免造成统计结果的不准确。研发人员的工作需要用统一的平台统一管理,人员的日常工作需要在平台中记录,员工的工作量以及项目进展均由系统自动统计、动态产生的,也就说是,所有的数据都要在实际工作中产生,所有数据都是真实客观的,管理人员也可以随时查看。只有满足这些要求,IT项目的报表和绩效数据才能成为真实的指标,真正帮助到研发项目管理。

有效的项目管理方法与工具——TechExcel DevSuite

DevSuite组织级项目管理

组织级项目管理,提供了全面解信息中心/研发中心的所有项目整体概况,在组织级层面上全面跟踪项目的需求、进度、质量和成本;实现项目管理的“过程透明化”,高层领导实时掌握项目进展与绩效,通过组合分析,平衡资源分配,基于准确数据,做出更及时准确的决策。

多项目管理视图——管理者通过组织级项目管理视图,可以全面了解当前项目的进度、工时、需求、任务和缺陷等。通过红绿黄灯来标识项目的健康状况,如红灯表明一个项目与计划相比已经延期超过30%,黄灯表明一个项目与计划相比已经能够延期超过15%,绿灯表明一个项目是按照计划正常进行的。

项目协同中心——为管理者提供了一个全面了解项目进度、需求、质量、成本的视图。如果一个项目已经亮了红灯,管理者点击红灯就可以知道是那个里程碑节点出现了延期,根据里程碑节点的红绿灯情况,可以很快的追溯到哪个需求/任务出现了延期,项目经理可以及时协调项目的资源或任务,保证项目按时上线。对于项目里程碑进度、工时、需求、缺陷等信息,系统提供多种维度的报表给管理者提供准确有效的数据,帮助领导做项目分析和辅助决策。

个人工作中心——是关于个人工作内容的跨项目的信息整合窗口。通过个人工作中心,项目团队成员可以快速了解自己负责、分配、创建和经手的各类项目数据(需求、知识、开发任务、测试任务和测试用例)。个人工作中心提供了多种查看方式,例如按项目组合的方式组织和查看多个项目等,方便项目成员查看自己要关注的项目数据信息, 同时也方便团队成员对待处理的任务进行操作。同时,在个人工作中心中,管理者不仅可以查看自己的工作内容,还可以查看其管辖的团队成员的工作内容及进展情况。

DevSuite管理整个项目周期

DevSuite为您提供统一的项目信息管理平台,能够实现项目,需求,计划,开发任务和测试任务的全程跟踪和管理;有效避免信息孤岛,减低企业的管理成本。

在DevSuite中,项目计划不再是单纯的二维时间表,它与需求管理平台、任务跟踪平台和质量管理平台无缝集成,使得产品功能、开发任务及质量管理活动真实融入了项目计划,使得项目计划变得“活”起来。

同时,项目实施过程不再是信息孤岛,工作流引擎机制使得任务按照设定的流程自动流动,基于功能驱动形成的横向开发任务,使得项目实施处于协同工作状态,有效降低了沟通和管理成本。

项目监督与控制的难点在于如何呈现项目的实际进度,在DevSuite中,项目监督与控制不再需要通过比较多个文档,查看多个报告,数据自动化流动和同步使得任务结果自动反馈汇总到统一跟踪平台中,项目情况一目了然。

DevSuite项目过程透明化、可视化

DevSuite实现了对于新业务、新需求的提出、审批到开发过程、测试过程、发布过程等的全程信息的记录管理和信息共享,帮助企业实现项目管理的“过程透明化”和提升组织级项目管理能力。

项目仪表盘——对管理的所有项目的进度、状态、数据等重要信息进行统一的展示,供项目高层管理人员查看,从而掌握项目的整体进展情况。通过项目仪表盘能够在同一视图下查看所有项目的进展信息,包括项目的进度状态、预警标识、计划开始日期、计划结束日期、对项目数据(开发任务、需求规范点、测试任务)的统计等,提供给项目经理、项目高层领导一个组织级的视图对所有的项目进行统一监控和决策。

多项目计划视图——项目经理除了关注单个项目的进展、资源使用情况等具体项目信息外,也希望能够在一个视图中查看多个项目的项目计划,从而对有关联的多个项目进行更好的计划和监控。在DevSuite中,计划视图下面即可以看到多个项目的项目计划,包括甘特图、资源使用情况、项目进度预警、里程碑信息、任务信息等,方便项目经理在计划视图中对多项目进行管理和监控,根据项目的实际进展了解项目的状态,及时对项目计划进行跟踪和调整,更好的保证项目的最大收益和完整情况。

DevSuite项目协同工作平台

项目资源需要跨多个地理区域的团队成员、合作伙伴和客户之间进行很好地协调。DevSuite使各种信息都唾手可得,因此你可以轻松地管理项目。

管理项目资源——在DevSuite中,项目人员可以以列表的形式表现出来的所有项目明细信息:查看到项目组完成了哪些项目、有哪些项目正在进行,各个项目均处于什么状态,项目经理是谁等信息。对于企业的项目管理人员来讲,不但实现了项目过程透明化,实时监控研发进度情况,及时发现进度问题,并跟踪问题的解决;此外,分析资源使用情况,分析资源工作量的分布,以及工作压力,以更好的分配和协调资源与任务。

资源分配——合理的人员分配,对项目开发的进度和质量尤为重要。在DevSutie中,可以分别为每个项目单独配置资源,同时也可以把同一个人分配到多个项目当中去。在分配资源的时候,可以实时地查看相应的项目成员在其他项目中的工作量状况,以作为当前项目资源分配的参考。这样既可以有效而且充分地利用资源,又能够避免资源冲突。如图所示,在资源视图中,项目管理员可以查看某个人所参与的所有项目情况,也可以按组、按帐户类型来查看多人的项目参与情况。在项目规划完毕后,用户可以得到项目实施的计划资源。

DevSuite项目的高质量控制

在项目管理过程中,全面的质量管理不仅包含项目管理领域的风险管理、工程领域的技术评审、产品集成、系统测试、验收测试及后期的维护管理,还包含支撑过程的产品与质量保证活动,DevSuite将风险防控、技术评审、系统测试、质量保障等多种措施集成在一起,使得全面质量管理的理念更加丰富,有利于保障交付高质量的产品。

测试用例管理——根据产品功能直接生成测试用例,保证测试覆盖范围。一般情况下,在整个测试过程中,创建测试任务要花费大量的时间,一种合理和高效的做法是把那些有复用价值的测试任务进行提取,找出其中的可复用的部分,如:测试步骤、期望的结果等,把这些可复用的内容加以整理形成测试用例,这样在以后的测试任务创建时,只需用这些模板结合具体的测试环境生成测试任务即可。

DevSuite可以直接将系统管理的客户需求导入,生成测试用例,同时这些用例也和相关的客户需求建立了链接关系。将客户需求直接导入为功能点,不但能帮助测试人员了解客户相关需求,还能够帮助测试团队保障测试用例能够完全覆盖所有的客户需求。

高效保证测试质量,通过测试环境变量复用测试用例,保证相同的业务功能在不同环境中的测试质量。

DevSuite丰富的报表与分析

项目管理涵盖了项目信息、需求、项目规划、开发任务、测试任务的全程跟踪和管理。DevSuite针对每一个环节,不同的角色,都提供了对应的、相当丰富的报表来反映团队的工作情况。

DevSuite能够根据各种过程中记录的过程信息提供多种监控、统计报表,为管理者提供量化指标数据,起到辅助管理的作用。同时,项目管理者可以在不登录系统的情况下,直接通过URL链接了解项目的进展信息、员工工作情况、测试进度以及其它的项目信息。如项目的管理者可以查看一个或多个项目的报表,包括里程碑报表、时间跟踪报表、Borndown报表、分布图、趋势图等形式的统计数据,帮助管理者能够更好的了解当前项目的进展状态。

以上所述关于产品研发工具的支持,希望与大家共同分享与探讨,探索出一条以有效的项目管理推动产品研发整个生命周期、实施服务的最佳途径,项目管理企业能够合理运用企业各种资源,快速适应市场环境的变化,提高企业项目包括IT信息化项目实施的成功率,从而提升企业的竞争优势!  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多