定义项目的组织结构项目管理者联盟文章
从职位、团队、职责和分层结构等方面定义项目的组织结构。 选择什么样的项目组织结构取决于项目特征和客观约束(如现有的组织策略)。因此,要预先确定这种结构有一定困难,因为哪一种结构有效(甚至可行)在很大程度上取决于具体条件。关于需要考虑的事项,在指南:项目计划中有详细说明。该指南还提供了一个默认的项目结构,可以根据某一项目的特定要求对其进行相应调整。这一默认结构还建议了 (Rational Unified Process) 角色和组织中职位的对应关系。在不同阶段,项目组织的形式和规模都有所不同。而“软件开发计划”这一动态文档将随时更新,以反映这些变化。项目管理培训
确定人员配备要求
定义项目所需人员的数量、类别(技能和领域)、经验和才能 根据项目的预计工作量、预期的进度、所选的组织结构和人员配置,由项目经理确定该项目所需的人员配置(在一定时间内所需的人数和技能组合)。要估计一个项目的工作量,当然离不开团队规模、经验、技能、才能等因素。项目经理在进行估计的过程中,很可能对人员能力早已心中有数。在 COCOMO 估计模型(参见活动:计划阶段和迭代)中,人员的能力和经验是决定工作量的主要因素。因此,一旦选定了可接受的总工作量(通过调节各种 COCOMO 工作量因素)和可行的时间表,人员的配备情况即随之确定。 项目管理者联盟
在某些情况下,项目经理事先知道参与人员的数量和技能水平。此时,假定项目的规模(按要实现的功能计算)必须保持恒定,那么时间表就要据此而定。项目经理圈子
项目经理还必须考虑到骤然大量补充人员可能导致的混乱,以及为了大幅缩短项目期而大量增加人员,对效率可能会造成怎样的灾难性影响。项目管理者联盟
先启阶段和精化阶段的人员配备 转自项目管理者联盟
先启阶段的重点是确定项目范围并提出项目的商业理由。因而,这一阶段的团队规模很小:一位项目经理、一位构架设计师,或许还有一两位开发人员。在需要用概念证据原型来明确各项要求或为产品求得支持的情况下,尤其需要开发人员的参与。talent.mypm.net
在精化阶段,重点主要放在构架及构架原型上。因此,在精化阶段早期,设计工作侧重于构架方面;而很少关注类及其属性的细节:此时即使确定它们,也在构架方面不具有重要意义。在这些迭代中,构架团队和指定的原型设计团队承担了大部分工作量。原型设计团队通常由经验较为丰富的程序员组成。此时还需要让一个小型的设计团队来负责一般性机制和技术。测试小组将侧重于构建测试环境和测试早期用例。项目管理论坛
应十分谨慎地选择构架团队成员:他们不仅要具备高超的分析设计技巧,还必须具备一定的领导素质。为了在构建阶段让规模更大的团队理解构架,可行的做法是在构建团队中安插构架团队成员。构架团队成员还必须具备广博的软件工程经验。软件设计与实施、性能调节、数据库管理、网络管理和配置管理等等都是构架团队成员必须具备的主要技能。bbs.mypm.net
构建阶段的人员配备 项目管理者联盟
构建阶段的重点在于:在保持系统构架完整性的同时,向系统中增添新功能。这就需要改进构架(因此,在精化阶段之后需要“建立构架基线”而非“固定”该构架),同时构架团队要留意设计人员及其设计内容。项目管理者联盟
构架人员将被安插到开发组中,以技术负责人的身份与其他技术负责人协调小组间的各项事务。构建团队本身必须是一个多功能的团队,既有设计专家,又有开发专家。这是因为他们既要负责指定功能的设计,又要负责这些功能的实施。通常情况下,一个构建团队要负责一个或多个其接口已明确确定的子系统。更改这些接口或增加新的子系统都会导致构架上的变化,因此需要特别谨慎。在一个子系统中,一个团队可以按照自己认为合理的方式,相对自由地开展设计和实施工作。但同时也需要进行团队之间的交流,以确保各团队之间不至于重复构建同一实施机制。项目管理论坛
通常,构建团队是根据各个功能层次、以水平方式组织的。一个团队可能负责数据库接口或基础通讯设施;而另一组侧重于应用程序功能本身。因此,“较高”层次的团队应在如下方面具备更高的专业水准:问题领域、用户界面设计及与外部系统的接口。“较低”层次的团队则更熟悉实施技术。这些团队的组成必须能够反映对这些技能的不同要求。项目管理者联盟
测试活动的人员配备项目管理者联盟
有关测试的第一个问题是:需要进行多少正式测试?接下来的问题是:要达到质量目标,同时又不超出合理的成本和时间限制,能够完成哪些工作?项目的预算很少能够满足进行各种测试的要求。通常,项目必须选择他们能够承担的测试级别。切记:必须检查和维护每项测试规约。如果制定了多项测试规约,但又因为时间紧而无法实施,这将严重挫伤项目团队的积极性。blog.mypm.net
建立一个专门的测试团队。测试团队中至少有一人必须来自需求获取团队。测试团队负责以下工作:项目管理者联盟
黑盒测试。根据用例的事件流,从系统外部测试用例(请参见工件:用例)。 白盒测试。根据场景的序列视图,测试用例中消息的实际发送情况。 系统测试。使系统满负荷运行以反映其真实性能。 切记:在测试过程中,不但要运行测试,还需要准备测试环境、编写并检查测试规约。项目经理博客
应设立一个独立的小组来测试各用例及整个系统。他们应负责执行测试并撰写测试报告。应该有组织地进行用例测试工作,以使每一用例的测试都有一人专门负责。项目管理者联盟
如果不可能设立一个单独的小组来测试用例(如项目很小),至少应确保负责设计某一用例的人员不得测试该用例。项目管理者联盟
对于大中型项目,应进行自动回归测试。为支持这种测试,测试团队需要有一些程序员。在迭代式的开发过程中,如果您不希望花费大量精力来反复运行同一组测试,这一点就尤为重要。项目管理者联盟
产品化阶段的人员配备 项目管理论坛
在产品化阶段,开发工作实际上已经完成。已经进行过 Beta 测试,而且最终的发行版本已经准备就绪。如果构建阶段的工作进行顺利,就可以开始调整项目组的规模,减少开发和测试人员。项目团队将转而以培训人员和基础设施后勤专家为主,他们负责将产品介绍给用户。blog.mypm.net
构架设计师或构架团队以“跟进模式”开展工作:他们要协助整理问题报告、确定各项变更提议的轻重缓急并作出相应的顺序调整,以确保不会在解决问题时因贪图一时方便而破坏有关构架。设计工作在产品化阶段会逐步减少,仅限于纠正问题或提出最终的性能改进意见。 PgMp.mypm.net
|