首页 » 99链接平台 » 历史难题:软件开发是重设计还是重生产?(生产开发软件设计都是)

历史难题:软件开发是重设计还是重生产?(生产开发软件设计都是)

南宫静远 2024-10-23 11:50:56 0

扫一扫用手机浏览

文章目录 [+]

因此,软件开发组织也就会按照这样的职能组织进行设计。
基于这种认识,我们会在软件开发中推行瀑布模式,希望通过标准化流程,让每个环节最大化提高生产效率。

按“软件开发是设计过程”的世界观。
软件代码是设计文档,它被编译、部署后,指导计算机工作。
用户使用这些应用后,用户所需要的窗体、数据等信息被计算机自动生产了出来。

这样软件开发就要按设计思想进行组织,而设计需要的是要不断尝试,把需求、设计、开发、运维、测试等工作放到一个团队里,组成跨职能团队才是更高效的做法。
基于这种认识,提出了敏捷开发的理念,让不同职能在一起开发,面对共同的业务目标。

历史难题:软件开发是重设计还是重生产?(生产开发软件设计都是) 99链接平台
(图片来自网络侵删)

那么究竟应该是设计还是生产呢?我们可以从几个方面来看。

可重复性

生产过程一般是可重复的。
工人生产一个零件,或者组装成一个产品,这个过程是预定义的。

比如一台洗衣机被设计出来以后,就被拆分为若干零件以及组装工序。
每台生产出来的洗衣机都是一模一样的。
软件开发结果是可重复的吗?如果生产结果是代码,程序员每天要编写的代码,极少是可重复的,每天面临的问题都是不同的。

创造性

生产过程是不需要多大创造性的。
你操作机器,按照设计规格要求组装或者生产零件。
而试图把程序员的工作变为非创造性的活动,也就是所谓程序员蓝领化,这个口号提了有20年了吧,很遗憾,到现在为止没有看到一个是成功的。

不管什么样的组织,最后不得不把创造性还给程序员,才能一定程度上完成工作。

成本

生产过程是成本比较重的,生产一个零件或者组装产品都是如此。
而软件中生产窗体、数据都是计算机自动完成的。
生产信息的的成本接近于0。
如果一个程序运行中崩溃了,用户只要重新打开就可以得到新生产的。

可预测性

我们生产机器、用品、建筑物,这些东西我们都可以在生产前进行预测,我们需要哪些功能,要达到哪些指标,价格要多少钱。
这些可以被预测、限制。

而我们在开发软件中,极少有人(我怀疑是没有)可以在一开始就把软件的范围进行精确地框定。
我们往往知道一些大概,通过在开发中一些问题才逐渐浮现并变得清晰。

你觉得软件开发是重设计还是重生产?

标签:

相关文章