|
从零开始与网站开发亲密接触
去年我接手第一个网站项目开发时,并没有做网站的经验,只能试着按照以前我参与做Microsoft Office时的方法来做:
首先是打造一个便于公司内部沟通交流的内部网,其中包含“传统软件”研发需要的三个工具:文档库(存放公司各项目的文档)、CVS(保存项目的各种源代码)、BugFree(记录项目的各种缺陷)。
然后,抓住“需求、开发、测试”三个环节:
1 要做好规划、明确需求。为什么要做这个网站、要达到什么目标?特别是需求,要详细到每个页面的每个区域放置什么内容。网站需求应该由对业务最熟悉的人来定义,他负责按照我要求的规范(详细程度)来写出每一部分需求文档,并放入文档库中。每完成一个页面定义,我就召集开发、测试人员来阅读、讨论,这样全部需求写完的时候,项目组成员对整个网站就有了一个清晰的认识。
2 需求明确才进入开发阶段。首先是定义数据库——有多少张表、每张表中有多少个字段。我和开发组长反复讨论,搞清楚这些表定义能否涵盖全部需求,这是最关键的一步,决定着下面编码能否顺利进行。数据库定义后,就是网站后台管理的编码实现,也就是对一张张表进行管理(增、删、改)。当后台管理完成时,项目的大部分就大功告成了。用户看到的前台页面仅仅是内容展示——把一张张表中的数据取出来按照最初的需求放置到页面的各个位置。所有的代码都用CVS管理起来。
3 网站测试和开发同步进行。后台管理每完成若干张表的管理,测试人员立即开始测试。这就像流水线,开发完一部分,立刻测试;同样的,网站前台展示开发时也一样需要测试人员跟进。发现的每一个Bug都用BugFree记录下来跟踪处理过程。
4 数据统计跟上。网站后台各个表的任何改动要准确记录,决不允许出现不知道谁修改了数据库内容的情况。其次,网友访问网站的日志要做好统计,每天结束的时候就能准确的看到当天的用户访问数据。这些数据对网站运营极其重要。
四个月后,我的第一个网站项目顺利上线。所有参与该项目的同事感觉都很新鲜,因为以前他们在做网站时,基本上是一个人“包干”一个频道,简单构思一下就开始写程序、边写边想、相互独立。后来,我跟一位曾在某门户网站工作过的高级工程师朋友介绍了上面的做法,他非常认同和赞赏,得到他的认可我也很兴奋。
随后接触到的很多网站技术人员,让我发觉作坊式做法同样存在于互联网公司,网站在重复多年前传统软件的老路:一个“大虾”很厉害,搞定一个频道或一个网站的方方面面,离开他谁都玩不转;代码中处处留着他的灵感,人走了,网站维护就成了大难题:没有文档、没有统一的编码规范、没有测试记录。
其实无论传统软件、网站、还是游戏等等软件产品/项目,都是程序员用一行行代码敲出来的,只要像微软软件研发那样抓住需求、开发、测试这三个环节,其管理都极其类似。因此当我进入网站项目的时候,信心十足:我能把它管好!