日常开发工作流程

Scrum+ xp

在日常开发中,按照规范的工作划分:

1. 产品经理

2. 技术经理

3. 项目经理

4. 售前工程师

5. 开发工程师

6. 测试工程师

7. 运维工程师

8. 售后工程师

第一阶段 - 需求采集阶段:

由产品经理/技术经理/项目经理/售前工程师与市场进行需求沟通,可能需要根据用户的需求快速开发软件原型,例如界面原型、功能demo,以快速并准确的收集到用户的需求。通常在需求收集阶段,仅仅只能从用户那收集到功能性需求,是为了解决业务领域中的问题,往往在用户提出需求时,会延伸许多隐性功能需求以及非功能性需求,例如性能要求,部署环境要求,后期维护等。因此,在采集需求时要求产品经理需要对业务和技术都比较了解,或者身边应该带着一个懂技术的人,在采集需求时过滤一遍需求,再进行团队会议,再次讨论需求。

这是比较详细的划分,通常在中小型项目中仅需1~2人即可完成上面四个人的工作。

第二阶段 - 系统设计阶段

在这个阶段,产品经理应该定义出整体系统的原型、体验(也就是开发出的系统应该是长什么样的)以及产品发展战略路线和产品阶段划分,版本定义和管理。 

技术经理/系统架构师应该规划出能够支撑这个系统所采用的技术、系统结构,综合公司现有技术水平,划分系统模块,攻关技术难点。

项目经理应该关注产品阶段划分以及工作量,计算人力资源以及时间成本,在尽量短的时间内安排开发人员进行高质量的完成任务。

测试人员在这个阶段应该根据用户需求、功能性需求、非功能性需求定义软件测试标准,什么样的软件才能符合用户的要求,各模块如何处理才能完成指定功能。

往往上述角色还是由1~2人完成。

第三阶段 - 详细设计阶段

由产品经理定义好了产品规格要求进行了产品规划,技术经理完成了系统结构规划,项目经理确定好了人力时间等问题之后,这个产品就会拆分成了阶段性完成的迭代。每一个迭代中要完成的任务将分配到每个开发人员的手中,这些任务之间可能具有并行关系也可能是具有先后顺序的。开发人员在执行任务之前,都应该和技术经理确认实现思路,任务完成之后,开发人员应该自己进行测试,保证功能模块的正确,并编写单元测试代码,便于后期降低测试成本。任务完成之后,提交测试人员对模块进行测试,验证失败将产生bug任务交由开发人员进行修复。通过之后,提交技术经理对任务成果进行代码审查,合格则合并到主线版本中,开发人员应该将设计过程和思路进行文档化,产生详细设计文档,便于后续维护和交接。

测试人员也需要对每项测试进行记录,便于追溯。

在开发过程中,产品经理/技术经理/项目经理都应该持续关注项目的进展,虽然关注面不同,但目标是一致的:让工作按照正确的方向开展。

第四阶段 - 交付阶段

在迭代完成后,就需要交付用户,当然过程中可能出现用户修改需求一类,这些都要有产品经理/技术经理/项目经理进行审核。产品经理可以要求使用持续交付的方式,来达到小步快跑的效果。在内部测试确认产品没有问题时,就可以发布给用户。用户使用如果出现问题或者新的需求,就会从第一个阶段开始产生新的迭代。

交付后,团队就应该进行项目总结:包括产品方面、技术方面和项目管理方面。

第五阶段 - 维护阶段

产品交付时需要部署到用户服务器,这就需要运维工程师,对软件进行安装部署和维护。

用户使用可能会产生很多问题,这还需要售后工程师来进行培训解答和收集用户售后问题。

 

关于开发人员的划分,在此仅关注Java服务端开发人员:

JavaEE技术发展至今十分成熟,公司建立符合自己业务特色的框架,一般新手应该经历3年的业务应用开发,接触不同场景下的解决方案,此为拓宽技术广度。有工作经验的开发人员进入公司应该至少经历一年业务应用开发,了解公司团队技术各项情况。

达到要求的业务应用开发经验之后,根据业务需要,安排深入组件原理,此为加深技术精度。或者成为项目leader,在熟悉的业务领域带队完成工作任务。

 

协作开发,从Java服务开发角度上:

1. 统一的开发环境

2. 项目任务、文档管理软件

3. 代码管理协作

4. 构件管理

5. 持续交付服务器、演示服务器

6. 代码审查软件

7. 知识、代码片段管理

转载于:https://my.oschina.net/souljava/blog/894679

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值