您现在所在的位置是:首页 > 业界新闻

团队服装管理软件过程

自个人软件过程PSP推出后不久,大家就发现,虽然使用PSP可以取得优异的结果,但是如果周围的环境不能鼓励并且要求遵守PSP实践,这些必要的规范性是几乎不可能得到维持的。因此,美国卡内基·梅隆大学软件工程研究所SEI经研究后认为,为PSP实施的环境提出一种规范指南是很有必要的。于是在PSP提出后不久,WattsHumphrey又为大多数组织中最小的运作单位——项目组,开发了团队服装管理软件过程TSP。

TSP概述
TSP是为项目组设计的CMM5级过程,它为受过PSP训练的软件工程师们提供指导,让他们知道作为工作小组成员应该如何有效地去工作,共同形成高水平的工作小组,开发有质量保证的软件产品,生产安全的软件产品,改进组织中的过程管理。通过TSP,一个组织能够建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。
同PSP类似,TSP也是由一系列可定义、可测量的脚本过程来定义的,这些脚本描述了项目规划和产品开发的各个方面。此外,工作小组的历史数据、企业的规划和质量规定,以及所有可利用的工具均可用来规划工作、执行计划,提高软件开发过程。同时,为了避免和预防上述几点因素对软件质量造成不良的影响,TSP要解决的主要问题有:
·如何规划和管理一个软件开发团队。
·如何制订团队工作所需要的策略。
·如何定义和确定团队中每个角色的职责。
·如何为团队中每个成员分配不同的角色。
·团队及其不同角色在整个开发过程的不同阶段应该做些什么,如何更好地发挥作用。
·如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。
·采用哪些方法提高团队的协作能力。

TSP团队创建
TSP是在团队中进行实施的,在创建TSP团队之前,首先了解一下什么是团队?团队是如何定义的?
团队是拥有共同目标的一组人。他们必须全部承诺达到此目标,还必须有一个公共架构来指引他们达到目标。团队的定义有很多,综合而言,描述团队的最好的定义如下:
·一个团队至少由两个人组成。
·团队成员朝着一个共同目标努力。没有这种目标,人们就会觉得没有努力的必要,就不会有共同的团队意识。如果是这样,那也就不会有团队存在。树立共同目标的另一个目的是,约束所有的成员都必须遵守相同的规则。
·每一个人都被指派了特定的角色。角色提供了一种所有权和归属感,引导成员工作。角色保证了团队中每个人都分配了任务。角色也保证了关键性问题会立即受到关注。
·完成任务需要组员之间有一定形式的依赖。也就是说,每名团队成员在某种程度上都会依赖于其他成员的绩效。如果团队成员有了共同的目标以及相当强的互相依赖性,团队就能建立起必要的信任感和凝聚力。

团队拥有巨大的力量,其力量来自其成员协同工作、全力达成目标的态度。虽然团队个体成员也要训练有素、能力高超,但团队真正的实力还是来自组合产生的绩效。这并不是说个体的能力和技能不重要,而是说如果团队成员都能以合作的态度发挥才智,团队所取得的效率就会最高。那么如何创建一组高效的软件开发团队呢?

组建团队的第一步就是招募小组人员。如果一开始就已经有了一支完全成形的团队,或许不需要招募新的成员,但是必须和这些人在一起工作,必须了解他们的技能,以便做出相应的改变。团队并不是什么人都要,在招募过程开始之前,必须先定义好需求,以便组建合适的团队。如图12.4所示,小组成员必须是经过PSP培训的专业软件工程师,具备PSP相关技术和能力,如个人的测量、定义个人的过程、评估与计划、个人质量管理等。

领导者在接手项目的时候,人员往往已经大部分或全部选好了,这时候应该根据具体的项目制定小组的规程,如确定目标、确定角色任务、制订计划,并保持小组成员间的交流,如图12.4所示。小组成为一个整体时,首先要确定一系列共同的目标,然后就要明确责任分工,一个小组角色可以包括组长、开发经理、计划经理、质量经理/生产经理和技术支持经理,他们的基本工作应这样安排:
组长:负责组建并且主持一个有效的小组并成为小组会议的召集者,应能激发小组成员的干劲,并解决小组成员的冲突。
开发经理:应能充分发挥小组成员的能力和才干,生产出一个出色的产品。
计划经理:能为小组制定一个完整的、正确的、精确的计划,并随时掌握小组的状况。
质量经理:让所有的小组成员都正确地使用过程控制数据,其所有的检查都应是适当的,做到小组会议都有会议报告并记录,保证开发软件的一致性(符合标准或协定的程度)。
技术支持经理:保障小组有合适的工具和方法来工作,将小组所有的风险和问题都记录到风险跟踪系统。
在分配好角色后,要确定一个达到目标的战略,即小组成员共同制订小组和个人的目标,确立一个共同的工作计划。这样小组有一种和谐的关系,能提供一种有意义的、良好的工作环境,这有利于激发软件开发人员的积极性与创造性,开发出高质量的软件。

在整个TSP团队工作中,小组管理是保证团队高效工作的关键点。对小组的管理包括:风险分析,保持小组成员的交流以及小组工作的协调,状态跟踪,项目报告等。在实施团队服装管理软件过程TSP的过程中,应该自始至终贯彻集体管理与自我管理相结合的原则,具体地说,应该实施以下6项管理原则:
(1)计划工作的原则:在每一阶段开始时要制订工作计划,规定明确的目标。
(2)实事求是的原则:目标不应过高也不应过低而应实事求是,在检查计划时如果发现未能完成或者已经超越规定的目标,应分析原因,并根据实际情况对原有计划做必要的修改。
(3)动态监控的原则:一方面应定期追踪项目进展状态并向有关人员汇报;另一方面府经常评审自己是否按PSP原理进行工作。
(4)自我管理的原则:开发小组成员如发现过程不合适,应主动、及时地进行改进,以保证始终用高质量的过程来生产高质量的软件,任何消极埋怨或坐视等待的态度都是不对的。
(5)集体管理的原则:项目开发小组的全体成员都要积极参加和关心小组的工作规划、进展追踪和决策制订等项工作。
(6)独立负责的原则:按TSP原理进行管理,每个成员都要担任一个角色。在TSP的实践过程中,TSP的创始人Humphrey建议在一个软件开发小组内把管理的角色分成用户界面、设计方案、实现技术、工作规划、软件过程、产品质量、工程支持以及产品测试8类。如果小组成员的数目较少,则可将其中的某些角色合并,如果小组成员的数目较多,则可将其中的某些角色拆分。总之,每个成员都要独立担当一个角色。

TSP团队启动
在创建好了TSP小组之后,还需要启动PSP小组,使小组能够高效地按既定方式运行起来,TSP小组的启动流程如图12.5所示:
整个启动流程共包含9个启动会议,一般要在4天内举行。启动过程的第一步是管理层会议,该会议的目标主要是确定商业目标,即建立产品和业务的目标。会议中一名或多名高级管理人员要和开发团队碰面,描述他们想要开发的产品和期望时限。
在首次管理层会议之后,开发团队要与培训师碰面,一起制定详细的工作计划。启动过程的这个阶段要花几天的时间,不允许出现拜访者和观察者。在第二次到第八次会议中,培训师会引导开发团队经历下面这些步骤:
·第二次会议:评审团队目标,并达成一致,选择团队成员的角色。
·第三次会议:定义团队完成工作的策略和过程。具体描述如下:生成系统概念设计,如有需要,生成修改清单;确定开发策略和将要生产的产品;定义将要使用的开发过程;生成过程和支持计划。
·第四次会议:制订工作计划。如果计划不能满足管理层的需求,至少要制订一份可以满足管理层的进度要求的备选方案,以及一份可以使用分配的资源完成任务的方案。
·第五次会议:制订团队的质量计划。
·第六次会议:为团队的每个成员制订详细的近期计划,然后平衡这些计划。
·第七次会议:评估项目风险,为最重要的几种风险设计缓解计划。
·第八次会议:准备一个报告,向管理层描述团队的计划,让他们相信这是一份合理的工作计划。
·第九次会议又要与管理层碰面,与他们一起评审计划。
在第九次会议结束的时候,TSP启动过程就结束了,小组创建了详细的工作计划,并形成了一个团结一致的、高效的团队。

TSP的基本原理
TSP逻辑是以PSP逻辑为基础的,这种逻辑如下:
·当团队成员互相协作、互相支持的时候,团队会处于最佳工作状态。
·只有当团队成员全都使用一致的和定义良好的过程的时候,才可以最好地协作和相互支持。
·只有参与了过程定义的时候,团队才会理解并一致地遵循过程。
·只有使用可以一致创造高质量结果的定义好的过程时,团队才能够以预期成本和进度生产高质量的产品。
·只有成员知道了如何完成高质量工作的时候,团队才会定义这种过程。
·只有被同事、领导和管理人员激励的时候,团队才会遵循这种过程。
软件专家必须同意个体、团队过程的工作是智力工作,它涉及高超的技能和独创性。要完成创造性的智力工作,成员就必须自主,必须对工作承诺,他们不能被那些感到在被迫使用的某些过程或方法所束缚。如果软件人员并不同意一项过程的话,他们也不会使用它,更别说组成团队并使用它了。TSP团队的领导者必须在充分理解了TSP的这种逻辑之后,才能领导团队高效地工作。

TSP框架结构与流程
TSP的过程模型采用了增量模型,使用多个循环开发周期制造最终产品,它为开发软件产品的开发小组/团队提供指导。在成员参加TSP团队以前,必须进行个人软件过程的培训,掌握使用TSP所必需的知识技能,包括详细计划编制,采集和使用过程数据,用获得的数据跟踪项目,度量和管理产品质量以及定义和使用可操作的过程等,以使他们知道如何进行规范的工作。TSP用于小组的协调与组织,并指导项目组成员规划和管理项目。实施集体管理与个人管理相结合的原则,其最终的目的在于指导所涉及的一切人员如何能在最少的时间内,以预定的费用生产出高质量的产品,它所采用的方法是对小组软件开发过程的定义、度量和改进。

如图12.6所示,TSP由一系列阶段和活动组成。各阶段均由计划会议发起。在首次计划中,TSP组将制定项目整体规划和下阶段详细计划。TSP组员在详细计划的指导下跟踪计划中各种活动的执行情况。首次计划后,原定的下阶段计划会在周期性的计划制定中不断得到更新。通常无法制定超过3~4个月的详细计划。所以,TSP根据项目情况,以每三四个月为一阶段,并在各阶段进行重建。无论何时,只要计划不再适应工作,就必须进行更新。当工作中发生重大变故或成员关系调整时,计划也将得到更新。

在计划的制定和修正中,小组将定义项目的生命周期和开发策略。这有助于更好地把握整个项目开发的阶段、活动及产品情况。每项活动都用一系列明确的步骤、精确的测量方法及开始、结束标志加以定义。在设计时,制定完成活动所需的计划、估计产品的规模、各项活动的耗时、可能的缺陷率及去除率,并通过活动的完成情况重新修正进度数据。开发策略用于确保TSP的规则得到自始至终的维护。图12.6中描述的只是TSP阶段活动的标准集合。实际的TSP更像是分成阶段的众多循环构成的。TSP遵循交互性原则,以便每一阶段和循环都能在上一循环所获信息的基础上得以重新规划。

TSP流程一般将一个软件项目的开发工作分为4个阶段。任何一个应用TSP的项目可以只包括其中的一个阶段,也可以包括几个连续的阶段。在项目开始之前,项目组执行启动过程,对整个任务进行全面的规划和组织。在每个阶段之前,项目组执行重启过程,对下一个阶段的任务进行规划。一般来说,如果项目组的成员经过了PSP的培训,项目组的启动过程约需三天时间,重启过程大约需要两天时间。此时,项目组同管理人员一起评审项目计划和分析关键风险。在项目已经启动之后,项目组应每周进行一次项目进展讨论会,另外还应及时向有关主管和用户报告项目的进展情况。在TSP的过程之中,使用了很多表格和脚本,下面以TSP每周例会为例进行介绍。在实际的TSP过程中,应根据项目的实际情况和进度情况进行一定的调整。另外,每个人也有对应于自己的脚本和表格(详见《TSP领导开发团队》和《PSP软件工程师的自我改进过程》相关内容)。

当前版本的TSP使用23个过程指南、14个数据表格和3个标准。在这些过程指南中定义了173个启动和开发步骤。每一个步骤都不复杂,但它们的描述都非常详细,以便开发人员能够清楚地知道下一步应该做什么,应该怎样去做。这些过程指南可用来指导项目组来完成启动过程和一步步地完成整个项目。

文章来源:秘奥软件网,中小企业信息化领跑者!全国咨询热线:400-9908-527_www.misall.com

最新新闻: