基于任务划分,一个开发团队需要:
- 设计人员(designers): 主要是平面UI设计以及用户交互性设计,不需要开发能力
- UI开发工程师(UI developers): 把设计人员的成果用程序语言实现,以及实现程序逻辑。
- 架构师(Architecture): 完成整体架构的设计,数据模型的设计,等等
- 后端开发功能师(back end developers): 实现在Server端的功能
- 项目经理(PM): 了解用户需求,完成项目规划和进度安排,整体负责项目的完成。
- 测试人员(Test): 保证测试的覆盖率,保证产品质量
一个合理的项目进程是:(以一个里程碑Milestone为例)
- 在计划阶段,项目经理明确需求,结合功能需求与设计人员一起完成大致的界面设计;架构师和开发人员进行原型开发,技术调研,难点攻关等工作。
- 架构师完成总体设计,明确前端和后端的接口
- 前端和后端可以分别独立开发和测试,保证各自的正确性。完善界面设计等
- 在整个过程中设置若干个整合点,将前端和后端整合在一起。
- 项目稳定阶段,在功能全部完成并整合在一起后,进行整体的测试。
- 发行
在项目比较小的时候,有些角色可以由一个人来兼任。
注:本文受到下列文章启发。
http://www.cynergysystems.com/blogs/page/davewolf?entry=it_takes_a_village
http://www.waldosmeets.com/2007/01/17/what-makes-a-great-ria-development-practice/
http://blog.digitalbackcountry.com/?p=617