
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
敏捷开发技术的学习与应用随着互联网的不断发展而被越来越多的程序员掌握,今天我们就通过案例分析来简单了解一下,敏捷开发入门需要掌握哪些知识。
1、搞清楚团队为什么要转Agile开发模式!
敏捷开发与瀑布开发的根本区别是“迭代开发”+“增量开发”。这里要着重说的是增量开发,如果你的团队开发的项目或产品采用敏捷开发,然而不是通过增量开发的方式,团队会很困惑为啥要敏捷,敏捷带来了什么?笔者所在的项目早采用瀑布开发模式,通常3-6个月一个release。当转向敏捷时,团队受到大的鼓舞是客户的肯定,因为6个月的项目,在2个月的时候,客户就可以试用初级功能的版本,客户对于几个月以后的产品充满了兴趣,即使在使用中遇到了很多问题,但是他们还是很乐意的去使用,并且在使用中提出很多意见和反馈。而这些反馈对于团队来说是巨大的帮助,而在每个月的迭代过程中,客户一步一步看到功能的完善和变化,当产品release之前,客户已经对于即将拿到的产品有了全面的认识和了解,对他们来说,这种产品就是他们想要的,甚至一些产品功能和使用习惯都是他们自己提出来的。这种开发模式所带来的变化是很多团队转向敏捷的根本原因。如果你对团队采用敏捷,然后开发的模式只是把产品开发的6个月的工作划分到每1-2周中,实际上并没有真正理解敏捷,也享受不到敏捷带来的好处,这时候你去转敏捷,可以说意义不大。
2、产品质量的好坏和Agile本身无关!
我在不同的文章中不止一次说过,产品质量的好坏与开发流程关系不大,至少和敏捷瀑布模式无关。产品的质量需要人+时间。合适的人加上充足的时间,才能提升产品质量。笔者在之前公司是做在线协作产品的(Welink+视频会议),我们的产品发布模式是每个月一个FeatureRelease(DeliverFeature),每周一个PatchRelease(FixBug)。去年疫情期间,基于疫情状态下的产品需求激增,为了迎合市场,加班加点不说,整个开发出来的功能比平时多出100%不止。在这种情况下,产品的质量可想而知,很多问题都是发布前就已经已知的,由于市场需要,很多时候是在VP批准下,产品带着上百个bug上产线。然后后续通过一个个PatchRelease来慢慢fix这些bug。产品质量的好与坏终决定于你的测试,不管是开发者测试还是QA团队测试,终你的产品发布之前经过完善的测试才能保证质量。当然开发者测试的重要性咱们这里就不再讨论了。
3、Agile很重要的一件事情就是管理好你的backlog!
敏捷开发很重要的一点就是即将做的事情总是在变化的,在变化中决定未来一段时间的做什么。而所要做的事情就是我们常说的backlog,管理好你的backlog是极其重要的。整个敏捷高速运转的基础就是backlog的管理。
backlog的管理通常参考以下几个方面:
未来两年之内,你可能会做的所有事情,并且给每一个事情打上一个预估的优先级(可以是数字,也可以是字母)以及预估的工作量(T恤Size,XS,S,M,L,XL,XXL...)。
backlog有用户需求相关的,也有研发代码重构,架构演进技术相关的。
团队定期坐下来决定未来3-6个月要大致做什么,包含需求及技术的backlog,这时候要平衡技术类与用户类的需求。
当决定要做的东西,架构师要从技术上做到DesignReady(通常用wiki来记录),包含架构设计(Design)以及工作划分(US/Task)都可以确定,这时候才会真正拿到项目迭代中去实施。
每个迭代计划时,再有团队坐下来决定,从Ready的backlog中拎出哪些做。
从backlog的管理上来看,产品经理与架构师是非常重要的角色,2者除了正常的迭代过程外,承担了整个迭代的准备工作。而整个团队更像高速运转的机器一样去一个一个迭代去“生产”出“商品”。说到这你可能就明白为什么那么多企业要转向敏捷开发,除了一点以外,就是大化利用人力资源来产生价值。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。