请不要让程序员在黑暗中摸索

移动开发 系统运维
这些游戏使用了所谓的“战争迷雾”。刚进入游戏的时候,每一个玩家的地图都是被黑暗笼罩的,想要前行的唯一途径就是不断的摸索。随着我们不断地移动,地图越来越可见化

不知道各位有没有玩过魔兽、X-COM、文明帝国、红色警戒之类的策略游戏。

这些游戏使用了所谓的“战争迷雾”。刚进入游戏的时候,每一个玩家的地图都是被黑暗笼罩的,想要前行的唯一途径就是不断的摸索。随着我们不断地移动,地图越来越可见化。

 

[[130979]]

这种战略的劣势是:玩家看不到周围的危险、障碍以及机会。每一次的成功都需要一点点的运气。

 

有木有感觉这种情景有点熟悉?

 

“战争迷雾”完美地形容了开发人员的工作处境。他们总是被要求去搞定某一段特定的代码,但是却不告知任务的相关情况,等于是在让他们自己在黑暗中摸索。

对于开发人员,看到“整个的游戏地图”很有必要。对全局有一个清晰的把握有助于他们做出正确的决策。下面这些问题是他们所需要知道的:

为什么要创建这个功能?它为客户提供了哪些方便?

 

围绕这个功能的代码经历了怎么样的一个发展过程?

 

此功能会影响应用程序的其他哪些部分?

 

这是否会影响业务的其他部分?

 

我们如何衡量这个项目的成功(或失败)?

 

当开发人员掌握整个框架之后,才能有针对性地开始工作。他们的深思熟虑谋定而后动非常有助于项目的成功。

同时也有巨大的激励效应。Joe Stump总结道:

开发人员对于任务背后的问题往往得自己摸索,这意味着对于给定的对象可能开发人员并不能真正地思考到点子上。

 

但是如果够负责的话,开发人员会沉浸于这个问题的思考,因为其工作具体说来,更为依赖于在商业上的成功。

 

举个例子,如果我是后端开发人员,你告诉我去实现一些API端点,我需要考虑一下为什么你需要这些端点。

 

这突显了了解每个项目背后的目的和任务的重要性:

目的:我们为什么要这么做?

 

任务:目标是什么?做到怎么样的程度算完成?

 

在了解了目的和任务之后,开发人员也就成为了规划进程中有价值的合作伙伴。他们可以预见一些潜在的“地雷”,以免你踩到从而付出高昂的代价。在一篇杂志文章中,Paul Boag描述了将开发人员摒弃在一些相关会议之外的危险:

在Digg的鼎盛时期,Daniel Burka(Digg的首席设计师)和Joe Stump(其主要开发人员)之间就一个Digg按钮曾举行过一次会议讨论。Daniel想要更改其设计,因为从他的角度看,变化不大。但是对于Joe 来说,他发现这个小设计将会对网站的性能产生很大的影响,迫使Digg因为这么一个按钮而升级它的处理能力和服务器架构。

你能做什么

首先我们应该负责任地参与到产品、支持和工程规划的会议讨论中去。

会后,我们可以创建接下来所需要的有关规范文件。

 

管理人员不是将军,开发人员也不是战士

 

有时候,管理人员搞的好像这个项目是什么紧要机密一样,只给出一些“需要知道的基础知识”。

但是这种保护措施却不会导致更好的代码、更受欢迎的项目,也不会增加销售。不要让开发人员在黑暗中摸索,应该邀请他们一起参与到整体的战略讨论中来。

责任编辑:chenqingxiang 来源: linux.cn
相关推荐

2015-04-26 12:44:58

2011-06-02 11:26:24

程序员

2015-01-04 14:18:21

程序员

2020-12-21 06:15:15

程序员互联网年龄

2011-04-26 10:00:23

C语言程序员

2014-12-05 10:06:44

程序员

2014-06-24 15:38:25

2009-02-17 10:12:10

ASP面试技术

2015-04-01 14:57:01

2011-11-02 09:57:28

程序员

2020-12-15 08:05:02

redis单线程多线程

2015-02-12 09:29:48

2011-12-20 09:01:25

.NET

2019-11-18 10:05:43

程序员技能开发者

2019-11-18 10:16:37

工程师开发网络

2018-07-16 12:22:42

白熊视频

2019-08-30 10:51:21

2012-09-10 09:16:54

2015-02-12 09:48:09

程序员

2018-05-07 15:59:39

代码程序员重写
点赞
收藏

51CTO技术栈公众号