敏捷开发简述【什么是敏捷开发,敏捷开发实行中各岗位职能是什么?】敏捷开发是一种以人为核心进行迭代的开发方法 。
在敏捷开发中,软件项目的构建被切分成多个子项目,每一个子项目的成果都经过测试,具备集成和可运行的特征 。
敏捷开发现在主要包括:极限编程、SCRUM、Crystal Methods、FDD(特性驱动开发)等 。
敏捷开发简单理解就是,开始项目的时候不追求一步到位完美的代码,而是在尽量短的时间周期内,开发出产品的核心功能 。尽快上线发布,后面按照周期进行迭代升级,完善产品 。
在说敏捷开发的应用之前,先聊聊为什么需要敏捷开发 。
程序员大多数都会碰到需求一直变一直变,无限延 。而且老项目基本是牵一发动全身,我们以为的一个BUG,会影响到另一个问题 。还有各种开发文档、产品文档、接口文档和测试报告没有契合过等各种问题 。
如果你遇到这种情况,可以开始了解敏捷开发流程了 。
敏捷开发的应用敏捷开发的流程:需求规划和分期,需求评审,需求讲解,方案评审,每日会议,性能测试,CodeReview,Demo,测试阶段,线上BUG修改流程 。
一个敏捷开发小组的日常:
如果一个管理还把产品和开发分家成两个部门,一定会有一些矛盾 。我们比如是一个网站开发,基于微服务负责网站的某一个小模块成立一个敏捷开发小组 。标准配置应该是:4个开发,其中一个起码是高级程序员 。一个产品经理,一个测试,一个项目经理 。项目经理主要负责网站的某模块的维护和协调 。
日常分工:
产品经理:写需求设计文档,要把需求整理成Ticket,随时和项目成员进行确认沟通 。
开发人员:按照需求文档的优先级提取Ticket,完成日常的开发任务;
测试人员:测试已经部署到测试环境的程序,如果发现Bug,提交到Ticket;
项目经理:保证日常工作的正常流程,执行反馈,并且协调组员,组织每日会议 。
文章插图
敏捷开发各岗位职责产品经理:产品经理的职责就不光是画原型图了,而是给产品的模块分期,制定好优先级和功能是最重要的 。产品经理要做的是证明自己的功能是合理的 。
但是在敏捷开发中产品经理不需要为开发进度负责,负责开发进度的是项目经理或者是小组Leader 。还有是要在开发团队开发项目的时间内去做下一个产品的迭代设计 。
小组Leader或者项目经理:需要组织组内所有成员参与,如果整个公司实行敏捷开发,那就是组织各职能的Leader开需求评审会 。
这个需求评审的目标是可以放到台面上并且执行下去的方案,如果这里还要继续讨论是否合理,那这个会就很糟 。
项目经理应该负责整个项目的调控,比如人员成本,时间成本,项目是否延期,还是调整功能 。
开发组员:除了日常开发,主要是当项目完工以后,应该交叉去做CodeReview,并且出性能测试报告,以及组织Demo 。
测试人员:不是单一的做功能或者是性能测试了,应该是做边界测试和回归测试 。最简单的功能测试应该都是开发直接完成了,如果有很麻烦的功能测试,才是测试人员来测 。敏捷开发中,应该是组员全部承担风险 。
测试人员在敏捷开发中还是很重要的,要准确地记录以及bug的统计 。甚至测试人员可以给开发人员打绩效 。回归测试是要做的,如果可以有很多自动化测试用例就正常用,如果不能就减少回归测试 。
总结其实敏捷开发就是每个人各尽其职主动承担一些工作,高效透明的沟通 。如果整个开发团队庞大,可以先成立敏捷开发小组 。只要管理者明确职责合理分工,不断地强化跟进培养大家去做事情就可以了 。
推荐阅读
- 蓝牙是什么,又有什么用,是如何发展的
- 单场带货4000单,视频号自播是新风口吗?
- Go语言基础—闭包
- Pythonic风格代码有什么好处?附12个代码实例
- 荷叶茶的荷叶是什么样子的,冬瓜荷叶茶的正确喝法是什么
- 止嗽散煎汤剂用量是多少,亲身体验止嗽散
- 窦漪房是一个什么样的人,窦漪房和窦婴是什么关系
- 雍正皇帝和年羹尧是什么关系,雍正年羹尧的儿子叫什么
- 刘骜的皇后是谁,成帝刘骜怎么死的
- 张飞娶了谁的女儿,张飞的两个女儿分别叫什么