部门内部存在盲目乐观的气氛。对实时数据库下一阶段任务的艰巨性也无很多判断,对新知识的学习等仍是按步就班不紧不慢。将一篇经历过的某失败项目的总结放上,希望大家共勉。
关于XX项目的工作总结报告
XX项目是公司发展过程中的一个非常重要的项目,公司为之投入了相当多的人力物力,目前的结果却不尽如人意。及时总结一下该项目中的经验教训,对公司产品研发的战略决策具有借鉴作用。
参与该项目的所有人员在主观上都有将该项目圆满完成的良好心愿;绝大部分同事也全心全意、尽心尽力,在该项目的实施中发挥了重要的作用。但针对一个尚未全部完成的项目,发现问题、找出不足,改正错误、改进方案、调整决策等才是最重要的目的,因此,本总结中只将XX项目中存在的问题列出,重点是为下一步项目重启和其它项目决策等提供意见。
一、 XX项目的现状
XX项目在200X年X月XX日之后,已经暂时停止下来。不论在感情上愿不愿意接受,该项目是一个失败的项目:
1、 项目的实施时间大大超出先期计划;
2、 经过实际工程检验,证明系统框架在稳定性、性能、速度、内存消耗等方面不能达到实用化要求;
3、 用户所需的XX及XX等功能,在现有的框架结构上不能实现;
4、 开发团队的建设未能完全达到预期的目标;
二、 失败原因的分析
1、 程序的接口未能在前期经过严密的理论推导及严格定义;
为了达到团队并行开发的目标,本项目在方案设计时决定采用XX、XX、XX等三个同时推进的子系统。这三个子系统之间的接口在最初未能严格定义,主要存在如下的问题:
A、 接口实现的冗余度及可选度太大;
B、 接口定义未能完全屏蔽内部实现细节,将太多的内部实现细节及其依赖关系暴露给调用者,未能完全实现接口调用的内部透明化;
C、 接口的约束关系不是足够明确,接口不够建壮,不正确的格式、参数等处理也能处理,但会导出一个不正确的结果;
D、 接口的功能集不建全,在后期由于功能的增加,临时增加了相当多的新接口,而新增的接口只以功能上满足特定需求为目标,未能统一推导及定义。
产生该问题的原因有:
A、 XX项目是一个新的项目,在项目初期许多需求及实现的细节未能明了;
B、 XX项目是一个非常大的项目,许多接口在实现过程中才能发现其遗漏;或为了实现某些优化处理必须改变接口;
C、 在项目实施初期,功能需求未能真正明了,实现细节未能有实际的效果;
从项目实施的过程来看,接口未能严格定义导致了如下问题:
A、 三个程序组在具体实现某具体功能时才决定增加接口,导致系统的并行开发未能完全高效地开展;
B、 出现多次比较剧烈的程序收敛振荡,许多本已解决的问题或不存在的问题在新版本中重复出现。导致开发进度的控制无法有序进行;三个程序组可能会由于同一个错误同时耽搁时间;
C、 对程序的测试工作加长,测试进度及测试重点无法确定;
2、 前期对框架的性能瓶颈没有足够的重视,在设计框架时,未能提前将系统性能及其可能导致的结构调整进行充分论证;
系统的开发过程中,针对老XX中存在的一些问题,希望提供一个能解决现有系统的新框架,主要有如下问题:
A、 老XX的框架不适合并行开发;
B、 老XX的系统扩充不方便;
C、 老XX的系统结构大,程序维护工作比较困难;
D、 老XX没有模板的概念;
E、 老XX无法描述层次型的数据结构;
在设计系统时,提出了元对象的概念,进而提出了服务器元对象树的内部数据定义,各部分接口针对元对象树进行遍历和操作,在理论上提供
一种模仿真实世界的一种模型。但是在该模型的实施过程中,对性能、速度等问题考虑得不多,主要有如下方