09 | 为什么软件工程项目普遍不重视可行性分析?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
本文以React Native跨平台项目为例,探讨了软件项目中忽视可行性研究所导致的失败案例。作者指出软件项目很少做可行性研究的原因,包括需求模糊、老板控制决策权、以及认为可行性研究会阻碍创新。然而,作者也提出了解决这些问题的建议,包括在项目需求明确后进行可行性研究,建立可行性研究的意识,以及认识到可行性研究和创新并不矛盾。文章通过具体案例和分析,深入浅出地阐述了软件项目中忽视可行性研究的原因和解决方法,对读者具有一定的启发意义。 文章还介绍了如何做好可行性研究,从经济、技术和社会可行性三个方面出发,以React Native项目为例进行了具体分析。通过对成本和收益、技术成熟度、社会影响等方面的评估,得出了项目的可行性结论,并强调了可行性研究在项目启动前的关键性。最后,文章提出了课后思考的问题,鼓励读者分享关于可行性研究的案例和经验。 总的来说,本文通过具体案例和分析,深入探讨了软件项目中忽视可行性研究的原因、解决方法以及如何做好可行性研究,对读者具有一定的启发意义。
《软件工程之美》,新⼈⾸单¥59
全部留言(25)
- 最新
- 精选
- alva_xu从三个角度分析可行性,相当全面。 我们企业在软件项目立项时,经济可行性分析和技术可行性分析是必须要有文档材料,并且进行严格审批的,社会可行性方面,倒是没有严格的审批流程。 首先讲技术可行性。我们碰到的最主要的问题是对于技术解决方案是否合理的问题。由于决策层对技术的了解程度不一样,如果是采用已经在使用的技术,那么决策起来比较容易,但如果需要引进新的技术,那么最终的技术方案的敲定会历时很长。我们一般会通过寻求专家咨询,通过分析Gartner魔力象限和成熟度曲线,已经通过POC等方式,来寻求可行的技术解决方案。当然这里也遵循一些原则,就像老师上次说过的几个架构原则,“合适原则、简单原则、演化原则”来选择技术解决方案。 再谈一下经济可行性分析。 成本分析相对来说比较好分析,难处主要在于收益分析。一个软件项目,一般的目的主要在于解放生产力,让手工操作变为电脑操作,可以提高劳动生产率。从定性的角度是比较容易说的,但是到定量就很难了。特别是经济性分析的审核部门是财务部,如果我们说可以节省多少人手,那么财务部可能真的会要求业务部门减招人员,而这个又是业务部门很不愿意做的事情。所以这个问题还是在我们这样的大企业里存在,各个部门都希望保住自己的利益,所以会有很大的冲突。 老师,你以为呢?如果像这种情况,如何更合理地做出经济性分析,又能让各个部门皆大欢喜?
作者回复: 你说的这个问题对我有点难度呀!🤔 我觉得经济可行性分析的结果,不能只说提高劳动生产率,更多的要谈创造的价值。当然实际上也要真的能给公司创造价值。 很多IT部门因为没有直接创造价值,所以地位反而不如销售部门,是因为从表面上看,软件项目是不直接创造价值的,只有销售出去才创造价值。 当IT部门或者说软件项目,能让人意识到能创造价值,而且能持续的创造价值,那么就不是减人的事情了,还得考虑增加人手呢。
2019-03-1539 - 花灰每当经理说要做一个项目,就我自己来说总是找不到不做的理由,因为我们项目一般是部门内用,基本上没有技术成本和社会成本,学了本课,了解到人力成本,以后简单的容易上手的可以放心交给低一些的工程师,复杂一些的就自己写核心,辅助组内其他人完善。
作者回复: 对的,人力成本是项目中很重要的一个因素。 另外,很多时候我们确实无法去对项目中的事情做决策,但并不妨碍通过学到的知识,科学的去分析和判断。 没有决策权毕竟还有建议权,好的建议总有被引起重视的时候。就算建议没采纳,也积累了一次练习的机会。 现在没有决策权不代表将来没有决策权,早做准备这样等到你有决策权的时候已经积累了大量经验了。
2019-08-256 - 张驰微软雅黑,能坑垮一家公司。
作者回复: 👍这个案例好😄
2019-03-195 - 西西弗与卡夫卡最近有个项目延期,原因之一就是用到的第三方库需要https绑定域名,测试环境因为用http所以没有发现该问题。 事先的可行性研究,目的就是消除或者平衡项目中的技术风险、能力风险、协作成本、法律、部署等风险。 总结里给出了一个可行方法,即尽早上线部署,不对外公开服务即可。像法律问题,靠及早软件部署没法解决,可以有个检查清单,每类风险都给出适当评估意见
作者回复: 这种问题确实不好暴露。 除了及早上线,有一点可以改进的建议就是测试环境也可以考虑把https用起来,尽可能保持一致,这样能减少一点类似问题的风险。
2019-03-145 - Dream.技术可行性这东西。。。 就是每次在搭建项目之前,会各种分析各种技术的优劣。 架构搭建好之后,除非重构,都是奉行“只有想不到,没有做不到”的思路,从此再也没有技术可行性分析,一切都是可行😂😂😂
作者回复: 哈哈,这个确实很常见。技术人员都有执念,我懂的! 另一个角度讲,可行性研究本就是架构设计时要确定的,架构如果都已经做好了,成本也很高了,除非有真绕不过去的坎。
2019-03-144 - Jack MA可行性分析可以从更多维度进行分析,我认为可以参考模型PEST或PESTLE(Political, Economic, Sociological, Technological, Legal, Environmental)
作者回复: 政治(Political)、经济(Economic)、社会(Sociological)、科技(Technological)、法律(Legal), 环境(Environmental) 👍
2019-11-183 - 一路向北用失败的案例来理解怎样做才能成功会更加容易,老师从这个角度来分析也让我容易接受。 实际的项目确实很少分析可行性,一般客户有需求就想着怎么去实现,也就是说都是分析技术可行性为主。 我们做的项目大部分都是硬件和软件结合,从经济角度分析,硬件更加容易分析清楚,软件会困难很多。
作者回复: 对,软件的可行性分析确实有困难,但还是应该做一下,项目完成后再对比一下当初做的分析,几个项目积累下来,会有很多收获。
2019-03-153 - wuzz可行性分析,在智能硬件上特别突出,考虑经济成本上经常只计算了硬件成本,选择低廉的 MCU,不考虑软件上的成本,结合上节课的黄金三角,为实现需求最终只能在时间做出妥协,成本回收周期更长,需要卖出的产品要更多。
作者回复: 👍 软件工程的很多知识是有借鉴其他工程领域的,像可行性分析、金三角都不是软件项目独有的。
2019-03-153 - 纯洁的憎恶由于软件工程相对于大多传统工程,在立项前所面对的问题、实际需求与解决方案往往更加模糊、不够明确。而问题及其解决方案又是可行性研究的前提。因此软件工程的可行性研究也存在差异。在软件工程进展的过程中,持续或分阶段进行可行性评估,尽早发现风险及时应对,也许是更好的方法。 经济可行性——成本收益分析 技术可行性——技术成熟度、人员条件、缺陷容忍度 社会可行性——法律、价值观、道德、社会影响
作者回复: 👍谢谢补充
2019-03-143 - osbeibei都只评估技术和功能可行性
作者回复: 有时候没评估是没意识到需要评估,如果了解了不妨从文章中提到的几个角度思考一下,也许可以避免不必要损失。
2019-03-143