程序员的自我修养之三:努力做正确的事

Do thing right? NO! Do right thing.

——谁说的

程序员提高效能的第一个问题是找到正确的目标。

大部分无效的时间都是因为错误的目标。比如,在一个时间要求很紧的项目中应用团队不熟悉的技术(我经常如此:( )。原因不仅仅是低估技术的复杂度,还包括高估自己对于技术的学习能力。明确工作目标是第一位的。要解决什么问题,时间多长,可用的技术及解决方案是什么?是否满足需求?要采用新技术吗?有验证和学习时间吗?如果时间不足,是否需要调整目标?

这些问题在我看来,按照其来源不同,分为5个领域,分别是:

业务域:这是来自于用户最直接需求的问题域,其重点是用户需要什么,而不是提供什么。关注要什么,是什么,而不是如何实现。简言之,即便脱离软件系统,需求依然存在。这是超越实现方式的。

产品域:这是跨越需求和需求满足的实现方案的集合。重点是如何满足需求。在需求范围上小于业务域,在实现范围上包含了运营域、运维域和技术域。

运营域:有的产品本质上是一种持续的服务,则需要定义提供服务的持续能力和范围。在特定的产品范围,运营还包含市场、内容、服务等多方面的范畴。

运维域:当产品本身是服务时,或提供面向企业的软件产品时,则需要相应的软件运维支持,以确保软件系统能够正常持续运行。

技术域:具体的软件实现范畴。包含各类软件开发技术、软件包等等。

前四个可以统称为需求域。技术域是为需求域服务的。

其中,业务域是最核心和最首要的问题域,脱离业务域的范畴就没有软件开发的必要。需求域决定了和限制了技术域的问题,而不是相反。需求域没有厘清的问题,技术域一定解决不了。即没有提出正确的问题,则不会有正确的答案。

通常情况下,受限于资源约束,技术域只能解决需求域的部分问题,而不是全部问题。换言之,技术域所能实现的问题解决方案不应超过问题域的约束,一旦超过,要么是需求域的问题定义出现偏差,要么是程序员无意识或有意识的偏离目标。

每一个域的识别和定义都是需要特定的专业知识和技能的。不能指望一个人能够解决所有的这些问题。比如,一个好的程序员就不一定是一个好的产品经理(实际上,肯定不是。任何领域都需要专业知识、技能和经验,随随便便就安排一个程序员做产品、项目管理,就是瞎扯)。他或她可能能够很快地编出一段代码,实现一个功能,但这段代码是否符合业务,是否具备良好的产品交互,这就不是程序员能够解决的了。

程序员需要具备的能力和知识,首先是技术域的范畴,不能混淆问题的边界。实际上,在现实的项目中,由于把所有问题混淆在一起,往往是造成项目失控的首要原因。比如,一个有关业务流程的功能,如果连业务流程的定义、角色的划分都没搞清楚,就指望程序员能够“自动”地实现,这完全是痴人说梦。

大部分的程序员,都不具备超越技术域的技能,这是一个客观现实。因此,才需要产品经理、项目经理、售前人员的介入,他们在不同的项目中,扮演着业务专家和产品专家的角色,定义业务域、产品域的问题边界,从而为技术域提供有效输入。很多公司由于各种原因,忽略了这些前导需求的角色,造成开发效率低效。

软件外包或定制化的业务之所以具备较大难度,就是因为软件企业很难具备“所有”的业务域和产品域资源积累,没有对应的业务专家、产品专家,那么,每一个新的软件项目都需要从头学习业务域、产品域的知识,而这种学习本身是极耗资源的。但今天大部分软件项目都面临着剧烈的市场竞争,客户一般不会提供足够的项目费用用以软件企业进行业务学习。相反,在竞争条件下,软件企业还需要以低廉的项目报价中标,这样,传统的软件外包业务利润微薄就可想而知了。所以,在软件外包领域一定是行业专业化,或者在软件外包之前有专业的咨询商,如IBM、埃森哲等。

蝉游记的@纯银V 曾经在他的微博提到“我花半天时间画原型,设计师得花半周,工程师得花两周,我还完全不能保证这个版本的需求能达到预期效果。……”这大致就是产品域到技术域的转换效率,1比20(0.5个工作日VS10个工作日)。所以,无论是公司的什么人,特别是程序员自己,怎么能不从一开始就搞清楚自己要解决的问题呢?一个在产品域犯下的错误,将来需要技术花至少20倍的代价去调整。我想不出,还有什么理由可以做出轻率的决定。

我刚入行的时候,听我的上司说“Do thing right”,还是“Do right thing”,当时自己内心还是不以为然的。究其根本,是在内心深处不敢也不愿意承认方向正确才能做对事,因为这个正确的方向却往往是最难找到的。而作为程序员,最喜欢的感受是学习了最潮的编程技术,似乎这些“花活”让自己很了不起。但是,衡量一个程序员是否成功的标志,却是你做的程序是否为他人、用户带来了价值。如果没有这一点,那么,即便你用了新潮的技术、机巧的设计,又有什么意义呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,825评论 4 377
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,887评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,425评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,801评论 0 224
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,252评论 3 299
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,089评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,216评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 31,005评论 0 215
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,747评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,883评论 2 255
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,354评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,694评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,406评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,222评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,242评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,017评论 2 281

推荐阅读更多精彩内容