2014项目总结:一个比较成功的项目总结

最近将会对今年所做的一些项目进行总结,里面基本都包含了一个项目所有的过程。一来为自己今年的年终总结提供些材料,其次也是希望在总结过程中能给自己带来些更多的启发和经验教训,同时也非常期望各位大牛能给些建议以及批评,让我获得更多的进步。谢谢。

这篇文章总结的是我今年开始的的第二个项目:某研究所某国某XX系统(严格保密项目)。这个项目开始的时候,客户方没有提任何具体需求,只说了一句,秘密级项目,不能说,能说的只是这是个c++项目,并带批人进试验场再说。上篇文章我也提到过,虽然我们公司号称有1000个程序员,但是950个都是做java的。于是我们领导十分智慧的找了几个小公司,从其他公司借了7个C++程序员。然后我就入场了。

进入试验场后,签了一系列的各种保密协议、去派出所办了无犯罪证明,并且证明绝无成分问题后,开始与客户沟通需求,同时我得迅速的熟悉我的新”同事“。新”同事“来源与两个不同的公司,姑且称为L公司、X公司吧。L公司有3个人,其中L1(女)两年C++开发经验,L2(男)一年开发经验,L3(男)刚毕业,X公司4人,其中X1(男,46岁),X2(男)一年开发经验,X3,X4都是一年开发经验,还有我,共8人。客户方:L主任,项目负责人之一;W主任,项目负责人之一;M主任,项目负责人之一;Z总工,项目总体设计;Z高工,项目直接负责人,项目组长,99年南大博士;C高工,项目第二负责人,博士;客户方还有几个就不提了,基本全是博士。

我们需要同时开展两个项目:项目一是某设备监控系统;项目二是某绘图项目,从一开始我了解到我们方人员基本情况下,自然是按照各自公司为基础,然后我将X1(46岁那人)分配到L公司,他们负责某设备监控项目,而我和X公司剩下三人参与绘图项目,同时我负责两个项目所有基础框架搭建和客户沟通以及需求了解。

罗嗦了这么多,以上是这个项目的背景,下面开始表述项目的开发过程。

因为这两个项目都是比较保密项目,所以客户方基本没有办法完全表达出他们真实的想法,甚至连一条报文里面的哪个字节代表什么意思都不能详述,这个极大的加大了我们的理解难度,同时对方基本都是博士,可能或多或少的将我们的理解能力提高到他们的高度,所以在前期磨合过程中还是遇到不少的麻烦。同时我不熟悉我们的开发人员的能力和水平,自然而然的想当然的认为X1肯定代表着我们的最高水平,后来才发现让他负责一个项目简直是我做过最愚蠢的一个决定。现在吐槽下X1吧。当我们领导将X1放置给我的时候,他说,X1是91年上海交大数学系的高材生,然后去新加坡留学读研和读博,水平相当高。我听到后非常高兴,我觉得我又多了一个老师,可以多学习东西。结果有句话叫做书读多了的时候,有可能人也读傻了,X1的沟通能力基本为0,或者说情商几乎为0,并且代码写的也很一般,优点是他的理论知识相当扎实,参加X公司的C++笔试,考了满分。

因为项目需求的不明确,所以我加强了两个方面的准备工作。第一:底层框架写的尽可能简单并且容易扩展,同时必须符合多人同步开发,也就是说要做到业务分离。第二:尽可能多的和客户沟通,并且找对需要沟通的人。

1)写底层框架的开发过程

因为需求不明确,同时对开发人员开发能力不确定,写这个底层框架还是花费了我不少功夫的。我们都知道,一个系统无论怎么复杂,数据流通都是这个系统的核心。同时因为数据的多样性,所以数据的处理也尽可能多的分模块开发。为此,我和客户中的项目组长Z高工花了不少时间在讨论这个数据处理问题。最终我将数据模块彻底分成几个独立模块,所有显示模块向数据模块进行数据注册,然后数据管理模块主动推送数据进入显示模块。另外做了一个数据存储模块,可以按照配置文件信息存储大量已有的数据,又做了一个数据解析模块。数据解析模块的意义就是我们无法得知报文的具体含义,但是他们知道,所以数据解析模块的目的就是通过自定义的xml文件,解析出报文中某位置的某数值,同时也支持几个数据之间的特殊规则运算。

通过上面的数据相关模块,至少我们的开发人员不在需要关注数据的来源和走向,只要在项目工程中包含这个4个dll文件就行,需要用到数据的时候,在各自的接口中注册下就行,简化了他们的逻辑,也简化了程序的复杂性。即使发生需求变更,也不需要查更多的代码。

另外我也给我们的开发人员封装了一些基本的控件和显示样式,比如图表类,对话框等等。

虽然上面描述的东西java可能到处都是,但是c++方面还是稍微有些少,尤其在我们所面对的项目情况,用途还是很大的。这样能使开发人员更多的关注自己的业务逻辑,而脱离了其他方面的干扰。

PS:现在这个数据处理的几个模块已经成为客户新软件的标配了,据说他们主任已经将这几个dll申报成他们所的三化产品,并且写了Z高工今年的论文内容就是这套逻辑。哎年底至少5W+的贡献奖金。跟我半毛钱关系都没有。

2)与客户沟通的过程

前面也说了,客户方领导多,博士多,沟通起来还是有些困难的,如果都和我一样都是屌丝,那可能还会好些。不过有句说的好,千万不招惹白痴,否则他们会将你的智商拉倒他们的高度,然后用丰富的经验战胜你。我只是个小本科,而且还是三流的,在这个项目中,我无法提高我的认识到他们的高度,只好想尽办法降低他们的高度。在和客户沟通过程中,最有效的方式就是认同客户。他们即使不了解项目本身,但是他们却是最了解自己的。于是我想尽各种方法客户多沟通,比如看到客户带羽毛球拍,于是厚着脸皮和他们一起打羽毛球,看到他们在吹牛,厚着脸皮加入吹嘘等等。举两个例子,一次C博士下班回去,我之前还从没有和他说过话(刚去),不小心听到了他说今晚是广州恒大和天津的比赛。然后我晚上回去后还是认真的看了这场比赛,第二天一早,我看到他就和他聊起这场球,结果两人还是有些共通语言,比如都支持恒大等。以至于后来每次有中超,都会一起分析下预测以及心得。后来在这个项目中,他真是帮了不少忙。另外个例子,D博士(南理工的)。他和我们的项目一点关系都没有,有一次我出去打水,经过他的办公室后,看到他在看一本hadoop的入门书。我很惊讶他尽然会看这本书,于是就问他,并且随便说说我参与过的一个hadoop项目。于是慢慢两人就比较熟悉起来。后来他也是在他们主任面前给我们说了不少比较好的话,比如工作认真态度端正等等。作为一个外人,发表一些看法对于领导来说还是有些参考性的。前天D博士打电话给我说他们几个朋友做了个产品,估计能申报成国家项目,他尽然把我的名字给加到他们的课程组了。如果申报顺利的话,估计我还什么都不知情的情况下,能分点RMD吧。激动

PS:和客户沟通顺畅是一个项目是否成功决定性要素。同时在和客户沟通过程中,不能忽略其他非相关的人,虽然他们可能帮不上忙,但是不捣乱也行,是吧。

这个项目估计至少还持续到明年,郁闷的是我已经被撤出来了。现在这个项目进展还是很顺利的,我在和他们的组长沟通中,他们对于这个底层框架还是非常满意,也提高了他们自己的开发效率。和我们公司新的项目负责人联系时,他的工作也还是很顺利的。这点还是蛮开心的。

这个项目现在看起来还是很顺利和成功的,但是我下面会说一个比较失败的项目,希望大家能关注下。更希望的是大家能提出意见,指出不足,让我在今后的工作中有所提高。谢谢。

PS:我一直很迷惑我的定位,程序员?好像不完全是,在一个项目中我参与还是很多的。项目经理?好像更不是,我还在一直不停的写代码。

时间: 2024-11-02 23:42:46

2014项目总结:一个比较成功的项目总结的相关文章

如何参与一个GitHub开源项目

最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能说你开源了自己的项目,可以任别人自由下载. 那么该如何参与Github的开源项目呢?相信很多人都有这方面的疑问,网上也有一些参差不齐的教程教大家如何"Pull Request"

如何参与一个GitHub开源项目?

如何参与一个GitHub开源项目? 摘要:本文是Github官如何参与一个GitHub开源项目方给出的参与Github上开源项目的一些指导,对希望加入开源社区的开发者是一个不错的参考. 最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能

关于一个解决方案中两个项目,一个项目调用另一个项目的文件

在看一个比较大的项目时, 一个解决方案中有多个项目,比如一个是写好的项目,一个是测试项目,那么怎么从测试项目调用另一个项目的文件呢? 具体解决方案如下: 打开测试项目的属性页:附加包含目录 然后填入你上一个项目源文件所在路径(如果项目须移动时前面加上..\) 接下来就可以调用上一个项目的文件了

如何做好一个好的项目负责人

对于项目负责人本身没有太多的经验,只是在2014年以项目负责人的角色完整的带着5个人做完一个一个项目.并且,在这个项目期间还开始了另外一个项目,总结的有些乱,想到哪说到哪,不过都是自己的真实体会. 1 项目开始阶段: 首先对项目的基本需求有一个大概的认识.但是,最终达到什么效果,这需要项目组成员共同讨论决定.在进行讨论的时候会产生很多想法,但是一开始的时候,大家也可能没有想法.最为项目负责人,需要对项目需求有个总体的把握,充分发动每个人的长处.毕竟不是个人都对项目开始的设计有兴趣,项目负责人需要

又来一个打假项目:国家自然科学一等奖项目被曝涉嫌抄袭

@华商报:[国家自然科学一等奖项目被曝涉嫌抄袭]网名为KraneSun的lT工程师2日在开源代码软件平台Github发帖称中国工程院院士.中南大学校长张尧学及其科研团队的项目--2014年度国家自然科学一等奖"网络计算的模式及基础理论研究项目"实为"远程桌面项目",且涉嫌抄袭国外lT工程师上传的开源代码软件. "国家自然科学奖"的奖金是多少? 500万而且是免税的 其中400万用于获奖者正在搞的项目,100万奖励给个人. 在中国要独立研发成功项目

12个部分,呈现一个完成的项目管理过程

识别最根本的问题或目标需求,是整个项目管理工作第一个需要完成的步骤; 你不可能懂得一切!大小项目,应该是项目团队所有成员努力的结果; 任务分工看似"小事情",实际上却有"大门道"; 凡事预则立,不预则废.无论做什么项目,按照计划进行总比没有计划效率更高; 项目工作的效率取决于精确的业务设计和畅通的操作流程.简化了流程,就等于提高了效率; 项目管理的难题并不是员工不懂规矩,而是你不懂如何定规矩,或者如何把规矩立起来; 当你用心指导成员的时候,他们的工作效率就会有所提升

spring security+mybatis+springMVC构建一个简单的项目

1.引用 spring security ,这是一种基于spring AOP和Servlet的过滤安全框架.它提供全面的安全性解决方案,同时在web请求级和方法的调用级处理身份确认和授权.在spring framework基础上,spring security充分利用了依赖注入(DI,Dependency Injection)和AOP技术. 下面就让我们用一个小的晓得项目来出初步了解Spring Security 的强大功能吧. 2.项目实战    1)项目的技术架构:maven+spring

着手一个手游项目的思考

虽然个人阅历有限,但也对端游,页游,手游都有涉及. 目前正值筹备新项目的时候,又面临着技术选型等方面的问题.记录在此,以整理思绪 技术选型 1.前后端的技术选择 前端我觉得要按以下方向来  平台-〉3Dor2D->游戏类型 不同的引擎总是有自己擅长的一面,而强扭的瓜总不可能太甜. 所以,我一向认为,适合的引擎能够更容易做事情. 同时,我也不建议自己撸引擎. 要撸,就自己撸着玩,不要把自己的坑,带到项目中来. 端游,页游就不讨论了,目前很少有公司新开这类型的项目. 我们来说说手游. 对于手游的选择

soapui中文操作手册(一)----创建一个新的项目

1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SOAP项目对话框中输入项目名称,然后单击确定 这将创建在导航器一个新的项目. 恭喜你,你刚刚创建了你的第一个项目SoapUI.让我们添加一个WSDL. 2) 添加一个WSDL 在SoapUI项目中,SOAP大多是基于一个WSDL.虽然不是必须通过导入WSDL,但它使测试更容易,因为WSDL包含您需要了