一、 XPlanner简介
XPlanner 是一个基于Web的XP团队计划和跟踪工具。XP的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。
XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
项目主页: http://www.xplanner.org/
二、 XPlanner安装
采用XPlanner 为版本0.6.2 (后台数据库为PostgreSQL 8.1);安装于 192.168.0.2服务器上。
1. 下载xplanner(使用版本是0.6.2) :
http://prdownloads.sourceforge.net/xplanner/xplanner_0.6.2.zip?download
2. 配置ant:
到http://www.apache.org下载ant,将这个解压如d:\ant,在系统环境变量里设定ant_home=d:\ant,然后就可以在系统任意路径下使用了。
3. 新建数据库:
我是在PostgreSQL 8.1中建立一个xplanner的数据库。
用ant建表:将下载的xplanner解压缩,进入resources文件xplanner.properties文件,将数据库和用户名修改为之前自己建立的名称。
找到PostgreSQL项:
# PostgreSQL
hibernate.dialect=net.sf.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbcscreen.width/2)this.style.width=screen.width/2;" border=0>ostgresql://192.168.0.2/xplanner
hibernate.connection.username=postgres
hibernate.connection.password=postgres
找到build.xml
在DOS下进入build.xml所在目录,
执行ant install.db.schema
在这一步中将会在数据库中建表,以及假如一个用户名为"postgres"密码为"postgres "的初始用户
运行ant create.db.schema.
这个将会生成一个hibernate_schema.sql 文件
4. 配置email
在xplanner.properties找到
xplanner.mail.smtp.host=localhost # enter your SMTP host
[email protected] # enter the email sender for XPlanner messages
将他改成你的配置
5. 在Quartz Configuration项里可以修改后台时间触发引擎Quartz的设定触发时间。如可改为:xplanner.datasampling.job=0 0 0 ? 1-12 *;表示每日午夜0点触发。xplanner.datasampling.job=0 30 17 ? 1-12 *;表示每日17:30触发。
这里需注意的是由于0.6.2 xplanner版本设计的原因,如改为其他时间触发统计报表将不能正确显示。所以可以考虑在数据库里加入以下触发器:使sampletime字段的时分部分都清零
CREATE OR REPLACE update_datasample()
RETURNS "trigger" AS
$BODY$begin
update datasample set sampletime = date(sampletime) where sampletime=NEW.sampletime;
return NULL;
end$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER update_datasample() OWNER TO postgres;
CREATE TRIGGER update_datasample
AFTER INSERT
ON datasample
FOR EACH ROW
EXECUTE PROCEDURE update_datasample();
6. 汉化包安装:
到 http://webpm.softme.org/jwiki/v_1.2.1/jwiki.jsp?topic=cnXPlanner 下载汉化文件;然后拷贝入resources文件夹,注意文件名的大小写。
7. Build the xplanner.war 文件:
到xplanner(有build.xml文件)的目录,运行
ant build.war
这样就会生成文件xplanner.war 。
copy xplanner.war 到tomcat下的webapps内
重新启动tomcat。
三、 公司研发类项目XPlanner初始设定要求
1. 根据项目类型不同分为两种类型对项目在XPlanner上进行初始设定:
对于定制开发类项目,以实际项目名称作为XPlanner的项目名称。在项目下建立首次迭代,制定迭代起止时间。根据公司目前项目情况,建议每次迭代过程不要超过一个月。在制定首次迭代后制定至少一个User Story;在User Story中至少制定一个任务。
对于短期实施类项目,以实际项目名称作为XPlanner的项目名称。一般一次迭代应该完成此项目。
2. 在XPlanner内建立人员列表包括:
公司研发部人员(项目经理设为管理员权限、其他开发人员为编辑者权限)
公司其他部门项目人员,包括项目助理或可以作为项目跟踪者的市场部门人员或者公司管理者
客户:可以作为项目客户或跟踪者
其他访问者:可看到该项目进展情况的访客。设为访客
四、 项目组各成员使用过程及要求
1.项目负责人:鉴于目前XPlanner仅适用于软件研发类项目适用,所以定为研发部项目负责人为XPlanner项目管理员。项目负责人主要负责 XPlanner中项目、迭代、User Story、任务的设置、编辑、删除。项目管理员也可后续由项目助理担任作为执行人和跟踪者。对于项目负责人应该:
在启动新项目前依据《软件项目开发计划》在XPlanner上加入新项目,要对本项目目标加以简要说明。将《软件项目开发计划》附加入"备注/附件"
按照《软件项目开发计划》细分出本次迭代,订立迭代目标、迭代周期、完成的User Story、涉及人员、迭代完成评定标准。形成《软件项目迭代计划》(格式附后)提交审批。要求可度量的明确的迭代目标是《软件项目迭代计划》的重要内容之一。
按照迭代目标、迭代周期、涉及人员制定任务草稿,提交《迭代会议》讨论。
招集相关人员召开《迭代会议》通告《软件项目迭代计划》即迭代目标、迭代周期、完成的User Story、迭代完成评定标准。并对任务草稿进行讨论,制定出确定的任务列表。填入《软件项目迭代计划》。
按照《软件项目迭代计划》在XPlanner上添加相应的迭代、完成的User Story、任务。正式启动本次迭代
如果项目负责人是跟踪者角色,需随时在"我的资料"界面跟踪迭代执行情况。
迭代时间要求不允许调整。User Story可以变更、增加、编辑、删除或调整、延续到后续迭代中去,任务也可以变更、增加、编辑、删除或调整、延续到其他User Story中去,但需要开会讨论决定。任务里的评估工时是XP开发方式的重点控制内容。一般不允许调整(通过对评估工时和实际工时的比对可以统计精确度)。
要及时督促项目研发人员添加、更新XPlanner上各角色负责的内容,做到每日下班前打开XPlanner监控项目进行情况。
本次迭代完成后按照《利用XPlanner对项目进行持续进度跟踪管理》的要求作出简要的《软件项目迭代总结》
2. 编辑者:定为本项目的研发人员、软件测试人员。要求对于本项目的研发人员应该:
参加《迭代会议》,充分了解《软件项目迭代计划》即迭代目标、迭代周期、完成的User Story、迭代完成评定标准。并对任务草稿进行讨论。
接受自己部份的任务列表,对任务内涵要求有清晰明确的认识。
要求每日在"我的资料"界面相应的任务列表内的"操作"表型图标上进入"编辑任务时间"界面,填写本日此任务工时。在"编辑任务时间"页面中的操作应实时进行,要填写开始时间和结束时间。要求格式为时间格式: YYYY-MM-DD HH:MM。
对于需求设计任务主要是以模块功能描述的方式说明,完成识别就是完成此User Story某部份的设计实现方案,必须有设计输出。对于开发类项目任务主要是以功能描述的方式说明,完成识别就是完成此功能描述地实现代码。对于测试类任务主要是以测试用例列表或模块说明,完成识别就是完成此测试用例列表,或模块的全部业务路径,输出BUG单。对于Overhead(整合、管理)类任务主要是以工作内容说明,完成识别就是完成工作说明的内容。
在"我的资料"界面下部"时间表"操作进入"时间表",此界面可统计本人的时间累计工时情况。作为个人时间管理参考。
如果实际某任务工时累计超过了评估工时,将会显示"实际的工作时间已经超过了当前任务的评估工时.请进行新的任务评估以便于 XPlanner 的状态视图可以更精确."信息。此时可以按实际工时数调整原有的评估工时。新的评估工时与原有评估工时在"精确度"界面有显示。对于此类情况要求随着评估工时的准确程度提高而减少。
当任务完成后从"我的资料"界面相应的任务列表内的任务可进入任务管理界面,点击完成任务可以结束此任务。表示此任务已完成。
3. User Story跟踪者:一般就是项目负责人,也可以是由项目助理担任作为执行人。如果是客户直接参与研发,也可以是客户本身。可在"我的资料"界面跟踪迭代执行情况。可及时和项目组沟通。可配合督促项目相关人员添加、更新XPlanner上各角色负责的内容,做到每日下班前打开XPlanner监控项目进行情况。
4. 客户:可以是本公司市场部门相关人员,如果是客户直接参与研发,也可以是客户本身。可在"我的资料"界面跟踪迭代执行情况。
五、 项目组负责人利用XPlanner对项目进行持续进度跟踪管理过程
1. 在项目一次迭代完成后要求对迭代过程进行总结。主要内容有:
按照《软件项目迭代计划》总结迭代目标、迭代周期、涉及人员任务完成情况。
总结迭代目标达成情况,按照即定评定标准得出符合迭代目标程度。
总结本次迭代调整情况,找出调整原因。逐步减少调整。
在统计表上得出本次迭代趋势。
召开《迭代会议》作出简要的《软件项目迭代总结》(可以和下次迭代会议合并召开)
如果是项目软件、系统交付迭代,还需其他相关人员参加《迭代会议》,以说明刚完成的迭代输出的详细情况。
本项目全部迭代完成后向质控部门提交项目完成报告。内含此项目的质量目标总结统计。目前项目完成状态,客户投诉解决状态。
项目负责人负责各次《软件项目迭代计划》、《软件项目迭代总结》质量记录的保存。并定期提交归档。
2. 主要统计分析界面说明:
时间表:总体时间表可以通过设定时间区段、包含人员条件统计:实际工时按项目(按项目种类在此时间区段的实际工时分类比例);实际工时按迭代(按迭代种类在此时间区段的实际工时分类比例);实际工时按用户需求User Story(按User Story种类在此时间区段的实际工时分类比例);个人时间表可以通过设定时间区段统计本人:时间区段内每日实际工时;实际工时按项目(按项目种类在此时间区段的实际工时分类比例);实际工时按迭代(按迭代种类在此时间区段的实际工时分类比例);实际工时按用户需求User Story(按User Story种类在此时间区段的实际工时分类比例);
User Story主界面:列出该迭代下所有的User Story,所有User Story的合计评估工时(当前评估),实际完成,剩余工时合计。列表中显示所有的User Story的分类合计,可以点击列表头排序相应列(其他列表同此)。Progress条棒显示完成比例。
度量界面:在某迭代时间区段内人员的工时情况统计。上表显示时间区段内人员的实际工时排列(按降序)。下表(开发人员平均有效工时)显示在某迭代时间区段内评估工时(当前评估)按人员排列(按降序)。如果在"编辑任务时间"界面填写时间时填入结对开发人员,则条棒区分显示。
精确度界面:表头列出:当前评估工时(括号内为原始评估工时:创建任务时首次填入),实际完成工时,剩余工时(当前评估工时-实际完成工时)。列表依次为:User Story名称;优先级;此任务完成工时;当前评估工时;原始评估工时;符合度(此任务完成工时-原始评估工时)/ 原始评估工时*100%;原始评估工时与当前评估工时比例;此任务完成工时与原始评估工时比例;此任务完成工时与当前评估工时比例;
统计界面:人员利用率表(缺省不使用)。迭代进度表:横轴为迭代时间区段,纵轴为工时量(长度自适应);红线为当前评估工时,蓝线为实际完成工时。Burn Down Chart剩余工时表:横轴为迭代时间区段,纵轴为工时量(长度自适应);红线为本节点剩余工时合计。此二表由后台时间触发引擎Quartz自动按照设定 Quartz Configuration项触发执行填入数据。