日期:2014-05-18  浏览次数:20668 次

向失败学习,谈谈我们做的一个失败的项目及带来的收获,欢迎交流
有句话,失败是最好的老师,的确,失败的学费有时是昂贵的,但带给我们体验也是刻骨铭心的,我们能做的就是尽量避免在同一个地方跌倒两次。个人的一个方式就是通过总结,反思,分析原因, 找出症结.,弄不清症结所在,当相同的境况出现时,可能还会重蹈覆辙 ,

下面描述自己曾经所做的一个失败的项目
  1.项目类型: j2ee
  2.团队: 单枪匹马
  3.用时: 4个月
  4.个人经验度: 第一次从事j2ee开发,  

  项目运作情况: 项目做好后,给老板演示,发现一个核心的业务逻辑理解偏差,如要修正,代价是新系统几乎要全部推导,该系统就这样将就用了一年,中间用户又提出了很多的问题,建议,最后随着其它系统的建立,由于系统之间的交互,问题系统像一个瘤子,到了必须铲除的地步,不得已,又花了近3个月的时间重新建设,后来想想,那个项目的确存在很多的问题:
  1.虽然平时也老听说编成不单单是写代码,可潜意识中还是把代码作为一个太重的分量来对待,草草做需求,草草做设计; 导致需求没做好,带给自己的直接是对系统的一个切身的体会(不再是口头上的啦),系统不光是写代码,需求,人性化等都很重要喔
  2.为什么我做的那个项目到最后才被发现有问题呢,除了老板自身原因外(老板硬件出身,软件方面全权交给了俺),和我的经验不是很多,和老板沟通不够都有关系,但最重要的是要建立一套可行的软件开发管理机制。
  3.为什么出现了问题,要修正起来几几乎要推到整个系统,归根究底还是设计的不好,扩展行不够,没有很好的领悟面向对象思想。 鼠标坏了,我们无需更换键盘,硬件如此,原件也是如此,那就是要面向接口设计
  4.。。。

  当然以上有些东西要想做好光认识到还是不够的,需要技能的提升,经验的积累

  朋友们,很想听听你们曾经做过的不是很满意的一个项目,你认为是什么原因造成的呢,欢迎提供,交流,一同学习,毕竟,共性的东西才是真正值得我们注意的






------解决方案--------------------
up
------解决方案--------------------
引用楼主 myJavaRoad 的帖子:
1.虽然平时也老听说编成不单单是写代码,可潜意识中还是把代码作为一个太重的分量来对待,草草做需求,草草做设计; 导致需求没做好,带给自己的直接是对系统的一个切身的体会(不再是口头上的啦),系统不光是写代码,需求,人性化等都很重要喔
2.为什么我做的那个项目到最后才被发现有问题呢,除了老板自身原因外(老板硬件出身,软件方面全权交给了俺),和我的经验不是很多,和老板沟通不够都有关系,但最重要的是要建立一套可行的软件开发管理机制。
3.为什么出现了问题,要修正起来几几乎要推到整个系统,归根究底还是设计的不好,扩展行不够,没有很好的领悟面向对象思想。 鼠标坏了,我们无需更换键盘,硬件如此,原件也是如此,那就是要面向接口设

------解决方案--------------------
无论项目如何,你都是最大的赢家。我感觉这不是个失败的项目,而应该是个非常非常成功的项目!
------解决方案--------------------
探讨
无论项目如何,你都是最大的赢家。我感觉这不是个失败的项目,而应该是个非常非常成功的项目!

------解决方案--------------------
当然以上有些东西要想做好光认识到还是不够的,需要技能的提升,经验的积累 。这句话 我顶

觉得项目不成功的一个原因是:缺乏经验或者说是缺乏一个有经验的人的指导。

做过项目与没有做过相比,其实距离很远。人家做过了,里面的一些要注意的细节(可能最终导致严重bug),就会一清二楚。对于没有做过的人,或许他的编程能力、设计能力并不差,但是没做过就是没做过,有些问题是你必须经历了失败的痛苦之后才会明白的。
------解决方案--------------------
那确实,失败是成功老妈,加油
------解决方案--------------------
up,所以需求是相当相当重要的!谢谢分享!
------解决方案--------------------
楼主犯了三大错误 第一:需求不明确,这会给后面的开发带来很多麻烦,不仅给自己对客户来说也是很麻烦的,项目开始之前都要有一套完整的需求文档。
第二:沟通不好,这点是很重要的,沟通不好,需求从何而来!
第三:没有利用接口, 利用接口,降低耦合性,不至于到最后要不系统全部推倒重做!

这是我的一些观点,希望会对楼主有所帮助~~~~
------解决方案--------------------
缺乏和客户沟通,做项目之前最好是和了解客户需要什么。这样我们才能满足客户的需求,

程序员需要的是共同合作的精神和沟通能力,光编程是不行的,要不,我们编了个三五年下来都只是和计算机说话,人话都不会说了

呵呵,加油啊,IT 行业的同伴们 !
------解决方案--------------------
只有做过了、失败过了 才知道怎么做是正确的 楼主加油~~
我项目做了三年多 从里面也学了很多 从设计到实施 软件不只是程序 还有许多文档以及相关的业务背景
如果要把一个项目做好 真的是很锻炼人的!
------解决方案--------------------
我已经给别人开发过几个小项目啦,每次感觉提交第一个版本的时间不会超过十天,但是,到后来的更改可能要持续上2个月+。因为也是单枪匹马独立开发,技术上存在很多问题,导致功能上很多的缺陷。现在 是感觉很想回公司去工作啊,一个人,压力太大啦。
------解决方案--------------------
诶,感觉工程文档很重要啊,文档做好了用什么语言开发是较次要了

------解决方案--------------------
"但最重要的是要建立一套可行的软件开发管理机制。 "
楼主总结的不错,收下了
推荐一本书:java设计模式
------解决方案--------------------
最近看到楼主不少关于java的帖,呵呵,此贴俺也来说两句
对于软件工程的流程,我觉得有些时候我们没办法去按常理走下去,比我我所在的环境,基本就我一个负责开发的,周边参与项目的同事都不懂软件,为此我在实际的沟通和操控大局时也出了n多问题,比如文档进度不统一、沟通语言易被误解,为此我也曾想过开个小会,仔细分一下工,完整的走完需求分析、概要设计、详细设计、编码测试等等流程,但基本不可能。公司的规模和客户的性质基本决定了我没法把时间花在文档上,和需求的完全确定上。甚至出现了东西都做好了,客户都没看到一眼这种情况。有些时候真的很无奈,要对一个需求相当模糊的东西进行设计编码,而且作为开发人员还要分心去和所有同事沟通,还要考虑样式的设计与图片的制作(这个问题是因为美工经验差,图片做的不佳,而且完全不会html)。结果呢??呵呵,我为了能团结大家共同完成目标而成了老好人,成了大家的垃圾桶、、、所有的抱怨和质疑基本都是直接劈头盖脸的直接来,而实际产品还好客户没要求大的改动。实