10.2. 项目日志

目前介绍软件工程和项目管理的书是越来越多了。遍历各家之说,体会最深的是两个字:“沟通”。没有沟通,开发人员单枪匹马,重复着“前辈们”走过的路,缓慢的成长着。没有沟通,测试和开发团队就在没完没了的争吵中迎接项目的延期。没有沟通,部门之间的鸿沟足可以吓退客户。没有沟通,公司的决策人还在期盼着项目的成功的那一天,而不知道危险已经临近。沟通是这么样的重要,而项目经理就是这些沟通途径的交汇点。

每个公司都会对项目经理有着这样或者那样的沟通上的要求,比如常见的周计划、月计划。它们是是项目经理分解任务以及向直接上级汇报工作的重要工具。自从南开大学毕业以来的几年间,我做得最多的职位就是项目经理,已经不记得写了多少计划。很长一段时间,一旦写完计划,发出邮件便了事,计划也就在本地磁盘中不知去向。后来,在做项目总结时,有些里程碑事件实在是想不起来,只是依稀记得在某个项目计划中曾经提到过。于是,从邮件的故纸堆中查找,经常是费了半天劲一无所获。从此就有了把项目总结和项目日志积累起来的习惯。最开始的文档管理手段是比较落后的,直接放到文件服务器中,对于项目日志,就是每天在 Word 文档后面追加,直到有一天,一个不留神把项目日志整个覆盖掉了,那是可真是后悔不迭。有什么技术,可以对文档像对代码一样的版本控制呢?我发现了 DocBook,从此便用 DocBook 开始我的新的项目日志。

项目日志的文件格式是以一周为一个章节,每章节分为两个部分,日志部分是每天的“流水账”(记录比较重要的事件),周计划部分,是上周的项目总结和下一个星期的工作计划。如图9-2。用 DocBook 维护你的项目日志,让你的领导对你刮目相看。

项目日志

图9-2. 用DocBook编写项目日志

项目周计划

图9-3. 用DocBook编写项目周计划

以下是DocBook 源代码:

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.2b1//EN"  [
<!ENTITY yourname "<ulink url='mailto:yourname@email.address'>Your Name</ulink>">
]>
<article>
<articleinfo>
  <title>项目日志</title>
  <author><firstname>作者姓名</firstname></author>
  <abstract>
    <para>
    项目日志和项目计划,为项目组同志提供参考。
    </para>
    <para>
    &yourname;, $Revision$, $Date$
    </para>
  </abstract>
</articleinfo>

<sect1 id="w021028"><title>1028--1101</title> 1

<sect2 id="daily021028"><title>日志</title>
<itemizedlist>
  <listitem>	2
    <para>
    2002/10/30, 3
    </para>
    <orderedlist>
      <listitem>
        <para>
        完成任务:******
        </para>
        <para>
        David
        </para>
      </listitem>
      <listitem>
        <para>
        完成任务:******
        </para>
        <para>
        Johnson
        </para>
      </listitem>
    </orderedlist>
  </listitem>
  
  <listitem>
    <para>
    2002/10/29, 2
    </para>
    <orderedlist>
      <listitem>
        <para>
        Seminar: ******
        </para>
        <para>
        yzw
        </para>
      </listitem>
    </orderedlist>
  </listitem>
  
  <listitem>
    <para>
    2002/10/28, 1
    </para>
    <orderedlist>
      <listitem>
        <para>
        讨论需求:******
        </para>
        <para>
        Mahui
        </para>
      </listitem>
    </orderedlist>
  </listitem>
</itemizedlist>
</sect2>

<sect2 id="weekly021028"><title>周报</title> 3

<segmentedlist>
  <segtitle>填表日期</segtitle><segtitle>填表人</segtitle><segtitle>时 间</segtitle><segtitle>主要工作</segtitle>
  <seglistitem>
    <seg>2002/10/28</seg>
    <seg>Johnson</seg>
    <seg>2002/10/28-2002/11/01</seg>
    <seg>******</seg>
  </seglistitem>
</segmentedlist>

<orderedlist>
  <listitem>                              4
    <table frame='all'><title>本周工作计划表</title>
    <tgroup cols='2' align='left' colsep='1' rowsep='1'>
    <colspec colname='c1' colwidth="300pt" >
    <colspec colname='c2' colwidth="80pt" >
    <thead>
    <row>
    <entry>本周工作任务</entry>
    <entry>相关人员</entry>
    </row>
    </thead>
    <tbody>
    
    <row>
    <entry>
    <para>
    工作任务1...
    </para>
    </entry>
    <entry>
    人员1
    </entry>
    </row>
    
    <row>
    <entry>
    <para>
    工作任务1...
    </para>
    </entry>
    <entry>
    人员2
    </entry>
    </row>
    
    <row>
    <entry>
    工作任务3...
    </entry>
    <entry>
    人员3
    </entry>
    </row>
    
    </tbody>
    </tgroup>
    </table>
    <note>
    <title>备注</title>
    <para>
    </para>
    </note>
  </listitem>
  
  <listitem>               5
    <table frame='all'><title>上周项目进展</title>
    <tgroup cols='2' align='left' colsep='1' rowsep='1'>
    <colspec colname='c1' colwidth="300pt" >
    <colspec colname='c2' colwidth="80pt" >
    <thead>
    <row>
    <entry>任务名称</entry>
    <entry>负责人</entry>
    </row>
    </thead>
    <tbody>
    
    <row>
    <entry>
    完成上周任务1...
    </entry>
    <entry>
    人员1
    </entry>
    </row>
    
    <row>
    <entry>
    完成上周任务2...
    </entry>
    <entry>
    人员2
    </entry>
    </row>
    
    <row>
    <entry>
    完成上周任务3...
    </entry>
    <entry>
    人员3
    </entry>
    </row>
    
    </tbody>
    </tgroup>
    </table>
    <note>
    <title>备注</title>
    <para>
    </para>
    </note>
  </listitem>
</orderedlist>

</sect2>
</sect1>

<sect1 id="w021021"><title>1021--1025</title>  6
<sect2 id="daily021021"><title>日志</title>
<para>
...
<para>
</sect2>
<sect2 id="weekly021021"><title>周报</title>
<para>
...
<para>
</sect2>
</sect1>

</article>
1

10月28日到11月1日的一个星期的日志和周计划。每周开始一个新的章节。

2

10月30日(星期三)的项目日志。最新的日期总是在最前。每天的项目日志只需要重复拷贝一下前一天日志的结构即可。

3

周计划开始,包括本周计划和上周项目进展。

4

本周工作计划。

5

上周项目进展。

5

上周项目进展。

6

上一个星期的项目日志和工作计划。