产品开发需要持续性
Scrum的基本思想就是给团队一个安全的和没有变更的环境,让团队可以集中在计划好的开发任务上。一般来说,团队为两周左右的一个Sprint做好计划,然后在Sprint当中不应该被打断,直到当前Sprint结束。这样的流程能够避免了“新的==重要的”的情况发生,能够保证当前的事情能够完成,也能够避免大家认为新的想法就一定比一个月前提出的想法要重要得多的问题。要在产品特性开发上获得成功,就需要稳定的特性优先级。
WEB应用是一头猛兽
让我们快进到维护和开发一个成功的WEB应用程序。成千上万的用户对网站使用各种手段进行折磨,由此产生的各种各样的问题等着你的技术团队去解决。他们要阻止滥发垃圾邮件的人,修复严重的缺陷,还要优化缓慢的数据库查询。所有这些问题都无法等到下一个Sprint来解决。
Scrum对WEB应用来说太慢了
Scrum让你可以每2到4个星期发布一次新特性和调整工作优先级顺序。对于开发桌面应用程序而言(像嵌入式软件或者手机应用程序),每两个星期发表一次已经是很了不起的成绩了。但是,我还没有见过一个WEB应用程序不需要每个星期发布一到两次的。
WEB应用需要连续的发布
如果你的开发团队被按照垂直分组,而且客户通常每几个月才能看到新特性的发布,那么你可以考虑引入Scrum。Scrum能够帮助你把现有的团队分开,然后建立真正能够开始一起分担责任一起齐心协力的团队。更重要的是,你的用户能够更加高兴,因为他们每两个星期就能够看到新的有价值的东西了。
但是,千万别这样就满足了,因为在今天这样的电子商务时代,两个星期的学习周期已经是很长了。你的用户的下一次点击很有可能就落在了你的竞争对手的网站上了。为了避免这样的情况,你必须要让你的用户一直对你的网站充满兴趣,这样你就必须持续不断地优化你的产品。当然,Scrum并不能帮你解决每天可能出现的问题,所以你需要有类似Kanban一类的补充流程来帮助你解决剩下的问题。否则的话,你的Scrum可能会失败,你的敏捷之旅也有可能突然终止。
关于如何将Scrum引入到WEB应用的开发你有什么经验吗?你是如何处理持续不断的需要解决的问题的呢?来和大家一起分享你的经验吧。