转自:http://blog.csdn.net/deepwishly/article/details/9263433
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
项目经理 Project Manager |
参与或辅助项目谈判,提供项目交付时间和技术方面的可行性分析。评估项目风险,估算项目成本 |
审批系统总体设计方案,确保产品设计符合客户要求 |
确保每个版本按里程碑约定准时提交给质量保证团队 |
|
组建项目团队, 制定项目实施总计划, 沟通客户方协作事项 |
审批并跟进项目实施和管理详细计划 |
确保每个版本最终通过质量保证团队的测试 |
||
· 管理项目风险,控制项目变更 · 确保项目进度符合里程碑要求 · 确保项目按约定的流程实施 · 确保项目资源得到合理调配 · 非技术和业务层面的沟通和协调,沟通对象包括客户代表,公司高层, 产品经理,开发经理,相关项目负责人,开发团队成员等。 · 监控项目实施情况和预算支出情况并定期向上级主管汇报 · 定期听取开发经理关于项目进度和问题的汇报 · 招聘或辞退开发人员,下属业绩评价 总而言之,一个成功的项目经理在项目完成后必须做到三点: 客户满意 ‚公司有利润 ƒ组员有进步 |
||||
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
开发经理 Product Development Leader
|
参与收集和分析客户需求 |
带领开发团队 设计整个系统 |
带领开发团队 完成编码任务 |
按时向质量保证团队提交可供测试的,稳定的内部开发版本 |
辅助项目经理确定项目开发策略和管理工具,以及软件各个版本的交付物,里程碑和时间表 |
带领开发团队完成系统设计文档包括功能需求说明书和系统详细设计说明书等 |
监控任务完成进度和质量,在不影响里程碑进度的情况下对任务计划作出调整 |
与业务分析员和质量保证人员一起确认测试反馈的产品缺陷,确定Bug Fix的范围和优先级 |
|
辅助项目经理招聘项目成员,负责新人培训计划安排。 |
把大任务进一步分解成多个子任务,细化任务安排和进度计划,并在实施过程中确保项目进度符合里程碑的硬性要求 |
指导开发人员解决开发过程中出现的技术难题 |
Bug Fix任务分配和时间计划,确保测试反馈的产品缺陷得到及时的跟进和解决 |
|
· 把项目实施过程中遇到的业务和需求方面的问题反馈给业务分析员 如果不设业务分析员,则直接反馈给用户 · 跟进功能需求说明书和详细设计说明书的内容变化 · 系统交付物各个版本的控制和维护 · 定期向项目经理汇报项目进度和问题 · 辅助项目经理制定和审批项目加班计划和组员休假计划等 · 为项目经理的决策提供技术级别的支持 |
||||
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
业务分析员 Business Analys |
负责客户需求的收集和分析 负责编写和提交客户需求说明书 负责项目成员的业务培训。 |
参与系统GUI界面设计,确保系统设计在功能上满足客户需求,在操作上符合专业用户的使用习惯 |
在业务工作量不饱和的情况下可作为开发人员参与部分编码工作 |
参与版本提交前的内部测试,确认系统业务实现与客户需求一致 |
参与编写和审核功能需求说明书 |
||||
·与客户沟通需求,辅助项目经理控制和跟进需求变更,包括新需求 的收集,分析,合并,过滤以及排定优先级等 ·向开发团队提供业务咨询服务,及时解答他们面临的和业务,需求相关的问题 |
||||
|
|
|
|
|
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
系统分析员 System Analyst |
参与客户需求的收集和分析 |
负责系统详细设计,如采用UML构建领域模型,数据模型,类/对象关系图和接口实现标准等 |
作为开发人员参与部分编码工作 提供技术咨询服务,解决开发过程中遇到的技术难题 |
参与版本提交前的内部测试,确认测试反馈的产品的技术缺陷并提出修正方案 |
编写和审核系统实现说明书 |
||||
· 辅助开发经理对新来的开发人员的进行必要的业务和技术培训 |
||||
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
系统架构师 System Architect |
了解和分析客户需求 |
负责系统适用架构的选择,分析,设计和集成。负责架构适配层和通用组件的设计 |
负责架构适配层基础结构实现,指导团队成员开发应用层和通用组件 |
领导开发团队进行版本提交前,内部的系统集成测试 |
负责新技术的研究和培训 |
负责编写系统总体架构设计说明书 |
确保各个功能模块遵照既定的架构被正确地设计,开发和集成 |
||
负责技术实现级别的标准制定 |
负责向开发人员讲解系统架构的设计思路和使用方法 |
负责系统架构的维护和完善,帮助解决开发中遇到的技术难题 |
||
·根据项目实施的实际情况和需求,不断完善系统应用架构和通用组件 |
||||
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
开发人员 Developer |
了解客户需求,开发规范以及当前项目实施采用的流程和约定 |
在开发经理的安排下,参与部分系统设计工作 |
系统功能模块的编码实现(包括系统原型实现) |
负责各自任务功能模块的单元测试 |
协助开发经理制定项目详细任务分配计划和进度计划 |
参与编写功能需求说明书和系统详细设计说明书 |
在测试驱动的开发模式中需要编写大量的单元测试程序 |
在系统架构师的带领下参与版本提交前的内部集成测试 |
|
项目技术的学习和研究 |
辅助系统架构师设计系统的应用框架。在架构师的指导下了解和熟悉应用框架的设计思路和使用方法 |
辅助系统架构师对系统各个功能模块进行集成 |
修正测试反馈的产品缺陷 |
|
· 开发人员之间的互相协作和支持 · 在开发经理的安排下与即将离职的同事进行工作交接,定期向开发经理汇报工作情况和任务进度,并及时反映开发过程中遇到的问题 · 提出项目实施,管理,工作方法和团队建设等方面的改进建议 |
||||
角色 |
项目初始阶段 |
详细设计阶段 |
编码阶段 |
测试阶段 |
质量保证 人员 Software Quality Assurance |
参与收集和了解客户需求。制定测试计划, 包括时间计划,人员安排,测试方法和测试范围等 |
根据功能需求说明书来设计测试用例 |
提交测试计划,测试用例, 测试数据和测试脚本给管理层审查 |
从CVS中导出要测试的版本程序, 按系统安装说明书搭建测试环境, 执行测试并提交测试报告 |
编写自动化回归测试的脚本 |
测试通过后,负责出Release |
|||
质量保证人员的职责远远不止这些,如版本控制等,由于不是本书的重点故不再详述 |