这是艰难的一周。一切都遭遇极大的阻力,新鲜感过去之后,后遗症出现了。有人出现了厌战情绪,有人时间紧张分不开身,混乱,成为了这一周的代名词。我有着不可推卸的责任。
我们首先试着确定项目的范围,或者说产品的范围,然而诸多的分歧让这个过程几乎停滞。我没有安排所有人很好的做调研,也没有安排所有人认真地去试用几个现有的系统,每个人都揣着自己的想法来到一起,这样也就罢了,更可怕的是很多人根本没有想法就来到了这里,于是对其他人的意见所能做的只有反驳。看来为了造成不必要的争执和尽快达到共识,事前一定要做好充足的准备。我曾经一度以为这个阶段我没有太多的事要过问,因为这是属于需求分析的阶段,我所要做的仅仅是组织开开会而已,现在看来这是完全错误的。这个阶段是最需要沟通和组织的阶段。一方面这是项目开始不久的阶段,大家的凝聚力还没有到可以脱离组织约束就能成事的阶段,另一方面这个阶段特别需要沟通,因为需求分析是后面所有活动的基础。我们的测试经理的一句话让我很有感悟:如果需求分析我不参加怎么知道我该测试什么东西呀。的确,这个阶段如果任何一个人对任何一个环节有任何的不清晰,哪怕是一丁点的模糊,累计到后面很可能带来的是整个项目的崩溃。
我安排了两个人去独立的完成use-case,然而不幸的是他们参考了同一个系统,做出了几乎一样的use-case,这让我始料未及,于是两个人的努力变得没有任何意义,我的初衷是对他们俩的use-case做一个并,现在不可能了。在分配任务前一定要交代清楚,不仅仅是做什么和大概怎么做,还有做的意义都要解释得很明白才行,这样会减少很多无用功。在我们尝试确定具体的功能性需求时,分歧接踵而至。我们对太多的事情不能达成一致,我们做的是酒店管理系统,可我们中的一部分人根本没有住过酒店,另一些人住得较多所以意见和反响很大,我们难以达成一致。更重要的是下周还有考试,这大概是学生项目最头疼的问题,兼顾学业。我们的进度一拖再拖,幸好一次停课的机会让我们重新坐到了一起。是进度表拯救了我,拯救了我们。我展示了进度表,上面清晰地反映出我们已经落后预定进度三天了,要知道项目仅仅开始半个多月。大家有了清醒的认识,不再苛刻追求功能的完美实现,我们砍掉了大部分的次要功能,将他们作为增量的形式发布,尽管谁都清楚这个增量版本等于是天方夜谭罢了。在不至于牺牲太多质量的前提下,我们达成了一致,功能少了很多,然而我们取得了空前的统一,对功能的需求相当清晰了,甚至一些初步实现方案也有了端倪。一切似乎又步入了正轨。对于学生项目,能够完成才是最重要的,重要的是体会这个开发的过程,产品功能是否强大已经显得不重要了。每个人完成任务的能力我也有所了解,这为我以后任务的分配提供了依据。每个人的能力也能从开始的几个任务中得到体现,事实上,这种体现暴露得越早越好。
然而又一个失败让我沮丧,我没有过多斟酌就布置了估算的任务,我安排大家各自分工根据COCOMO和FA(功能点)对活动分解进行估算,然而后来当一个人已经完成提交的时候向我倾诉,FA根本不适合对于某一特定的活动进行估算,它只适合于整个系统。相似地,COCOMO也不很适合于此。我所建议的两个模型竟都不合适做这方面的事情,我只是想当然的以为这是两个万能模型。然而事情必须做,项目计划文档中还等着每个活动的工作量估算去完成,于是硬着头皮只能根据COCOMO大概给出一个PM值了,然后调整一下“杜撰”出一个最终的工作量来。大家做了很多工作,然而却不知晓使用了错误的模型,又是徒劳的努力,这是我个人彻底的失败。在选择模型时,千万不能草草了事,一定要参阅相关书籍,善于使用经典模型是好的,但一定要弄清楚这个模型在这种情况下适不适用。我做了补救,安排三个人对整个系统做一个基于FA的估算,这是比较正式的估算,因为我们已经有了足够的需求分析,这个结果也将是有意义的。然而一些人对估算不以为然,他们认为这是荒唐的事,一方面我们缺乏经验,另一方面未知的事太多,估算显得似乎没有意义。我明白估算出的绝对值是没有多大意义的,至少对学生项目是。然而相对值是有意义的,至少可以知道在哪些方面我们需要更多的人力来完成,哪些事情可以很快解决,这种对比是必要的,对把握进度是极为重要的。
关于评审,我们初步确定的是对一些关键的大型文档(主要是里程碑性的),做DR(正式设计评审),而对于次要文档至少要做一次inspection(审查)。他们的差别是DR需要大量的支持文档和较长时间的讨论,而inspecion可以相对随便。同时,DR不属于同行评审,也就是说这是上级对下级的审查,而inspecion是同行评审,是同事间的沟通和讨论。当然,我们的DR不大可能邀请到上级,也就是我们的导师。我初步想邀请助教参加我们的DR一到两次,这样一方面我们的DR可以比较正式,另一方面可以争取到更多的映像分,要知道这是学生项目中必须面对的现实。当然,每个组员必须一致同意才可以,否则凝聚力会大大下降。一切都只是策划,对于评审我们实在没有任何经验,书本是唯一的知识来源。
考完试之后,需求分析就要随之结束了,正式的设计即将展开,好戏渐渐上演,后面会发生什么,我很期待,也多了一丝担忧。我能做的,就是准备好充足的文档和模版,组织好会议,做好沟通,分布好任务,剩下的,需要每个人的努力。