从《走出软件作坊》一书中领悟软件团队的组织
二月 15th, 2009 by 李 建伟
项目的正常运转需要五个岗位:项目经理兼业务架构师、技术架构师、业务开发程序员、测试兼技术支持、文案兼培训
1、项目经理兼业务架构师:
- l 项目经理任务:项目范围定义;项目计划制定、分解、分配、协调、汇报;项目质量控制;项目需求变更控制;编写项目可行性报告
- l 业务架构师任务:根据用户需求确定的所有功能性和非功能性需求。确定系统模块和系统的使用者,确保系统模块的完整性和一致性。使用PPT+WORD+思维导图+EXCEL的描述方法。编写项目的需求文档。
2、技术架构师:
任务:
- l 系统框架的开发和维护,公共代码的开发,高难度的问题跟踪,高性能的设计,高扩展性的设计,高稳定的代码,高安全的代码,高并发的操作,复杂代码重构以及系统高可用性保证。
- l 负责新技术跟踪、新技术介绍、新技术试验。新技术的跟踪必须上报给技术总监。
- l 对于有利于现有开发的新技术,要筹备好培训课,由项目经理安排时间,讲给全体开发人员听。
- l 编写以上工作的技术文档。
3、业务开发组长兼主程序员:
任务:
- l 系统功能详细设计(包括类、类的属性、类的方法、界面、数据持久层设计)由业务开发组的组长来设计,属于系统类功能或公共类的功能归给技术架构师来设计编写,需要复杂的算法,高性能,高安全,高数据量的设计由技术架构师来编写,数据库底层表的结构设计由技术架构师来做。
- l 开发项目的进度和质量管理。业务开发组长每天都要监控进度异常,监控每个开发人员目前身上背着的开发任务和开发进展。每天下午5点的时候都要询问一下自己手下人的开发进展。如果不能保证进度,业务开发组长要想办法,是全小组一起诊断出谋划策呢,还是寻求技术架构师呢,还是寻求项目经理呢。
- l 编写部分实现代码、单元测试代码和检查其它程序员的代码质量。
- l 编写系统功能详细设计的文档。
4、程序员
任务:根据业务开发组长的功能详细设计,完成界面、业务功能的开发和单元测试。
5、测试员兼技术支持人员兼配置员
任务:
- l 编写测试用例,完成性能和功能测试,提交BUG到Jira系统上,产品质量控制。
- l 系统的技术支持,负责收集、解释和解决任何人(学生、教师、学习中心、管理人员)提出的的技术问题,自己能力能处理的问题就处理,处理不了的问题汇集给项目经理统一调度分配。
- l 负责产品打包、产品安装测试、产品发布、版本分支管理、源代码备份、数据备份、系统的运行监控、硬件设备维护、历史版本归档等方面的管理。
- l 负责编写测试文档。
6、文档编辑员兼测试员兼培训师:
任务:
- l 负责所有文档的正规化、美化、文字校对、空格段落措辞标点符号等。
- l 负责帮助方面的文档,版本更新说明帮助、安全配置帮助、系统维护管理帮助、基础数据配置与维护帮助、业务功能操作帮助、软件操作演示视频、产品简介PPT、产品演示版等。
- l 负责数据录入、网页编辑等文档的工作。
- l 兼任产品辅助测试,主要是作为一个普通的操作者来测试,在制作演示版的过程中模拟客户流程客户数据来进行操作录入,测试出普通使用中的BUG。
- l 培训工作,编写针对不同用户的培训课程、培训教材、培训考试卷、模拟练习学习版软件、视频教学软件。每次版本发布,功能更新,反复举办集中培训,办班,一批次一批次的培训,百其不厌