敏捷开发实践

简介: 我们在第一次使用Scrum进行项目管理时,并没有看Scrum的规则,从直觉上做了以下几件事,巧合的是,跟Scrum中项目的前期准备sprint0 很多地方是一致的,这让我们后期切到Scrum更加顺滑。

下仅是我本人在敏捷方面的实践经验,仅供参考。。


方法论先进性问题


来源https://insights.stackoverflow.com/survey/2017#development-practices


50.png


每日站会(一直在践行)


  • 昨天为冲刺做了什么
  • 今天为冲刺要做什么
  • 遇到什么阻碍冲刺的事情了


sprint == 迭代周期 ==冲刺


 每一个迭代周期一般时间固定。


 我们在第一次使用Scrum进行项目管理时,并没有看Scrum的规则,从直觉上做了以下几件事,巧合的是,跟Scrum中项目的前期准备sprint0 很多地方是一致的,这让我们后期切到Scrum更加顺滑。


51.png


我们在准备阶段,分别让

  • 前、后端包括UED进行了架构设计,产品设计文档
  • 进行了一些技术难点和问题点的调研
  • 也有了第一个release的发布计划
  • 初步的backlog
  • 和测试、产品一起同步数据的抓取方案

  不过还缺少审核检查表等。(缺的不多)


与产品梳理故事,并对故事的优化级进行了排序


将不同故事安排在不同的sprint中


评估时间

  第一次评估故事和开发时间,是用计划扑克,将故事点和开发人天设置为一样,这样做是为了大家方便理解,先试用一次,并且是我自己将story拆分成task的。从第二次开始,将故事点和开发时间分开评估,由大家一起将story拆分成task,然后由大家认领task,交给最适合做这个task的开发同事。再根据task,每人分别评估开发时间。


与测试一起制定测试与开发周期的结合点,这块并没有完全按照scrum的方法做,我的做法是想尽量让测试与开发并行,将测试与开发的工作周期拉开一周,原因是在早期项目的开发节奏较快,任务比较多。


与UED一起制定了UED与开周期的结合点,UED整体早开发一个周期,这样当开发进行到一定任务时,UED已准备好。


通过 以上两点  设计、开发、测试 的工作周期能够比较好的咬合在一起,当然实际效果要在日后的工作中持续检验。


产品可以持续在backlog中添加待办事项,同事们就可以排sprint来进行一个又一个周期的安排。然后开发的同事们来具体实施完成。


“鸡”在scrum中不能说话。


   鸡可以观察每日Scrum,但不能够参与 参考文章:https://cloud.tencent.com/developer/article/1073880


在开发中发现很多细节问题,这些问题都是在需求及设计阶段没有讲清或更新不及时导致的,所以在流程中又加入了评审过程。

 

评审分两块:

     1:需求+设计 ,这部分的评审我们将需求和设计结合起来一起做,因为产品和UED是在开发的前一个周期的,所以时间上是有的,另外,二者合起来对于开发接收的信息更完整,更利于开发的顺利介入。评审时间是在开发拆分story之前。


     2:测试评审,具体就是针对测试用例进行评审,主要目的是使开发和测试对所做的东西有一个一致的认识,让不同角度的双方进行一轮信息的交流,达成共识。评审时间是在开发的中前期,具体时间由测试负责人决定。


加入了验收人和验收时间,在每一个sprint结束后需要验收人来进行验收,我们并没做全员的成果演示,简化些流程,只做产品的验收。但是会在大版本发布前做一个多功能的成果演示。目的是让全员对产品成果有概念,让参与的同事有成就感。


验收人员由产品改为 产品+UED


在提测前加入了UED走查,这样UED在评审、走查、验收三个环节都有机会介入校验开发的成果是否和设计一致。


召开了敏捷回顾会议,通过总结

  • KEEP(做的好的,要保持的)
  • CHANGE(做的不好的,需要改进的)
  • TRY(可以尝试的)


    产出了 action list ,为后面每一个sprint的行动

   keep change try 每人每项最多列举三项,然后大家匿名贴在白板上(反过来贴,字在里面)可以消除大家的心理障碍。开会时,主持一张一张的读出来,然后大家发言讨论下,直到最后一张讨论完,总结出ACTION LIST。


将bug fix的修改周期和提测周期粒度拆细,由原来的按sprint算,改为在一个sprint中分功能多次提测,在重要sprint中,按照当时项目的情况灵活掌握,具体来说就是:bug按优先级灵活处理,重要的先处理,排进当前sprint故事中,不重要的暂时搁置。


调整了故事和任务的粒度

   因为经过了几次迭代后,大家对开发的模式很清楚了,在互相信任的前提下, 我们提高效率,减少了录入整理和频繁的看板操作,将任务的粒度变粗,而故事的任务变粗可以方便拆分成有意义的任务,否则如果故事太细,任务不好拆分,就算拆分了也意义不大。比如一个关注功能,虽然可以拆分成数据库设计、缓存设计、接口契约制定、实现,前端实现,后端逻辑实现,但如果所有故事都这么干,任务量太大和对任务的管理就会比较麻烦。


有关敏捷的思考


   敏捷开发不是偷工减料,不是贪图速度。只是因为每一个人相对独立后,减少了沟通成本,从效果来讲变快了。如果在工作中,不做防范(写文档,测试,测试用例),一味降低成本。后来人走了,接不上,成本更高。



相关文章
|
NoSQL Linux 程序员
Linux:gdb调试器的解析+使用(超详细版)
Linux:gdb调试器的解析+使用(超详细版)
510 1
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
Java 测试技术 数据库
如何做SpringBoot单元测试?
如何做SpringBoot单元测试?
|
Java 开发工具 Maven
IDEA安装及Clone代码
IDEA安装及Clone代码
242 0
|
4月前
|
Arthas 存储 Java
JVM深入原理(三+四):JVM组成和JVM字节码文件
目录3. JVM组成3.1. 组成-运行时数据区3.2. 组成-类加载器3.3. 组成-执行引擎3.4. 组成-本地接口4. JVM字节码文件4.1. 字节码文件-组成4.1.1. 组成-基础信息4.1.1.1. 基础信息-魔数4.1.1.2. 基础信息-主副版本号4.1.2. 组成-常量池4.1.3. 组成-方法4.1.3.1. 方法-工作流程4.1.4. 组成-字段4.1.5. 组成-属性4.2. 字节码文件-查看工具4.2.1. javap4.2.2. jclasslib4.2.3. 阿里Arthas
88 0
|
6月前
|
移动开发 JavaScript 前端开发
HTML5最新经典俄罗斯方块游戏插件
HTML5最新经典俄罗斯方块游戏插件
|
6月前
|
机器学习/深度学习
阿里妈妈首提AIGB并实现大规模商业化落地,将在NeurIPS 2024正式开源Benchmark
阿里妈妈提出AI-Generated Bidding(AIGB)新范式及DiffBid生成式竞价模型,突破传统基于强化学习的自动竞价方法局限。AIGB将自动竞价视为生成问题,通过捕捉复杂依赖关系,提升长期规划和随机环境中的稳定性和效果。DiffBid基于条件扩散建模,灵活生成满足特定目标的竞价轨迹,显著提升GMV和ROI。实验结果表明,DiffBid实现了2.81%的GMV增长和3.36%的ROI增长。然而,生成式建模的复杂性也带来了训练和调优的挑战。 论文链接:https://arxiv.org/abs/2405.16141
248 9
|
7月前
|
人工智能 负载均衡 数据可视化
Deepseek太卡,白嫖阿里云Deepseek-R1满血版,免费100万Token
阿里云推出DeepSeek-R1 671B满血版免费部署方案,解决服务器繁忙问题。通过百炼大模型平台,用户可获得100万免费Token,无需编码,最快5分钟完成部署。支持自动弹性扩展,提供API调用和Chatbox客户端配置,轻松实现DeepSeek自由。新手零基础也能快速上手,最低0元体验高性能AI模型。
|
安全 算法 Java
密码学基础知识与加密算法解析
密码学基础知识与加密算法解析
|
存储 人工智能 搜索推荐
持续打通中国CRM SaaS生态,阿里云上的Salesforce稳步“着陆”
持续打通中国CRM SaaS生态,阿里云上的Salesforce稳步“着陆”