软件研发是高科技吗?

软件研发是高科技吗?_第1张图片
高科技假象

在这个移动互联、AI、VR流行的时代,仿佛软件行业相比于曾经在金字塔之巅万人景仰的金融行业,又找到了自己的春天。无人机送货、智能驾驶汽车、无人值守超市更是从设想变成了现实。有人已经开始疾呼“未来将是程序员统治世界!”。

回到现实,每天还在认认真真地对需求、写测试、码代码、规划下一个发布版本、处理频频弹出的IM消息&邮件提醒的我们所从事的软件研发行业,不禁要问,这真的是高科技吗?

高科技假象

首先谈谈高科技,它来自于high-tech的误译,应该翻译为“高技术”。科学没有“高低”,科学只有正确与错误的分别。技术有高低的区分,比如IT技术有高低之分,但是计算机科学只能说对错,不能高低。

高科技的“高”,是相对于常规技术和传统技术说的,因此它并不是一个一成不变的概念,而是带有一种历史的、发展的、动态的性质。今天的高科技,将成为明天的常规科技和传统科技。

反观人们在当前的软件研发过程中,无论是软件方法论、编程语言、各种工具与框架、基础设施,甚至管理方式,哪一项不都是已经存在几年甚至十几年或者几十年的。所以,从这个角度来说,大部分的软件研发采用的并不是所谓的“高”技术,软件研发行业也不是什么高科技行业。人们只不过是容易沉迷于自己所处的“计算机行业”、“通讯行业”、“互联网行业”是高科技的假象之中。

那什么是高科技行业呢?只有在上面那些领域里面从事基础研究、获得根本性突破、走在技术前沿发明创造的人从事的才是所谓的高科技。比如埃隆.马斯克(Elon Musk)的Space X,他们从事的工作是研究如何把太空运输商业化,比如给国际空间站运送补给、运送航天员甚至将普通人送入太空旅游,它开发了可部分重复使用的猎鹰1号和猎鹰9号运载火箭。SpaceX同时开发Dragon系列的航天器以通过猎鹰9号发射到轨道。现在还没有一家商业公司做到,他们从事的算作高科技。

软件研发的本质是什么

软件研发的特征是,大多数情况是以团队、项目或者其他紧密协作的方式来完成工作,制造软件产品。大多数人是在从事人类交流的职业,软件产品的成功与否关键在于所有参与者良好的人与人之间的互动,失败的原因也在于这种互动的缺失。参考《人件-原书第三版》第一章。

如果说以上描述还不足以证明的话,可以看一看2001年,软件行业历史上著名的敏捷宣言:

个体和交互胜过过程和工具
可以工作的软件胜过面面俱到的文档
客户合作胜过合同谈判
响应变化胜过遵循计划

可以看出,个体和交互、客户合作都在强调如何通过交流、协作来提升软件研发效率和质量。

还可以回想一下,软件研发过程中遇到的常见问题:

  • 项目交付老是延迟
  • 上线之后很多缺陷
  • 部门之间老是相互抱怨

这些问题分析起来,大多不是技术问题,也不是高科技可以解决的。比如第1个问题,常见原因有:业务部门改变需求但是沟通不及时、分析需求与预估偏差太大、需求理解偏差、软件发布流程审批复杂、测试部门介入太晚……,这些原因不仅仅导致第1个问题,还会引起第2,3两个问题,但本质上是沟通交流与协作的问题。

所以,软件研发的本质是“社会学”范畴——生产关系决定生产力。

软件研发的本质属于社会学范畴

生产关系,是人们在物质资料的生产过程中形成的社会关系。包括人们在生产中的地位和相互关系、产品分配的形式等。

社会学是系统地研究社会行为与人类群体的学科,起源于19世纪三四十年代,是从社会哲学演化出来的现代学科。

归结起来,软件研发要想提升其效率和质量,必须从企业的文化入手。因为文化从员工的行为反映出来也塑造员工的行为方式,也是指导这个企业如何协作、交流、沟通的举足轻重的力量。

William Schneider, Ph.D.,组织心理学家,在1998年发表如下一篇文章来分析典型的商业公司文化,称作文化四象限,详细描述了四种典型企业文化类型对于企业的影响。后续文章跟大家分享!

软件研发是高科技吗?_第2张图片
文化四象限

你可能感兴趣的:(软件研发是高科技吗?)