软件开发究竟是“难”还是“复杂”?
作者:网络转载 发布时间:[ 2012/8/20 13:19:27 ] 推荐标签:
我一直的观点是要对“难”做一点分解。
好比说航空母舰的弹射器,我们造不出来,很“难”与一台机器有一千个螺丝要拧,保证3年中所有螺丝都拧对了,很“难”,这两种场景下“难”的含义是不同的。
软件开发的难度更多的类似于后者,表现为繁杂,而不是类似于前者表现为“搞不定”或“做不出来”。总是有人喜欢把问题化,所以这里补充一句,软件涵盖的范畴可以很广,因此确实有很难搞定的,类似于弹射器的领域,但应该不是主流。
以前的很多提法,在这样一种大前提下变的没有什么意义了,比如说:国产操作系统。当很多公司或组织标榜这类事情的时候,似乎自己更愿意认为这是一种技术突破。但实际上在开源如此发达的,这类东西的开发更需要的是组织和市场运作,而非是突破技术屏障。
由这一点可以推导出一个很有趣的结论:既然不体现为一种“搞不定”或“做不出来”式的难度,那么一帮智商水平并不是非常高的人(或者说并不的人),老老实实把代码评审,静态测试,单元测试这些环节做好,一样能做出不错的产品(当然很那辉煌灿烂)。反过来讲是,在大多数产品开发中,天才是有帮助的,但不是必要的。这点与这样一个事实相符:软件开发的队伍似乎更加杂牌,什么专业的都有。 这事儿逆转过来不成立。一个人可以以前是做涡轮机的,中途能够转行做软件开发。但做了软件开发的,很难去做涡轮机。
如果进一步推导,会发现这一点对考虑个人成长也很有意义。 单反类相机,镜头很难搞,所以介入壁垒比较高,终导致做单反的比较赚钱。电视机这东西,大家都能做,所以介入壁垒比较低,终导致当初很牛的一些做电视的公司都亏损。软件开发中,如果“只有你能搞定,别人不太容易搞定”的事情比较少,那么人员的可替换性强,稀缺性不好,从价值上来看,不太容易保值。反过来讲,是每个人如果想保持一种长久的价值,都要找到属于自己的一块“价值高地”。 软件可以依附到很多东西上,比如金融,财务,电商等等。因此“价值高地”还是有一些的。
可以是某个公司独有的东西,可以是某些专业知识(如:财务等),诸如此类。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11