⽬录
产品研发过程常见问题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 DevSuiteDevSuite组织级项⽬管理
组织级项⽬管理,提供了全⾯解信息中⼼/研发中⼼的所有项⽬整体概况,在组织级层⾯上全⾯跟踪项⽬的需求、进度、质量和成本;实现项⽬管理的“过程透明化”,⾼层领导实时掌握项⽬进展与绩效,通过组合分析,平衡资源分配,基于准确数据,做出更及时准确的决策。
多项⽬管理视图——管理者通过组织级项⽬管理视图,可以全⾯了解当前项⽬的进度、⼯时、需求、任务和缺陷等。通过红绿黄灯来标识项⽬的健康状况,如红灯表明⼀个项⽬与计划相⽐已经延期超过30%,黄灯表明⼀个项⽬与计划相⽐已经能够延期超过15%,绿灯表明⼀个项⽬是按照计划正常进⾏的。
项⽬协同中⼼——为管理者提供了⼀个全⾯了解项⽬进度、需求、质量、成本的视图。如果⼀个项⽬已经亮了红灯,管理者点击红灯就可以知道是那个⾥程碑节点出现了延期,根据⾥程碑节点的红绿灯情况,可以很快的追溯到哪个需求/任务出现了延期,项⽬经理可以及时协调项⽬的资源或任务,保证项⽬按时上线。对于项⽬⾥程碑进度、⼯时、需求、缺陷等信息,系统提供多种维度的报表给管理者提供准确有效的数据,帮助领导做项⽬分析和辅助决策。
个⼈⼯作中⼼——是关于个⼈⼯作内容的跨项⽬的信息整合窗⼝。通过个⼈⼯作中⼼,项⽬团队成员可以快速了解⾃⼰负责、分配、创建和经⼿的各类项⽬数据(需求、知识、开发任务、测试任务和测试⽤例)。个⼈⼯作中⼼提供了多种查看⽅式,例如按项⽬组合的⽅式组织和查看多个项⽬等,⽅便项⽬成员查看⾃⼰要关注的项⽬数据信息, 同时也⽅便团队成员对待处理的任务进⾏操作。同时,在个⼈⼯作中⼼中,管理者不仅可以查看⾃⼰的⼯作内容,还可以查看其管辖的团队成员的⼯作内容及进展情况。DevSuite管理整个项⽬周期
DevSuite为您提供统⼀的项⽬信息管理平台,能够实现项⽬,需求,计划,开发任务和测试任务的全程跟踪和管理;有效避免信息孤岛,减低企业的管理成本。
在DevSuite中,项⽬计划不再是单纯的⼆维时间表,它与需求管理平台、任务跟踪平台和质量管理平台⽆缝集成,使得产品功能、开发任务及质量管理活动真实融⼊了项⽬计划,使得项⽬计划变得“活”起来。
同时,项⽬实施过程不再是信息孤岛,⼯作流引擎机制使得任务按照设定的流程⾃动流动,基于功能驱动形成的横向开发任务,使得项⽬实施处于协同⼯作状态,有效降低了沟通和管理成本。项⽬监督与控制的难点在于如何呈现项⽬的实际进度,在DevSuite中,项⽬监督与控制不再需要通过⽐较多个⽂档,查看多个报告,数据⾃动化流动和同步使得任务结果⾃动反馈汇总到统⼀跟踪平台中,项⽬情况⼀⽬了然。DevSuite项⽬过程透明化、可视化
DevSuite实现了对于新业务、新需求的提出、审批到开发过程、测试过程、发布过程等的全程信息的记录管理和信息共享,帮助企业实现项⽬管理的“过程透明化”和提升组织级项⽬管理能⼒。
项⽬仪表盘——对管理的所有项⽬的进度、状态、数据等重要信息进⾏统⼀的展⽰,供项⽬⾼层管理⼈员查看,从⽽掌握项⽬的整体进展情况。通过项⽬仪表盘能够在同⼀视图下查看所有项⽬的进展信息,包括项⽬的进度状态、预警标识、计划开始⽇期、计划结束⽇期、对项⽬数据(开发任务、需求规范点、测试任务)的统计等,提供给项⽬经理、项⽬⾼层领导⼀个组织级的视图对所有的项⽬进⾏统⼀监控和决策。
多项⽬计划视图——项⽬经理除了关注单个项⽬的进展、资源使⽤情况等具体项⽬信息外,也希望能够在⼀个视图中查看多个项⽬的项⽬计划,从⽽对有关联的多个项⽬进⾏更好的计划和监控。在DevSuite中,计划视图下⾯即可以看到多个项⽬的项⽬计划,包括⽢特图、资源使⽤情况、项⽬进度预警、⾥程碑信息、任务信息等,⽅便项⽬经理在计划视图中对多项⽬进⾏管理和监控,根据项⽬的实际进展了解项⽬的状态,及时对项⽬计划进⾏跟踪和调整,更好的保证项⽬的最⼤收益和完整情况。
DevSuite项⽬协同⼯作平台
项⽬资源需要跨多个地理区域的团队成员、合作伙伴和客户之间进⾏很好地协调。DevSuite使各种信息都唾⼿可得,因此你可以轻松地管理项⽬。
管理项⽬资源——在DevSuite中,项⽬⼈员可以以列表的形式表现出来的所有项⽬明细信息:查看到项⽬组完成了哪些项⽬、有哪些项⽬正在进⾏,各个项⽬均处于什么状态,项⽬经理是谁等信息。对于企业的项⽬管理⼈员来讲,不但实现了项⽬过程透明化,实时监控研发进度情况,及时发现进度问题,并跟踪问题的解决;此外,分析资源使⽤情况,分析资源⼯作量的分布,以及⼯作压⼒,以更好的分配和协调资源与任务。
资源分配——合理的⼈员分配,对项⽬开发的进度和质量尤为重要。在DevSutie中,可以分别为每个项⽬单独配置资源,同时也可以把同⼀个⼈分配到多个项⽬当中去。在分配资源的时候,可以实时地查看相应的项⽬成员在其他项⽬中的⼯作量状况,以作为当前项⽬资源分配的参考。这样既可以有效⽽且充分地利⽤资源,⼜能够避免资源冲突。如图所⽰,在资源视图中,项⽬管理员可以查看某个⼈所参与的所有项⽬情况,也可以按组、按帐户类型来查看多⼈的项⽬参与情况。在项⽬规划完毕后,⽤户可以得到项⽬实施的计划资源。DevSuite项⽬的⾼质量控制
在项⽬管理过程中,全⾯的质量管理不仅包含项⽬管理领域的风险管理、⼯程领域的技术评审、产品集成、系统测试、验收测试及后期的维护管理,还包含⽀撑过程的产品与质量保证活
动,DevSuite将风险防控、技术评审、系统测试、质量保障等多种措施集成在⼀起,使得全⾯质量管理的理念更加丰富,有利于保障交付⾼质量的产品。
测试⽤例管理——根据产品功能直接⽣成测试⽤例,保证测试覆盖范围。⼀般情况下,在整个测试过程中,创建测试任务要花费⼤量的时间,⼀种合理和⾼效的做法是把那些有复⽤价值的测试任务进⾏提取,找出其中的可复⽤的部分,如:测试步骤、期望的结果等,把这些可复⽤的内容加以整理形成测试⽤例,这样在以后的测试任务创建时,只需⽤这些模板结合具体的测试环境⽣成测试任务即可。
DevSuite可以直接将系统管理的客户需求导⼊,⽣成测试⽤例,同时这些⽤例也和相关的客户需求建⽴了链接关系。将客户需求直接导⼊为功能点,不但能帮助测试⼈员了解客户相关需求,还能够帮助测试团队保障测试⽤例能够完全覆盖所有的客户需求。
⾼效保证测试质量,通过测试环境变量复⽤测试⽤例,保证相同的业务功能在不同环境中的测试质量。
DevSuite丰富的报表与分析
项⽬管理涵盖了项⽬信息、需求、项⽬规划、开发任务、测试任务的全程跟踪和管理。
DevSuite针对每⼀个环节,不同的⾓⾊,都提供了对应的、相当丰富的报表来反映团队的⼯作情况。
DevSuite能够根据各种过程中记录的过程信息提供多种监控、统计报表,为管理者提供量化指标数据,起到辅助管理的作⽤。同时,项⽬管理者可以在不登录系统的情况下,直接通过URL链接了解项⽬的进展信息、员⼯⼯作情况、测试进度以及其它的项⽬信息。如项⽬的管理者可以查看⼀个或多个项⽬的报表,包括⾥程碑报表、时间跟踪报表、Borndown报表、分布图、趋势图等形式的统计数据,帮助管理者能够更好的了解当前项⽬的进展状态。
以上所述关于产品研发⼯具的⽀持,希望与⼤家共同分享与探讨,探索出⼀条以有效的项⽬管理推动产品研发整个⽣命周期、实施服务的最佳途径,项⽬管理企业能够合理运⽤企业各种资源,快速适应市场环境的变化,提⾼企业项⽬包括IT信息化项⽬实施的成功率,从⽽提升企业的竞争优势!
因篇幅问题不能全部显示,请点此查看更多更全内容