Software is a focus intensive industry

栏目: IT技术 · 发布时间: 6年前

Industries are usually characterized as labor-intensive or as capital-intensive.

Labor-intensive industries requires a lot of human input in order to produce their output. A classical examples is the industry of services (like restaurants or hotel) or even old manufacturing (where people were building stuff with their hands.)

Capital-intensive industries requires much less human input but they requires a lot of capital in order to produce their output. An example could be building oil rings, insurance companies, energy producers, airlines.

Software does not fall in neither this two categories.

With “software industry” I mean the industry that produce software products, ventures like AWS, Microsoft Azure or Google Cloud Platforms are definitely capital intensive industries. In this post I am talking about software product like Slack, Notion, WordPress, GCC.

Software is not labor-intensive. Not many people are necessary in order to produce good software. On the contrary, Brooks’s law on software project management states that “adding manpower to a late software project makes it later”.

Nor software is capital-intensive. Building a great software product does not requires huge money investments. Computing power is almost free nowadays and the same is true for bandwidth and storage.

What makes or breaks a project, it’s the amount of FOCUS developers can pour into it.

With focus I mean the internal knowledge of all the nitty-gritty details of the software and its surrounding. The knowledge of how the software is used and of how it solve real problems for the users. The knowledge of why it is implemented the way it is. The capacity to add features and fix bugs without breaking the software for a subset of users.

What I defined as FOCUS is not just knowledge of computer programming and data structure, it is much more than just knowing the users, it is much more that testing and CI/CD. Of course those things are important but it is not just that. If it was sufficient, companies like Google, Amazon, Facebook, Microsoft would keep pushing out new flawless software product. But that is not the case.

Obtain and maintaining FOCUS is extremely hard, it requires raw knowledge of the computing fundamentals, a lot of time and experience with the product and having build a strong community that sustains the effort (asking for features, trusting with updates, discuss the general direction of the product.)

Unfortunately people get bored, especially in creative profession, when the product is mature, the job becomes more boring. Maintenance is still necessary and the most efficient person to maintain a piece of software will be the one less interested in doing it.

Moreover, it is a risk for people to be stuck too long on the same project using the same set of technologies. The half-life of a particular technologies is very short in the software industry and developers are aware of it. It is a perfectly rational choice trying to mitigate this kind of risk. On the other hand management, pursuing efficiency, will push the developers to use the same old proven technologies.

Finds the right balance between innovative work and efficient use of time is difficult for people managing projects. Too much innovation and nothing important get done, with developers chasing the new shinny, hyped, project. No innovation at all and developers are quickly alienated by keeping maintaining the same project.

As last point, especially in the software industry, switching companies very often is the strategy recognized to maximize income. This makes even harder to reach FOCUS. If the team that works in a product completely changes in 5 years it is impossible that the team has FOCUS on the project.

Unfortunately there are not easy answer, but is clear that being able to create production grade software is almost a necessity for every medium to big organization.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

走出软件作坊

走出软件作坊

阿朱 / 电子工业出版社 / 2009-1 / 39.80

《走出软件作坊》这本书提供了解决国内小型IT企业发展的过程中会遇到的项目管理问题的若干方法。主要以作者自身多年工作的宝贵经验,来谈软件公司的项目管理和团队建设,包括对中小软件公司软件开发组织结构、团队文化、软件过程管理、团队激励、绩效考核、职业发展规划、未来业界发展趋势、个人素质提升等,具有实际指导意义。主要读者对象是IT企业的研发主管、项目经理和软件开人中同,以及即将到IT企业工作的高校毕业生。一起来看看 《走出软件作坊》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具