一个软件交付团队一般需要项目经理、需求分析人员、架构师、开发人员和测试组成,但也不会局限这几种角色用户。

需求分析(BA):责任是理解和分析客户的需求,对客户或者项目的业务需求进行收集和确认,文档化和组织系统的需求,或者向整个团队传达需求。

用户体验设计(UE):负责项目的低保真原型设计,基于需求进行原型设计,方便客户和团队人员看到交互界面,以便确认用户需求。

用户视觉设计(UI):基于低保真的原型进行界面的视觉设计,称之为高保真,开发人员可以按照设计师的视觉标准进行页面的样式研发。

系统架构师(SA):负责理解系统的业务需求,并创建合理系统体系架构。架构师也负责决定主要的技术选型。识别和文档化系统的架构,包括系统的需求、设计、实现和部署"视图"。

数据设计人员(DBA):对于大多数的应用开发项目来说,用于持久存储数据的技术是关系型数据库。数据库架构师负责定义详细的数据库设计,包括表、索引、视图、约束、触发器、存储过程和其他的特定数据库用于存储、返回和删除持久性对象的结构。

项目经理(PM):项目经理负责对项目的交付,按时和预期质量进行项目的最终交付。 项目经理进行项目计划、管理和分配资源,确定需求优先级,协调团队并负责和客户支持。项目经理也要建立一系列的实践活动以确保项目工作产品的完整性和质量。

开发人员(Dev):开发人员通常负责设计和实现可执行的代码方案、测试开发出了的组件和分析运行时情况以去除可能存在的错误。有时开发人员还负责创建软件的体系架构或者使用快速应用开发工具。

系统测试人员(QA):系统测试人员负责制定测试计划,并依照测试计划进行测试。测试人员需要良好的测试工具来辅助完成测试任务,自动化的测试工具将大幅度提高测试人员的工作效率和质量。