关于敏捷开发
Posted 想说就在今日
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于敏捷开发相关的知识,希望对你有一定的参考价值。
本地化敏捷开发实践,都是坑。
本篇是故事也是事故,如有雷同,实属巧合。
公司领导听到最近流行的新词儿“敏捷开发”,正好人力资源部有一个新的需求,准备在团队中实践一下,锻炼团队。于是张小厨接到一个新任务,做一个公司内部产品,老板的要求是:
1、每周一迭代(研发要加班)
2、内部员工体验取得反馈并更新(先把产品抛出来让大家骂一骂,然后再逐渐改进~ 张小厨想我是不是傻~)
不过张小厨想,敏捷开发的方法我看过啊,书里讲过啊,虽然大家没有开发经验,但是毕竟有前人的经验可以借鉴啊,而且内部产品太简单了,需求都在身边,用户也在身边,可以一试。
这一试不要紧,张小厨发现,too youngtoo simple!“道理都懂,但还是过不好这一生;看了这么多书,还是做不好敏捷开发。”
A 什么样的产品适合敏捷开发? 敏捷看法适合什么样的团队?
2B的产品适合么?2C的产品适合么?
想象一下,拿着一个只有一个B端产品给你的客户先使用,不知道客户会不会说:“你就给我这个?”所以这个问题没有标准答案,只能具体问题具体分析,分析用户分析。大部分敏捷开发的产品应该都是从0到1。或者至少是一个成熟产品中的新功能。
敏捷开发的原则就是:聚焦功能,先完成独立的子系统。从用户来看,张小厨要做的这个产品的的用户是公司内部员工,领导发布些消息,员工获取消息,员工查询,独立子模块一个一个的上是基本没有问题的。也就是至少要有一个完整的功能体验之后,没有基本的bug的产品的迭代。
再来看看团队,目前团队成员:一个UI ,一个前端,三个开发来配合这件事情。同时这些人身上还背着其他的开发任务,而且没有敏捷开发经验,没有!!张小厨自己也没有经验。没有经验也要硬着头皮上,没做就正好积累经验嘛~谁还没有第一次不是~
在目前团队都没有经验的基础上,首先张小厨进行了用户调研,建立了需求池,规划出了整体的功能,并按照优先级进行了划分,确立了产品的backlog!
B 第一个版本做什么功能?
这是个问题,发布普通内容好开发但是对用户来讲不一定有吸引力,如果发布重功能,开发肯定来不及。权衡利弊之后张小厨选择了新闻浏览的功能,既不简单也有内容,能先满足第一版本出来,也给开发留出足够的时间准备内容。
于是张小厨开始写第一个用户故事,并做出了第一个版本的简单原型,同时张小厨做了一个每周的沟通及开发计划,规划好了沟通的流程,第一次。于是开发工作紧锣密鼓的开展起来。
第一个原则(坑)来了:需要进行敏捷开发的培训,只有每位成员都真正理解敏捷的方法,产品经理才能把工作重心放在执行上面,否则敏捷开发只能存在教条式的理论层面。
张小厨在项目一开始只是简单交代了项目的背景,并没有对团队成员进行敏捷开发原则的一个统一共识,加上任务时间紧,就快速跳到了实现上,后期发现,团队成员对于敏捷的认识程度根本不一样,大部分认为这只是一个要紧的任务,一周一迭代要了亲命了,能实现时间就已经很紧了,对于需求的变更接受度较低,有不能接受的情绪,整个团队需要进行敏捷开发的培训。
解决方案:在第一周迭代之后,补足了敏捷开发的原则,在团队内部进行了统一认识。并私底下对每个成员进行了理解,让团队明白目标才是一致的!效果嘛因人而异~ 不过要比之前好很多,大家对于这件事情的预期有了一个大的调整。培训的事情大家的意见是,哇哦~ 先完成任务再说吧~
第二个原则(坑)来了:错误估计了团队的能力。产品经理和设计师的工作应该比开发团队领先一两个迭代周期,给予设计师更多的时间来设计产品。
张小厨在一开始规划的时候,原型做得比较细致,留给UI的时间较少,稍微懂一点设计的UI一天时间应该就搞定了吧。结果UI设计师真用了一天时间做了出来,有自己的想法,惨不忍睹也没有时间改动,直接交给前端切图。在跟开发团队技术探讨上也花了一些时间,技术团队尝试了两种方式都不觉得有风险,宝贵的时间就浪费了。
解决方案:
A团队在一开始的时候,一定要留出一定的时间进行磨合,进行方案的细致探讨。
B 减少每周开发的任务量,在一开始进行缓慢的迭代,同时进行培训,建立起这个机制,养成团队习惯之后,再来提更快速和加功能。
第三个原则(坑)来了:选择合适的时间发布产品,需求的变更频率,过度频繁的迭代产品会让用户产生不适应。
第四个原则(坑)来了:对于产品经理自己来说,敏捷开发对自身能力要求很高,要快速做决定,同时又要去了解用户需求,平衡各方的时间,很容易手忙脚乱。
估计未来的坑还不少:比如长期的项目执行,会造成团队成员的疲倦,如何打气,频繁的需求更改会带来大家成就感的挫败,这些都是要注意的问题。
结论:书还是要看,敏捷开发还要在路上多体会,方法一定要记牢,多失败多去了解团队,最多公司搞垮,没什么大不了的!
以上是关于关于敏捷开发的主要内容,如果未能解决你的问题,请参考以下文章