游戏中的“战争黑雾”和现实中的程序员处境(转)

当还是个少年的时候,我记得经常会玩一些即时战略游戏像X-COM, Civilization, 红警之类的。

这些游戏使用一种被称作“战争迷雾”的机制。当玩家开始游戏的时候,他们被笼罩在一片黑暗中,而地图隐藏其中。唯一可以看到你周遭情形的方法就是探索。当你移动的时候,越来越多的地图就会展开在你面前。

这将玩家置于一种策略上的不利之处:他们不能看到附近的危险,障碍或者机会。每次成功的前进都需要一点儿运气。

这种场景是不是听着很熟悉? “战争迷雾”是对当前程序员被要求工作情形的一个极好的比喻。他们被置于一个项目中,被要求完成某一特定模块的代码,但是他们对于这个任务之外的事情一无所知。

对程序员来说,看到“完整的游戏地图”是非常重要的。对全局清楚地认识可以帮助他们做出更好的决定。这里列出一些他们可能会问的问题:

1. 我们为什么要做这个项目?它是如何改善了客户的生活? 2. 和这个项目相关的历史代码是什么样的? 3. 这个项目会影响到该应用软件的其他那些部分? 4. 这个项目会影响到我们生意的其他哪些部分? 5. 我们如何来评估这个项目是否成功(或失败)? 一旦他们可以看到这整个的布局,程序员就可以有目的的开始工作。他们不再是一台机器里面的齿轮而是可以影响项目取得成功的参与者。

这也带来巨大的激励好处。Joe Stump总结为:

程序员通常不知道任务背后的问题,这意味着一些最富有创造力的思考者却不能考虑到一个给定的目标可能会碰到的问题。

比如说,如果我是一个后端程序员,你告诉我要实现一个API,但我不知道为什么你需要这个接口。

但是如果我负责任,多很你聊一聊,我将会深入地围绕这个问题思考,因为我将作为程序员的工作和企业的成功更具体的联系了起来。

这突出了强调每个项目背后的愿景和使命的重要性。

愿景:我们为什么要做?这将如何改变这个世界? 使命:目标是什么?我们需要在哪里完结? 一旦他们理解了愿景和使命,程序员们也成为了项目计划过程中有价值的合作者。他们可以预见潜在的风险帮你避免犯一些代价高昂的错误。在这篇非常棒的文章中,Paul Boag描述了不让程序员参加需求设计会议的危险:

在Digg的全盛时期,我记得在Daniel Burka(掘客的首席设计师)和Joe Stump(首席程序员)的一段对话。他们讲了这么一个故事,Daniel想要改变Digg的按钮设计,从他的角度来说,这个改动微乎其微。但是当他和Joe说起的时候,他发现这个极小的改动可能会对网站的性能有非常大的影响,可能会迫使Digg升级它的处理能力和服务器架构。

应该怎么做 在Sprintly公司,来自产品,支持和工程技术方面的代表会一起开会制定开发计划。

会后,我们会创建一个Sprintly标准规格的需求书,包含我们在之后的三个月中将要做的事情。这份需求书会寄给所有的开发团队,他们需要在工作开始前签署同意。

经理不是将军,程序员也不是士兵 有时候经理表现的好像每个项目都是秘密活动,信息只有在需要知道的基础上才能给予。这个维基条目清楚地解释了为什么这种情况可能发生:

需知(诸如其他保密措施)会被一些人误用,这些人希望拒绝其他人知晓他所知道的信息,试图增加他们的个人权力或者阻碍对他们工作的回顾。

这种保护主义并不会生成更好的代码,项目或者增长的销售额。不要将程序员置于黑暗中。邀请他们参与到你的整个策略制定中。

注:Justin Abrahms写了一篇非常精彩的姐妹篇,The Omission of Why.

如果你正寻找一个好的框架来保持产品团队负责,可以查阅Jason Evanish的product thesis.

http://developer.51cto.com/art/201502/464853.htm

时间: 2024-10-19 19:37:07

游戏中的“战争黑雾”和现实中的程序员处境(转)的相关文章

五年java开发生涯中一次吐血的项目救火(程序员何苦难为程序员)

我现在就职于一家中型的互联网企业,去年年底入职的薪资和待遇都很不错,但是总结起来说的好听就是全村人的希望,说的不好听就是一个人几乎干了一个项目组的事.下面是我的一次项目救火经历(背锅经历).就是年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因,后台日志没有任何错误信息.我临危受命,赶往该项目进行扑火工作,其实本来2天都可以解决的问题,让我花了5天

中越战争的意义之大,很少有人知道

中越战争的意义之大,很少有人知道 由于本人的理论认知水平有限,如翻译过来的东西有何言词不当,敬请各位网友谅解.如果文章讲述的事情跟大家知道的有出入,敬请批评指正.如果文章表述的观点有损现在正在实施的中俄战略伙伴关系,敬请贵网马上屏蔽此贴. 中越战争——冷战的转折点 冷战的转折点其实就是1979年的中越战争,这场规模有限,时间短促,方式落后的战争当时虽然引起整个世界的震动,但不久就被人遗忘,没人会想到从这一年开始,仅12年整个苏联东欧集团就彻底崩溃.而在此之前的34年里,以美国为首的西方国家想尽各

程序员在实战中的蜕变

当一个软件技术人员选择了自己的发展方向后,应该怎么为实现目标打下良好的基础呢?这里,我们要讲述的是软件技术人员需在学习哪教学法知识,以及如果训练自己的思维方式和软件开发习惯. ? 助推器一:软件基础知识 首先,要充分学习软件基础知识,当一个初学者接触软件开发的时候往往想马上就能动手开始开发,这是一个普遍的现象.现代的软件语繁多,很多语言开发起来异常方便,看一本书就可以上手开发了,然后,这样的情形往往会误导技术人员,当你沿着这种"方便"的开发道路走下去的时候,几年后你会发现,自己的进步不

《Java程序员面试笔试宝典》终于在万众期待中出版啦~

<Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理想的企业 在这里,众多知名企业面试官将为你撕开神秘的求职面纱: 在这里,各种求职达人将现身说法为你揭开求职谜团: 在这里,各种类型的企业招聘细节都会被展露无疑: 在这里,我们将为你抽丝剥茧,还原IT行业的真相: 在这里,我们将为你指点迷津,告诉你职场上的风风雨雨: 在这里,我们将为你点石成金,成为那盏指引你前

资深Python程序员教你统计,三国中人物名字出现的频率,很简单

资深Python程序员教你简单.有趣的程序:使用第三方库jieba切分,统计统计名著三国演义中人物名字出现次数. 资深Python程序员教你统计,三国中人物名字出现的频率,很简单其中一个jieba库是一个对中文文本依照汉字间关联概率进行词组划分的第三方库,使用简单,且非常好用 import jieba def getWords(): txt = open('novels/threekingdoms.txt', 'r', encoding = 'utf-8').read() words = jie

互联网运营:一场怡红院中的战争 转

运营无所不能?有所不能? 做运营快十年了,有无数的人问我:运营到底是干什么的?这个问题我回答了无数遍,但从来就没有在5分钟里把人讲明白过,相对比较容易理解的一个概念就是“销售是把产品卖给一个客户,运营就是把产品卖给大量的客户”.所以现在我一般换个角度来解释这个问题:让我们看看没有这个岗位会怎么样.让我们来假设一下如果今天有一款叫魔兽世界的游戏发布了,一个运营的人也没有,会怎么样?这意味着我们会看不到游戏的官网,看不到魔兽世界的广告,看不到官方组织的活动,看不到幕后的花絮,甚至连任何促销都没有.那

从现实中的案例关注RFID消费终端安全风险

之前在发布关于<从乌云的错误漏洞分析看Mifare Classic安全>一文当中介绍了关于Mifare Classic安全的问题,然而RFID安全问题并非仅仅基于Mifare Classic而已.在过往的RFID安全资料当中,我们通常都是关注Tag的安全,例如:Mifare Classic的算法破解以及低频卡类的安全问题.却不会从整体的角度分析其衍生出来的其他安全问题. 从2008年漏洞公开至今,国内已经开始逐渐分批地更新Mifare Classic为Mifare PLUS/Mifare DE

初学者必看——Java在现实中的应用

现实生活中的Java应用 在现实生活中,很多地方都用到了Java,从商业上的电子商务网站到安卓App,从科学应用到经济应用,如电子交易系统,从游戏如<我的世界>到桌面应用,如Eclipse.Netbeans.Interllij,从开源类库到J2ME应用.让我们更详细地看一下它们. 1)安卓应用 如果你想弄清楚Java用在什么地方,你离这个目标不是太远.打开你的安卓手机和任何一款App,它们是使用Java语言.基于Google Android API(和JDK类似)开发的.数年的安卓支持已经有了

机器人统治人类?别逗!现实中的机器人是这样的

昨晚,小编看了一部人工智能的电影<机械姬>感触颇深.电影中的人工智能机器人Ava,已经具备了人类的思维.电影中测试员Caleb被老板以中奖者的身份骗到别墅,对Ava进行最终测试,但是Ava欺骗了Caleb并囚禁了他,甚至杀死了自己的创造者Nathan,最后像正常人一样离开了实验室,进入人类社会. 电影中有一段台词让小编印象深刻,讲到:"替自己难过吧!将来有一天,人工智能回顾我们,就像我们回顾非洲平原的化石一样.直立猿人,住在尘土里,使用粗糙的语言和工具,最后都灭绝."听起来