原文:今天的某个地方,一个项目正在失败。
是的,现在这个时候,某个地方的一个项目正在失败,也或许就是你正参与的项目,O(∩_∩)O哈哈~
当然这里的“失败”指的是:项目被取消,或者夭折,或者延期,或者开发出来的项目根本就没投入使用。
失败的原因,因它而异。但可以肯定的说,项目失败的原因不仅仅是技术问题。
这个做过开发的人,应该知道,也许自己曾经做的某个项目就是一个“失败”的项目。
而造成这个失败的原因,我想更多的原因不是技术问题导致失败。
两年前参与过一个计划项目的需求整理,跟同事两个人每天跑到客户那边去做需求,
去问客户这个项目具体需要解决什么问题,要实现些什么功能,业务流程怎么走等等。
风风火火,两个人搞了20来天的需求,
最后项目经理说:不用做了,客户不需要这个系统了。
晕倒...
这应该是一个失败的项目,
就如含苞欲放的花朵,突然间莫名枯萎,不可思议,却无能为力。
这个失败可以说根本不是技术的问题,而是人为关系等复杂问题,
而且这些人为关系复杂问题你是很难去解决,很多时候由不得你。
客户是上帝,说不做,你不能硬塞给他是吧。
所以当一个项目失败的时候,请别只问罪技术人员,
更多的是考虑:与客户的关系,客户的需求,项目的管理等等。
原文:我们没有时间来考虑这项工作,只有时间来做这项工作。
朋友们,当你接到一个任务的时候,你是会急急忙忙的展开工作呢,
还是先明确目的,理清思路,做好计划,按步骤再去做呢?
我想聪明的人,肯定是后者,他会花更多的时间来分析明确这项任务的需求,
然后制定明细的计划,最后按照计划,一步一步的完成。
而不是需求功能都没理清楚就“大展身手”,
如果是这样,
那恭喜你:你离死亡不远了,软件开发更是如此。
记得去年的一段时间,开发公司的一个ehr产品,
在粗略的需求文档,没有详细设计文档,没有产品规格书,我们开发人员大概了解了一些项目需要功能的情况下,
就下达任务让我们去设计,去开发,而且天天把任务单打印出来贴到办公室墙上,
以便时时提醒你:得抓紧时间,赶紧做出来。
那段时间有点被逼疯的感觉,哈哈,
写代码,本来就是一件用脑的事情,需要的是一个安静而偶然有点欢声笑语环境下进行。
可在这种紧迫的压力下,
大家根本就没多少时间去想,要怎么设计,怎么做,
怎么跟其他模块更好的衔接等等各个方面的问题,
于是一味的“埋头苦干”,着死的编码,抱着“实现功能,完成任务先”的态度,
周末朋友喊出去玩,“不行,得去加班”哈哈...
最后测试结果呢?
做的很多不符合要求(一开始就没有一个要求标准),好几个模块做了3,4个月又推倒重来。
所以有又花了两个月的时间改,改的多的不是bug,而且需求。
因为一开始,就没一个需求,没一个标准,
而最终不符合标准的责任也落编码人员身上,可悲...
像这样一个项目就是个失败的项目,但失败的不是技术。
从时间上来说没按期完成外,
更多的是开发过程的一个失败,开发时团队成员间的那种协作气氛,
项目的整体设计,规划和管理问题。
前事不忘后事之师,
以后不管做什么事情,还是做开发,
请一定多花时间想理清思路,
别舍不得这思考的时间,
否则只能事倍功半,吃力不讨好,甚至走向死亡...