工程软件开发之团队开发规范FB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水利水电工程XXXXX辅助决策支持系统团队开发规范
XXXXX设计有限公司
二XXX年十二月
文档信息:
文档变更历史:
文档名称:
审核结果:
目录
2.1达成共识................................................
4.3变量和常数..............................................
1团队组成
我们的整个软件开发团队由4种角色组成,分别为:
•产品管理(Product Management)
•项目管理(Program Management)
•开发人员(Development)
•测试人员(Test)
各角色在团队的地位相当,各司其职。各个角色的具体目标、职能以及责任在以下的小节中进行详述。
1.1产品管理
(1)目标
满足客户需求。
产品管理的目标就是满足客户需求。一个成功的项目必须要能够满足客户和用户的要求。即使项目达到了预算和时间的目标,只要未能满足客户需求,那这就是一个失败的项目。首先必须认清和理解客户。有时,使用方和投资方的目标需求并不完全相同,因此就需要清晰地区别和分析所有的需求。
(2)职能
•市场
▪推动市场和公关,以对目标客户发生效用
▪突出产品与其他竞争对手的区别性,以利于竞争
▪分发解决方案,以便用户能够容易地获得
▪为用户提供支持,以使其无论在购买还是使用过程中都留下正面的印象
•业务价值
▪定义并维护项目的业务正确性
▪定义并衡量业务价值的实现和评价
•发展客户
▪推动项目和解决方案的远景目标
▪负责客户期望值和沟通
•产品计划
▪收集、分析客户和业务需求,并区分其优先级
▪执行市场调查、市场开拓和竞争对手分析
▪确定业务和成功的标准
▪识别多目标的发布计划
1.2项目管理
(1)目标
在项目的约束条件下完成解决方案。
整个团队的一个主要目标就是在项目的约束条件下完成项目。项目的约束条件包括预算和进度等。大部分项目会根据时间和资金的使用来衡量项目的结果。为了实现这个目标,项目管理负责并推动进度表、功能集和预算资金。他必须保证能够在正确的时间发布正确的项目或产品,保证正确理解了项目投资方的期望,并自始至终贯穿于项目执行过程中。
(2)职能
•项目管理
▪跟踪和管理预算资金
▪管理控制进度表
▪推动风险管理流程
▪加强团队沟通和协调
▪跟踪进度和报告项目状态
▪管理资源分配
•解决方案构建
▪推动整体项目设计
▪负责功能规范
▪负责解决方案范围和重要决定
•流程控制
▪推动流程质量控制
▪定义并推荐可改进处
•管理服务
▪实现项目的管理流程并提供支持
▪提供管理服务以保证高效的团队运作
1.3开发
(1)目标
按照功能规范说明、《软件开发需求分析报告》和《总体结构设计》的要求进行开发。
功能规范说明详细描述了整个团队将要提供给客户的交付物。对整个团队来说,应该尽可能精确地按照功能规范说明来实现整个项目,因为功能规范说明可以看成是整个团队和客户之间所达成的共识。开发人员必须按照客户需求和功能规范说明来构建整个解决方案。同时,开发人员还需要为整个团队提供技术方面的咨询,这样在设计和技术选择时可以尽量减少开发风险。开发人员提供较低层次的功能设计,并预估完成设计所需的时间。
(2)职能
•技术咨询
▪为团队提供技术咨询服务
▪评估并验证所用技术
▪积极参与功能规范说明的创建和审核
▪定义开发标准
•实现架构和设计
▪提供针对解决方案的应用程序、数据和技术细节,以便将企业架构映射到解决方案架构的实现上
▪负责并实现解决方案的逻辑和物理设计
•应用程序开发
▪根据设计规范编写代码以实现功能
▪在开发过程中进行代码审核,并共享知识和经验
▪在测试人员的帮助下,根据测试计划执行单元测试
•架构开发
▪为自动安装开发脚本
▪开发安装文档
1.4测试
(1)目标
在确认所有的产品质量问题都得到妥善处理后,批准产品发布。
所有的软件产品在发布时都存在着缺陷。最重要的是,在发布前,必须清楚地认识和鉴别出这些问题,可以以问题的形式给出解决方法,或者是给出如何绕开该问题的文档记录。宁愿对于已知的问题,提供了文档或解决方法,也不要存在一些未知的问题。因为这些未知的问题,可能会带来不可预知的后果。(2)职能
•计划测试
▪开发测试方法和计划
▪参与设置质量标准
▪开发测试说明
•测试
▪开发并维护自动测试案例、工具和脚本
▪执行测试,以确定产品开发过程的状态
▪负责定义构造流程
•测试报告
▪为团队提供与产品质量相关的数据
▪跟踪所有缺陷,并保证在发布前得到妥善处理
1.5角色共享
尽管团队组成包含了4种角色,但并不意味着一个团队至少需要4个成员,也不意味着一个人只能承担一种角色,重要的是这4种角色必须在一个团队中体现。一般情况下,团队成员常常共享角色。在一些较小的团队中,不同的角色只能进行兼任。角色共享有两条重要原则:
一是开发组成员不能共享角色。开发人员是项目的构建者,他们不应该从他们的主任务中分身。如果对开发组成员要求额外的角色,往往会使得他们无法按时完成进度要求。
二是不要试图组合具有一定利益冲突的角色。比如,产品管理和项目管理的利益具有冲突点,所以他们的角色不能组合。产品管理注重满足客户需求,而项目管理主要关心在时间和预算的限度内完成项目。如果这两个角色组合在一起,那么在需求发生变更时,可能会发生一些情况,诸如没有足够地考虑客户满意度而忽略该变更,或者是没考虑对项目的冲击盲目地接受变更。让不同的团队成员担任这样的角色有助于确保每个方面得到相当的考虑和重视程度。同样,这也适用于组合开发人员和测试人员。
1.6开发小组