由于个人因素参与同时负责了一些项目的开发,之前还没上软构课的时候就已经对于敏捷开发这个概念有了初步了解,原因是大厂很多产品线在使用这种方法进行开发。没想到软构课上居然提到了这个概念,由此越发的感兴趣并尝试将其应用于自身项目的开发当中。
单从敏捷开发的基本概念说起,其实核心点我认为就是“快”:开发快、反馈快,通过多个小版本进行快速迭代,从而使产品的用户体验感更好。在此之前,大多数软件开发项目都是采用“瀑布法”。这个方法要求严格的评议,由此导致流程进度缓慢,并且很难根据用户的实时反馈进行调整。往往过度保持掌控地位会适得其反。而敏捷开发则不然,虽然每个版本都会有潜在的缺陷,但是由于其快速的反馈响应机制,产品整体的用户体验感和开发效率得以大大提高。因此,无论是是在硅谷还是在中关村,敏捷开发(SCRUM)已经成为了软件开发团队必不可少的开发方式。Scrum可以说是一种彻底的变革,拉高了软件开发速度,提高整体开发过程中的反馈灵敏度,这就构成了“反馈-调整”的飞轮模式,具有极强的威力。
而最近偶然间读到一本书——《敏捷革命》 。作者是敏捷开发的提出者。SCRUM模式原来不仅仅是被应用于软件的开发过程中,在团队管理、任务处理中都有很高的潜力。其实能够应用的基础就在于我上文所说的“快”。其实这有点像我们算法课中学习的分治算法,将整体的任务分解成很多个小任务,每个任务专注于某种价值的提供与创造。把项目分解成多个小循环,可以让早期用户及时提供反馈,再利用反馈对下一次新的循环制定为参考。
但其实这样做需要很好的平衡版本管理。think this:你是一名用户,结果你用的软件一天要更新几十次,我想这样你也不会选择去使用这款产品,对吧?因此,每个最小价值任务单元的设立很考验团队领导者的能力与大局观。尽量保持每次小版本迭代时让用户有充分理由的花费时间成本更新产品。同时从团队管理角度而言,员工任务量的设置不应过多或太宽泛,我个人认为的最佳任务分配期大概在两天/三天(目前的情况是这样的)。这样充分平衡价值和速度,才能真正发挥出SCRUM的潜力。
Scrum具有更好地帮助管理团队、项目甚至是企业的巨大潜力。它可以帮助我们地团队改变固有的工作方式、创新方式、规划方式和思考方式。充分利用SCRUM的内核精神,对我们的生活大有裨益。Keep everyday scrum, make everyday worth!