XPlanner使用心得
这篇文章原始版本是英文的,在国内已经有了一篇翻译了,不过是繁体的。我在这个繁体及原始版本的基础上搞了个中文简体版。讲的就比我上一篇里边清楚的多了。感叹自己的文笔太差了。其实意思基本上是一样的。
XPlanner的基本观念
* XPlanner是一套支援XP(Extreme Programming;极限编程)的规划及追踪软件
*在XPlanner中,你可以建立许多的用户与项目,每个用户在每个项目中可以有不同的权限
*一个项目可以视为一套产品的开发过程,当然也可以对应到与顾客合作进行的软件开发项目
* XPlanner在项目层级下设有迭代(Iteration),基本上一个项目应该要有许多features或requirements。透过迭代,你可以安排要将哪些features放在哪个迭代,而将另一些feature放在另一个迭代。开发时间越早的迭代,应该包含项目越核心的功能,或是较为重要的功能。而后面的迭代则放入选择性的功能。
*迭代层级里面放置用户故事(user stories)。用户故事用来代表一个用户可了解的需求,应该是一组独立,且不可分割的功能。用户故事同时也用来作为工时估算的单位。决定一个迭代里要有哪些用户故事、要把哪个用户故事放在哪个迭代的过程,就是发布计划(release planning)
*用户故事层级里放置任务(Tasks)。如果把用户故事看作是需求,那任务就是完成某需求所需进行的工作。任务由开发人员撰写,它同时也可用来较为精细的估计工时。
*在XPlanner里面你不用怕故事放错迭代,也不同怕任务放错故事,因为它们都是可以在不同的容器中移动或接续的。
使用XPlanner规划及追踪软件开发项目
这部份有些内容参考自XPlanner网站:Planning and Tracking
XP (Extreme Programming;极限编程)是极富弹性,且还在进化中的软件开发流程。在实施上有许多的XP规划方法。我们在此说明XPlanner所支援的流程。规划流程的特性及步骤包含:
由顾客及开发人员定义发布计划(release plan)
XPlanner目前还没有直接支援发布计划(release planning)。不过XPlanner倒是可以让你定义许多迭代,并在其中放入适当的故事(stories)。你可以把这种功能当作是发布计划的一种方式。实际上,我们还会定义虚拟迭代(pseudo-iterations)来容纳那些还未排入正式迭代的故事。这样就可以让顾客定义他们想看到的产品特性,并为接续的迭代规划存留原始题材。
使用虚拟的迭代(pseudo-iteration)储存尚未纳入排程的故事(stories)
XPlanner目前尚未直接提供未规划故事(unplanned story)的容器。然而,许多团队会建立一个称做是"backlog"(注:应该是起源于Scrum开发方法学,用来代表feature repository)或"unplanned stories"的虚拟的迭代,并将迭代启始时间设定为很久之后,来当作未规划故事的容器。将未规划故事先放在这个虚拟迭代中,之后在概念规划(planning game)时再把适当的故事移到适当的迭代中。
由顾客定义用户故事(user stories)
你可以在规划某一迭代时直接建立用户故事,或将别的迭代里的用户故事移到某迭代中。故事的优先权必须协同顾客敲定。
由开发人员估计实作故事的代价
XPlanner可以在为故事定义任务(tasks)之前,就先预估工时。这对一开始时粗估是否能在时间、资源限制内,实作出顾客所要求的故事集是非常有用的。观察员(tracker;追踪者)将会参与这个阶段,来帮助顾客开发故事。观察员通常会是故事的开发人员之一,但这并非必要。
一旦选定了一组可行的故事集之后,开发人员将会定义实作故事所需进行的任务(tasks)。这个时候,由开发者为某一故事的工作项目所进行的工时估计,将会取代原始故事的工时粗估。每一个任务,都会有一个受理的开发人员(acceptor)。当开发工作正式进行时,受理人将会(或可能会)与另一个配对程序员(paired programmer)一同进行开发工作。
开发者以过去迭代的指标来决定其可用预算(budget,这里偏向时间上的预算,而不是指经费上的)。而预算决定了某开发人员在此迭代中可接受的工作。在XPlanner中,迭代中每个开发人员的所花费的工时可透过iteration metrics页面呈现。一般来说,将工时除以二(假如是采用配对程式设计方式)就是当前迭代可用的预算。
实作故事
如果透过任务重新估计的工时仍然在此迭代可接受的预算之内,就可以开始进行任务了。
进度追踪
任务开始进行后,就可以追踪其工时。 XPlanner会在迭代、故事,以及任务层级的网页,以进度条的方式来展示进度。
进度条可用来(例如,让相当忙碌及时间有限的顾客)快速检视整个团队的进度。进度条已经过正规化(normalized)以减少视觉杂讯的显示。正规化的缺点是故事的相对大小没有显现出来。这样的资讯是以数值化的方式显示在迭代表(iteration table)及其他页面中。如果一个任务还没有记录任何工时,则整条进度列都会是灰色的。
而当任务开始进行后,进度条上会以蓝色表示已进行的工时。
如果某个任务的实际工时已经超出了之前的估计,则XPlanner会强制你更新估计工时,才肯让你储存输入工时。之所以这么做的原因是,XPlanner不可能在你超出预估工时后,还能帮你估算剩余工时。而原本的预估并不会丧失,因此还是可以产生"预估正确性指标(estimation accuracy metrics)"。
迭代页面所示的故事层级(story-level)进度条,则是任务层级进度的整合。