更新时间:2021年05月13日11时45分 来源:传智教育 浏览次数:
敏捷开发是一种以人为核心进行迭代的开发方法。
在敏捷开发中,软件项目的构建被切分成多个子项目,每一个子项目的成果都经过测试,具备集成和可运行的特征。
敏捷开发现在主要包括:极限编程、SCRUM、Crystal Methods、FDD(特性驱动开发)等。
敏捷开发简单理解就是,开始项目的时候不追求一步到位完美的代码,而是在尽量短的时间周期内,开发出产品的核心功能。尽快上线发布,后面按照周期进行迭代升级,完善产品。
在说天富娱乐登录彩票之前,先聊聊为什么需要敏捷开发。
程序员大多数都会碰到需求一直变一直变,无线延。而且老项目基本是牵一发动全身,我们以为的一个BUG,会影响到另一个问题。还有各种开发文档、产品文档、接口文档和测试报告没有契合过等各种问题。
如果你遇到这种情况,可以开始了解敏捷开发流程了。
敏捷开发的流程:需求规划和分期,需求评审,需求讲解,方案评审,每日会议,性能测试,CodeReview,Demo,测试阶段,线上BUG修改流程。
一个敏捷开发小组的日常:
如果一个管理还把产品和开发分家成两个部门,一定会有一些矛盾。我们比如是一个网站开发,基于微服务负责网站的某一个小模块成立一个敏捷开发小组。标准配置应该是:4个开发,其中一个起码是高级程序员。一个产品经理,一个测试,一个项目经理。项目经理主要负责网站的某模块的维护和协调。
日常分工:
产品经理:写需求设计文档,要把需求整理成Ticket,随时和项目成员进行确认沟通。 开发人员:按照需求文档的优先级提取Ticket,完成日常的开发任务; 测试人员:测试已经部署到测试环境的程序,如果发现Bug,提交到Ticket; 项目经理:保证日常工作的正常流程,执行反馈,并且协调组员,组织每日会议。
产品经理:产品经理的职责就不光是画原型图了,而是给产品的模块分期,制定好优先级和功能是最重要的。产品经理要做的是证明自己的功能是合理的。
但是在敏捷开发中产品经理不需要为开发进度负责,负责开发进度的是项目经理或者是小组Leader。还有是要在开发团队开发项目的时间内去做下一个产品的迭代设计。
小组Leader或者项目经理:需要组织组内所有成员参与,如果整个公司实行敏捷开发,那就是组织各职能的Leader开需求评审会。
这个需求评审的目标是可以放到台面上并且执行下去的方案,如果这里还要继续讨论是否合理,那这个会就很糟。
项目经理应该负责整个项目的调控,比如人员成本,时间成本,项目是否延期,还是调整功能。
开发组员:除了日常开发,主要是当项目完工以后,应该交叉去做CodeReview,并且出性能测试报告,以及组织Demo。
测试人员:不是单一的做功能或者是性能测试了,应该是做边界测试和回归测试。最简单的功能测试应该都是开发直接完成了,如果有很麻烦的功能测试,才是测试人员来测。敏捷开发中,应该是组员全部承担风险。
测试人员在敏捷开发中还是很重要的,要准确的记录以及bug的统计。甚至测试人员可以给开发人员打绩效。回归测试是要做的,如果可以有很多自动化测试用例就正常用,如果不能就减少回归测试。
其实敏捷开发就是每个人各尽其职主动承担一些工作,高效透明的沟通。如果整个开发团队庞大,可以先成立敏捷开发小组。只要管理者明确职责合理分工,不断的强化跟进培养大家去做事情就可以了。