何谓Backlog?
本文所说的Backlog是Scrum中的一个专用名词,大约意思是待办的工作事项。
那它是用来干什么的呢?
Backlog里面放的是需要实现的所有任务,包括功能性的和非功能性的任务,换句话说,就是咱们已经把客户的需求提炼出来并且已经完成了设计的部分,现在这些已经完成设计的用户需求被放在一个地方,持续添加新的进来并且随时可以分配出去进行开发,这个地方就叫做Backlog。
知道它是干什么了,那你知道为什么我们需要Backlog吗,不就是一个地方可以放需要去完成的任务吗?有那么重要吗?
首先,是的,它很重要。
怎么个重要法呢?
1. 首先从Scrum的过程看,我们可以发现Backlog是其起源,俗话说,好的开始是成功的一半,其实Backlog也是同样的一个道理,因为它为敏捷开发的成功开了一个好头,有了Backlog,我们就随时可以知道我们需要做什么。
2. 当然知道要做什么还不够,因为我们是在做产品,而不是只做一个功能,要做的东西太多了,就有可能会乱,最后甚至导致“不”敏捷了。
所以Backlog专门提供了优先级的功能,我们可以根据商业上的需要给每个待做任务设置优先级,而开发时就可以根据优先级来进行开发安排。
不过,设置优先级是一件很重要又很严肃的事情,因为一旦设置了优先级以后,意味着你的产品开发就会按照某个方向上进行了,一旦设置错误,可能会导致很坏的后果,比如某个功能你觉得优先级不高,不看重它,所以一开始不开发,但是竞争对手很快做出来了,然后占领了市场,这个时候你再去更改优先级就有点晚了。
所以对于优先级的设置,我们就会有很多的考虑,
1) 比如根据冒泡法来设置优先级,通过两两比较来确定两个任务的优先级别,然后再去跟第三个比较,再来确定,这样循环下去,得到所有任务的优先级别。
2) 当然冒泡法只是一个设置的优先级的方法,但是得出优先级的方式还是得根据产品的实际情况来决定,比如说优先考虑客户看重的功能,而对于我们自己想出来的优先级就低一点。
3) 再比如,可以根据工作量情况,先完成那些比较容易的,而对于改动很大的放到后面去。
4) 当然,还可以考虑市场投放顺序,根据我们自己想让客户看到的功能的顺序去决定优先级别,毕竟敏捷里是要定期交付给客户Build的。
所以Backlog里优先级的设置是一件相当重要的事情,只有正确的优先级,正确的开发与交付次序才有可能得到最高的产品价值。
(未完待续)