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

 

当还是个少年的时候,我记得经常会玩一些即时战略游戏像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-29 18:38:23

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

情人节的浪漫游戏中的恋人能否在现实中相遇

过完农历新年,就是情人节.距离这个日子只有二十天光景了,游戏中的情侣们,是否会在这个特别的日子迎来属于他们的"第一次约会"? 游戏玩家的爱恋 小江(化名)是一个外企白领,上班忙,下班晚,没有时间谈恋爱.2009年3月第一次接触游戏.她认为,网络游戏是很好的消遣方式.在游戏里,她可以认识很多朋友.因为一起组队打副本,认识了一个和在她隔壁写字楼工作的玩家,约定2010年情人节这天见面. 网络游戏是很好的消遣方式 郑科(化名)是刚刚毕业的大学生,现在在一家电器公司工作,平日下班最大的乐趣就是

即时战略游戏《操控战争2》限免中

<操控战争2>是来自开发商Elite Games Ltd的一款 即时战略游戏,游戏中玩家要做的就是占领所有出兵点,达到消灭 敌人的目地.只要点按一个出兵点后滑动至想要士兵到达的出兵点即可,他们在路上碰到敌人时会自动攻击.<操控战争2>游戏截图游戏中根据玩家占领的出兵点不同,派出来的士兵也有不同变化,比如变身为灵活性强可以空袭的火箭兵.在过关后还会有奖章供玩家升级强化士兵各方面能力.<操控战争2>游戏截图<操控战争2>游戏截图游戏画面有点怕他碰这种剪影风格的即

全球程序员流入量最大的五座城市中印度占四席

一个顶级程序员能够对脸谱.苹果或谷歌有所贡献,但不可能从根本上改变这些大公司,而这位程序员如果加盟某个小企业,他要么失败,要么 就会成为百万富翁.在印度软件猎头公司骇客排名的联合创建人维维克拉夫森克看来,尽管美国硅谷正开出远超以往的高薪吸引印度顶级软件人才,但现如今印度才应是全球信息技术精英的向往之地.他在最近结束的一次网上程序员招募大赛后表示,目前全球程序员流入量最大的五座城市中,印度占四席,印度程序员不再 一心向往美国.印度软件人才市场近几年正在经历残酷的优胜劣汰.目前,印度有超过400所大

[程序员面试题精选100题]9.链表中倒数第k个结点

题目 输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针. 思路一 因为是单向链表,只有从前往后的指针而没有从后往前的指针.因此我们不能倒序遍历链表,只能正序遍历.假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1个结点(从0开始计数).我们只需要得到链表中结点的个数n,那我们只要从头结点开始往后走n-k-1步就可以了. 因此这种方法需要遍历链表两次.第一次得到链表中结点个数n,第二次得到从头结点开始的第n-k-1个结点即倒数第k个结点.时间复杂

休闲策略游戏《东方战争:僵尸入侵》限免中

僵尸除了在西方国家相当常见且肆虐各方,没想到这回也飘洋过海.大举入侵东方国家,玩家必须派出强大的军队来抵抗.<东方战争:僵尸入侵>游戏中玩家可以用点击或是拖曳的方式来摆放军队来防守殭尸进攻至主城,而下方也有回收或提升军队单位等级的按钮,会消耗一定的金币,当然相对的玩家在游戏中击杀殭尸则可以获得金币.当玩家负荷不了怪物量或有危机时,可以点击画面中间下方的按钮呼叫空中部队协助.游戏关卡分成一般难度以及困难难度,差别在於主城 血量上的不同,困难难度必需要零失误才能过关.<东方战争:僵尸入侵&g

在游戏中学习:程序员如何提升自己的安全技能?

本文讲的是在游戏中学习:程序员如何提升自己的安全技能?,解决编程谜题游戏是提高开发逻辑和解决问题能力的一种有趣手段.此外,当你尝试熟悉一门新的编程语言时,解决这类编程语言的谜题游戏可以帮助你加快学习过程. 无论你是一个编程新手,还是想要增强你现有的技能,或渴望掌握最热门的编码语言,以下文章中介绍的10 款最流行的编程谜题益智网站,都将帮助你测试自己的思维,以及改善你的编程.解决问题与逻辑思维的能力. 1. Programming Praxis 如果你正在寻找一个有趣的方式来提高你的编程能力,Pr

虚拟现实在现实中触碰虚拟世界:视觉盛宴背后的技术革命

早在50年前,虚拟现实就已出现,如今它有变革人类视觉体验之势.在虚拟现实重构的世界里,我们不仅有视.听.触.嗅等感觉,而且它们将变得愈发真实,与现实世界无异.与虚拟现实相对应的,还有增强现实以及混合现实,它们在改变人类视觉体验的同时,也在真切地变革我们的生活.我们既可用它们来购物,也可进行模拟驾驶,甚至还可用它来治疗疾病.尽管目前虚拟现实技术仍有许多缺陷,但它注定会在不远的将来影响我们每一个人.本文来自上海交通大学软件学院教授杨旭波日前在"新民科学咖啡馆"活动的分享. 早在50多年前,

玩家变卖网游虚拟房产现实中卖出400余万

据英国<每日邮报>18日报道,一位英国网络游戏玩家近日成功地炒房炒到了"太空",将自己在宇宙小行星上的虚拟"房产"在现实中卖出了63.5万美元(约合422万元人民币)的"天价",刷新了线上游戏道具在现实世界交易的最高纪录. "俱乐部"每年能挣20万 这名游戏玩家名叫乔恩雅各布,他售卖的虚拟房产来自一款以在宇宙开拓殖民地为任务的虚拟3D网络游戏EntropiaUniverse.尽管雅各布的道具卖出了"天价&

《Python游戏编程入门》——1.3 Python中的对象

1.3 Python中的对象 Python是面向对象编程语言,这意味着,它至少支持一些面向对象编程概念.现在,我们将花一些时间来介绍这些概念,因为这是一种编写代码的高效方式.面向对象编程(OOP)是一种方法学,也就是做事情的方式.在计算机科学中,有几种较大的."伞状的"方法学,也就是说,定义了编程语言的功能的方法学.要让我们的技能成为可以传播的,方法学对于这个产业来说很重要.如果每个公司使用他们自己的方法学,那么,为该公司工作的过程中所获取的技能,对于另一个不同的组织来说将会是无用的.