一、开发技术的成熟
当计算机刚被发明不久的时候,只有极少数人能够接触到计算机,更别说是软件开发。计算机是如此神秘,以至于在大多数人看来,那是天才的玩具。但是,随着个 人计算机的普及,越来越多的人参与到软件行业中来。许多开发技能被不断地验证、实践,以趋于成熟,并被总结成约定俗成的东西,如设计模式,数据结构,操作 系统等等。
二、设计工具的完善
首先软件开发环境越来越人性化,很多智能性的工具被开发出来,简化软件人员的工作,从而提高了开发效率。而另一方面,IDE往往能够提供"所见即所得"的开发方式,使得开发方式更倾向于人性化而降低了开发难度。
比较著名的如微软的visual studio,Borland的系列IDE,以及JAVA的诸多开发工具。
其次是工具包的丰富,最有代表性的就是图形包,包括OpenGL、DirectX系列,这些工具包为图形开发提供简洁有效的开发工具。这些工具包实际上是 在硬件的基础上构造了一个虚拟的环境,屏蔽了硬件间的差别。软件开发人员在设计图形界面时,只要简单的调用这些工具包,就可以实现所需要的功能,也避免了 对硬件的关注。
三、工程理论的发展
软件工程理论不但渗透到具体的设计过程,而且还涉及到项目的管理。从结构化设计方法到面向对象的设计思想,以及极限编程等方法,这些理论侧重于具体代码的 编写。在需求分析和系统设计方面,也有UML等标准化过程。而配置管理,注重于多个开发人员之间具体代码和文件的管理。而CMM等标准则从更高的层次来关 注项目的管理。
换句话说,贯穿整个软件开发过程,都已经被软件工程理论所涵盖。标准化的最终结果就是限制了个人发挥的余地,提高沟通的可能性。
四、市场需求的驱动
市场理论告诉我们,如果一个市场的利润高于平均利润,那么将会有更多的资本进入市场,直到利润降到平均水平。同样道理,在软件市场的早期,由于软件开发的 难度较高,从而阻止大部分人员进入这个市场。但是随着技术门槛的降低,越来越多人员和资本涌入这个市场,导致整个市场的竞争加剧。为了维持原有的利润空 间,企业就必须也有可能来降低开发成本。而降低成本的方式不外有二,一种是提高单位产出,另外一种就是降低生产资料成本,俗称工资。市场需求的驱动是软件 工业时代到来的最根本动力。
五、工业时代的前兆
在物质工业时代,资本家通过提高生产工具的性能,引进科学管理技术,提高工人的生产效率,从而达到降低单位生成成本提高生产效率。这个过程和现在的软件发 展过程是何其的相似呢!而一个市场工业化的最后结果就是逐步以机器代替人,降低人在生产过程中作用。在软件市场中,很难想象机器或者某些工具能够完全代替 人力,但是从软件市场的发展趋势来看,人力在开发过程中作用将被削弱。
六、工业时代的应对
既然这个趋势是不可避免,那么作为这个行业中的一员,我们应该如何应对呢?没人愿意成为最终被淘汰的不幸的人,但依然有许多人浑浑噩噩,或者不知所措,而 被淘汰。就像在自然界中一样,我们可以成为猎物中最强壮之一,也可以成为猎手,以避免被淘汰的危险。对大多数人来说,我们并没有掌握生产资料或者资本,因 此总是被淘汰的候选对象之一,当然,你也可以转化成一个猎手,却同样面临饿死的危险。
成为猎物中最强壮之一,是多数人不错的选择,因此我们要勤勤恳恳的工作,不断为老板创造能够令其满意的利润。但当某一天,我们逐渐老去的时候,当我们不再强壮的时候,结果又会如何,我想这是不言而喻的。
既然工业时代的到来是不可避免的,那是我们来推动和加速这个进程是明智的选择,在这个过程中,我们就有机会积累足够的资本,从而转化为猎手而不是猎物。推 动和加速这个进程的最有力方式就是发明更有效的工具,这是猎物们的最后希望,也是社会发展的必然要求。