编码之道(二):软件的价值

程序员最主要的一个工作就是编码,编码只是个过程而已,最终编码的目的就是产生一个能提供服务的有价值的软件。

不管你负责的是后端编码, 产生的是可部署运行的服务,或是移动端构建了一个App,也许是前端,编写了页面等,也许可能是类库或框架等。所有这些产物,如果我们用一个词来归纳它们,那就是软件

那做为程序员,你有没有思考过,软件究竟有什么价值/p>

本周,继续就编码之道阐述我的思考与分析,这是第二篇,本系列其它文章为:

  • 编码之道(一):程序员的”圣经”

为什么要谈价值

可能有些人觉得谈论软件的价值是有点多余,因为软件一定是有价值的,客户需要一个软件,肯定它能满足客户一定的需求。

所以这个点并无太多谈论的必要。

这也正是我想要写这篇文章的原因,这正是因为软件的利益方,包括客户,程序员,管理人员,公司等各方角色,在识别软件价值上都存在误差。

而这种误差,正在造成现在软件行业困境的一个很重要的原因。

我们软件行业的最大困境就是难以产生高质量易于维护的软件

所以我们程序员,是否能清晰的理解软件的价值,这是我们能写好代码的一个基础。

因为:

软件有看得见的价值与看不见的价值

而在编码中,很多问题的频繁出现的关键就在于:

对于软件看不见的价值,各方缺少可度量的共识

编码之道(二):软件的价值

如上图所示,我通常会用Sonar去评估分析代码,这是衡量技术价值的少有的手段之一,但它的能力也非常有限。能完整的并且可度量的评估技术价值的方式似乎难以找到。

一个可以想像的事实是,如果技术人员向决策者建议说:“给我两个月时间,我去重构下这份代码,让它更好,但在业务功能上完全没有任何改变”,很难想像那些决策者,也就是大多非常技术出身的人群,会如何去理解与同意这种事情。

也许一个他们可能的想像是:让整个团队浪费两个月时间,然后啥东西都没有/p>

软件价值

因此,我对于软件价值的定义是:

软件的价值是由业务价值与技术价值两部分组成的,它们相互合作与依赖,缺一不可

没有业务价值,再好的技术价值也是白搭,甚至变成技术人员的孤芳自赏。而没有技术价值,业务价值则完全是空中阁楼,不可能稳固与长久。

业务价值与技术价值,如同太极的两仪一样,它们理当同等重要。

因此,做为一个程序员,你必须得知道软件的价值,也明白自己对软件的价值担负何等的责任,特别是在技术价值这个方面,程序员是几乎唯一有能力保障这一块价值的群体,不可能期望产品或客户来保障这一块的价值。

这也是我这篇文章的目的所在。

编码的困境

如我在上面所总结的,软件的两种价值,即业务价值与技术价值是相互依赖与合作,才构成了软件真正的价值。

而在现实中,一个突出的表现是业务价值更被重视,因为它是可见的,可度量的,是各方都能理解,存在共识的价值。而与之完全相反的则是技术价值普遍受到轻视,因为它是不可见的,不可度量的,非技术人员不理解的,没有共识的价值。

而对技术价值的轻视成为软件各种问题频繁出现的一个很重要的原因。

下一篇,继续谈论编码之道,编码之道(三):编码的困境,失衡的价值

来源:微言码道

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月5日
下一篇 2021年8月5日

相关推荐