什么是敏捷开发?各岗位职责与传统开发有什么不同?

传智教育-一样的教育,不一样的品质

敏捷开发简述

敏捷开发是一种以人为核心进行迭代的开发方法。

在敏捷开发中,软件项目的构建被切分成多个子项目,每一个子项目的成果都经过测试,具备集成和可运行的特征。

敏捷开发现在主要包括:极限编程、SCRUM、Crystal Methods、FDD(特性驱动开发)等。

敏捷开发简单理解就是,开始项目的时候不追求一步到位完美的代码,而是在尽量短的时间周期内,开发出产品的核心功能。尽快上线发布,后面按照周期进行迭代升级,完善产品。

在说敏捷开发的应用之前,先聊聊为什么需要敏捷开发。

程序员大多数都会碰到需求一直变一直变,无线延。而且老项目基本是牵一发动全身,我们以为的一个BUG,会影响到另一个问题。还有各种开发文档、产品文档、接口文档和测试报告没有契合过等各种问题。

如果你遇到这种情况,可以开始了解敏捷开发流程了。

敏捷开发的应用

敏捷开发的流程:需求规划和分期,需求评审,需求讲解,方案评审,每日会议,性能测试,CodeReview,Demo,测试阶段,线上BUG修改流程。

一个敏捷开发小组的日常:

如果一个管理还把产品和开发分家成两个部门,一定会有一些矛盾。我们比如是一个网站开发,基于微服务负责网站的某一个小模块成立一个敏捷开发小组。标准配置应该是:4个开发,其中一个起码是高级程序员。一个产品经理,一个测试,一个项目经理。项目经理主要负责网站的某模块的维护和协调。

日常分工:

产品经理:写需求设计文档,要把需求整理成Ticket,随时和项目成员进行确认沟通。
开发人员:按照需求文档的优先级提取Ticket,完成日常的开发任务;
测试人员:测试已经部署到测试环境的程序,如果发现Bug,提交到Ticket;
项目经理:保证日常工作的正常流程,执行反馈,并且协调组员,组织每日会议。

什么是敏捷开发?各岗位职责与传统开发有什么不同?

敏捷开发各岗位职责:

产品经理:产品经理的职责就不光是画原型图了,而是给产品的模块分期,制定好优先级和功能是最重要的。产品经理要做的是证明自己的功能是合理的。

但是在敏捷开发中产品经理不需要为开发进度负责,负责开发进度的是项目经理或者是小组Leader。还有是要在开发团队开发项目的时间内去做下一个产品的迭代设计。

小组Leader或者项目经理:需要组织组内所有成员参与,如果整个公司实行敏捷开发,那就是组织各职能的Leader开需求评审会。

这个需求评审的目标是可以放到台面上并且执行下去的方案,如果这里还要继续讨论是否合理,那这个会就很糟。

项目经理应该负责整个项目的调控,比如人员成本,时间成本,项目是否延期,还是调整功能。

开发组员:除了日常开发,主要是当项目完工以后,应该交叉去做CodeReview,并且出性能测试报告,以及组织Demo。

测试人员:不是单一的做功能或者是性能测试了,应该是做边界测试和回归测试。最简单的功能测试应该都是开发直接完成了,如果有很麻烦的功能测试,才是测试人员来测。敏捷开发中,应该是组员全部承担风险。

测试人员在敏捷开发中还是很重要的,要准确的记录以及bug的统计。甚至测试人员可以给开发人员打绩效。回归测试是要做的,如果可以有很多自动化测试用例就正常用,如果不能就减少回归测试。

总结

其实敏捷开发就是每个人各尽其职主动承担一些工作,高效透明的沟通。如果整个开发团队庞大,可以先成立敏捷开发小组。只要管理者明确职责合理分工,不断的强化跟进培养大家去做事情就可以了。

敏捷开发流程图和敏捷开发十二原则

敏捷模型的两种开发模式Scrum和Kanban

什么是敏捷模型?有什么优缺点?【软件测试】

传智教育Java后端开发培训

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253841.html

(0)
上一篇 2022年5月9日
下一篇 2022年5月9日

相关推荐

发表回复

登录后才能评论