扫码阅读
手机扫码阅读

软件项目中几大幻觉

186 2023-07-20

幻觉一:需求分析完成了

产品辛辛苦苦花了很长时间对用户需求进行分析,画了原型图、出了PRD文档,长出一口气,总算做完了。把文档装订好扔给开发他们就能开发出客户想要的软件,接下来可以休息一阵子了。

然而,开发团队看到后的感觉就是:WTF!这里不对,那里有矛盾,这看不懂在说什么,不跟我说清楚没法做。也有些开发团队善于脑补,觉得自己看懂了需求文档并按照自己对需求的理解开发完了然后交付给产品。这时又轮到产品:WTF!这是我写的需求吗?

幻觉二:开发完成了

随着最后一行代码键入并自己“测试过”,开发就像庖丁一样,踌躇满志,为之四顾,很骄傲自己又完成了一个看起来很不容易做的需求。然后在看板之类的项目管理软件上,将Job设置为Done。

然而打脸很快到来,测试跑过来说这里不对啊,你看这样这样再这样就会出现Bug,质疑你到底有没有测试过?好不容易通过测试了,产品又说这里要改一改,这里和设计不一样。得反复折腾几次可能才算完。

幻觉三:多来点人,我们就能快速交付

尽管《人月神话》几乎成了本行业必读的一本书,大部分就算没有读过也了解里面一些经典论述。比如10个女人不可能一个月就生下一个孩子。但当面对紧急的项目日程,脱口而出的还是:我们能加几个人吗?

当然,一定程度上加人会加快项目进度。比如项目初期就加人;这些人一直在一起工作,相互都很熟悉,拥有类似的经验和实践;即使如此,当一个团队的人数突破一定程度(比如10个人)。团队的效率也不会再提高了。道理说起来大家都懂,可到了实际中还是忍不住。

幻觉四:给我多一点时间我就能写好代码

你说我写的代码是屎?我们的项目是屎山?我承认。但原因不在于我,而是我们领导逼我们太紧,我们没有时间把代码写好,我们不得不加快速度以满足业务部门需求。如果业务部门不逼我们这么紧,我们是能够把代码写好的。

拜托,你代码写不好是因为你不会写好,你不具备把代码写好的技能,别把锅甩领导头上,也别甩业务头上。他们可没让你写烂代码。他们只是Push你想要更多功能,他们这么做很大程度上是因为你给的Schedule经常不靠谱,让他们觉得你在晃点他们。所以不得不逼迫你们更快。

幻觉五:我们架构设计好一点,就能快速高质量交付。

我们总幻想存在一个无所不能的超人架构师,他不用写代码,只要做一个High Level的Design。然后细节让一些初级工程师填入代码,系统就能跑起来,并且质量很高。现实是,所谓High Level的设计很快被程序员嗤之以鼻并抛弃,最后还是开发说了算。架构师设计的时候套路上头头是道,先白鹤亮翅再黑虎掏心,一到真实环境立即就变王八拳

幻觉六:我已经快完成了

你进度多少了:嗯,80%了吧。OK,也就是说你再花1/5的时间就能交付咯?事实是什么呢?剩下所谓20%,可能又花了一倍的时间也没能完成。即使程序员说完成了,也仅仅是编码完成,测试还有Bug,不能交付。

对于这样的团队,引入Scrum后首先解决的就是打破幻觉。Scrum 相当于黑客帝国给尼奥吃的药丸,你吃下去,告诉你真相。Scrum不能让你马上体验到生活的乐趣,但可以先让你看清楚事实是什么。之后才能逐渐提升团队能力。认识到问题是解决问题的第一步。所以第一步:停止幻想,面对现实。

原文链接: http://mp.weixin.qq.com/s?__biz=MzUzMzkxMjE3NQ==&mid=2247483765&idx=1&sn=df033539a10c6c94987139e4a0762a55&chksm=fa9d8e75cdea0763c621f2578801865e409d2a1ead8a5dcad5b8b2cb4506cc8d6bfcdb77fa7e#rd