项目 "差不多成功? 简直就是失败".
我觉得有必要说说我正在做的项目, 是一个基于Flex开发的在线图片编辑程序.
刚开发了一个月左右, 项目做过了一次重构, 重构的原因是其中一个功能难以在现有代码上完成, 改用PureMVC框架. 改用PureMVC后的那几天, 组员们努力地往项目里添加代码, 结果在短短的两周内, 项目的代码量已经可以与物价飞涨同步了. 代码量涨了, 但是程序的功能不见涨, 这是PureMVC特性. 而我, 就是在这堆代码中修改,添加功能. 从这开始, 我几乎每天都在痛苦郁闷中度过.
我曾多次建议性地提出再次重构, 但没被接纳, 为了顾及团队合作, 我继续痛苦郁闷地编写代码. 我们每天都会开晨会, 每次报告项目进度的时候, 大家都说"差不多完成了". 但这个差不多, 太抽象了, 以至于每次看项目Demo的时候, 都以"差不多" 结束. 就这样, "差不多"已经差不多持续了3,4个月的时间. 现在呢, 也差不多了.
项目为什么会变成这样? 一个计划在两个月可以完成的任务, 结果花了6个月还处于一个差不多完成的状态.
是项目计划时间太短? 不是.
项目难度太大? 也不是, 很多小公司都做出了类似功能的程序了.
我觉得有几点原因:
1. 项目功能模块没有划分清楚.
大家都是第一次在实际项目中开发Flex, 没有决定好如何去划分模块, 结果大家很多时候都把自己的代码往同一个项目里放.
2. 重构不撤底, 而且使用了PureMVC.
项目重构之后, 大家还是把之前的代码找出来复制粘贴. PureMVC 给我的感觉就名字pure, 但实际开发一点不pure, 冗余代码很多, 程序结构复杂性增加.
3. 项目进度没抓紧, 项目时间计划不具体.
项目计划是在两个月内完成, 至于第一周该完成哪些功能, 第二该完成什么功能, 没有规划好. 大家都觉得两个应该是可以完成的, 所以刚开始的时候大家都比较休闲松懈, 到了后面, 遇到各种各样的问题, 问题越来越多, 越来越难解决, 导致项目处于无进度状态.
直到现在, 我觉得项目重构是必须的. 重构其实花不了多长时间, 而且对于以后程序的扩展, 维护都大有好处.