@七印部落 最近在翻译的书【人人都是产品经理:9111】

很久没和大家汇报我们的虚拟翻译团队——@七印部落——的消息了。我们在启示录、《程序员》杂志专栏、一系列的大牛视频、原来如此系列之外,也一直在寻找优秀的外版书引进给国内做产品的同学们(也欢迎大家多给我们线索),眼下,正在翻译的有两本,汇报一下。

第一本《Axure RP 6 Prototyping Essentialsamazon评分很不错,绝大多数5分。这不仅仅是Axure的工具书,更宣扬了一种理念——原型的重要性。这和《启示录》倒是一脉相承。

中文名还在思考,也许是《原型崛起:Axure PR 6辅助决策、吸引客户》,原型崛起,做主标题,点名了这不只是一本教axure的工具书,而是一种理念——产品原型很重要,有了这个理念之后,副标题再点出axure,重点在它能给你带来的好处,而不是“设计精要”这种书店参考书式的大路货文案。或者干脆一点《原型崛起:Axure PR 6》。

预计半年左右,给大家献上。

第二本《Leading and Managing in Silicon Valley,中文名拟叫《硅谷程序员经验实录》,有点土啊。还在找译者、审校者,有兴趣的直接联系@七印部落

附:协作翻译的平台为Google文档,请各位朋友自备翻墙工具。随手附送一个翻墙参考工具豌豆荚VPNwww.vpnzx.info

本书是硅谷工程副总裁、程序员主管、CTO合著,作者总计逾400工龄,总结出一套高技术产业中程序员的成功秘笈。从找工作到做项目;从菜鸟到晋升,现实的程序员之路绝不会是坦途,你可能遇到前所未有的挑战与挫败。所幸的是,你可能遇到的每个问题都可以在书中找到参考意见。

作者都是硅谷VPE/CTO高峰社区(COP)成员,都是硅谷企业中的程序员,脚踏实地一步步取得今天的成绩。典型的极客作品,认真、严谨,绝无粉饰。

适宜人群:

程序员、技术人员,渴望走向技术金字塔顶的人。希望成为VPEVP of engineering/CTOIT从业人群、计算机系学生等。

Over

【8026】如何与异地的开发人员沟通

本文节选自《启示录:打造用户喜爱的产品》一书和作者的博客,并发表在《程序员》杂志1105期,作者Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。译文由七印部落出品,原文太长,这篇是第三部分,也是最后一坨了。除了讲述“如何与异地的开发人员沟通”,还讲了当“程序员想重写代码”时,我们应该怎么办。

如何与异地的开发人员沟通?

如今产品经理与开发团队各处一方的情况很常见。除了印度软件外包业务,大型公司的分支机构之间,以及公司与被收购的子公司之间,都可能出现这种情况。

如果开发团队不在你身边,沟通和执行的难度将进一步放大。异地开发出现的问题常常导致团队士气低落,有人甚至公开质疑异地开发能否真正节约成本。

提高与异地开发团队之间的沟通效率,我有三条建议。

  • 开发团队距离越远,语言、文化、时差带来的沟通难度越大,确定完善的产品说明文档就越重要。如果产品经理不确定开发什么样的产品(或者反复改变想法),异地开发团队只能疲于奔命,白费力气。这简直就是一场灾难,丝毫不亚于医生开错方子。如果你与开发团队相隔很远,无论是沟通产品文档的内容,还是讨论修改产品设计,一定要借助高保真原型进行交流。阅读文档毕竟不轻松,如果文档是非母语的,或者阐述不清楚,那沟通效率就更低了。
  • 本地的开发团队很容易发现和解决各种冲突(比如,两个管理者给出相互抵触的指导意见)。异地开发团队则会发生很多意想不到的情况,往往过了好几个月才发现问题。这是因为异地开发人员不得不揣摩各种不同的意见(但经常揣摩错)。因此,必须有人在本地负责与异地团队的协调工作。这并不是说所有沟通工作都必须经过此人,而是应该明确异地开发团队只接受他的命令。这项工作可以由本地的项目经理、资深开发人员或者其他主管担任。
  • 如今商业沟通手段很丰富,除了电子邮件和即时消息外,还有视频会议可供选择,此外,语音电话业务(VoIP)大大降低了国际长途通话费用支出。尽管如此,当面交流的优势依然不可替代。每个季度,产品经理至少应该前往异地与开发团队见一次面,与软件架构师、管理者当面交流。面对面交流有助于改善(合作)关系,提高沟通效率。此外,交换人员也是一种有效的沟通方式,可以让主程序员来本地与产品经理共同工作一段时间,或者让产品经理到异地工作一段时间。

按照我介绍的方法与优秀的开发团队合作是一种特别的享受。如果是与印度外包团队合作,那么由于时差的原因这种合作会让人觉得更加惬意。每天早晨上班时,对方的项目进展已经摆在面前。你可以用白天(对方的夜晚)检查、测试代码,反馈信息,显著缩短项目的循环周期。

请注意,如果是在异地开展与产品原型相关的工作,由于循环周期非常短(一天迭代好几次),你必须随时准备处理对方的问题,投入更多的精力。

解决异地开发问题的另一种方式是在异地聘请产品团队。这种趋势正在兴起,我相信这种模式会被更多的公司采用。你大可不必为此担心。我们曾经用了10年时间在异地培养专业的开发和测试人员,培养专业的产品经理和设计人员很可能还要再花10年时间。

程序员想重写代码?

产品经理最担心听到开发人员这样抱怨:不能再增加功能了!我们得停下来重写代码。代码库一团糟,就像纸糊的老虎,根本应付不了持续增加的用户。我们维护不下去了!

这一幕在很多公司上演过,现在依然在不断重演。1999eBay遭遇这一幕时,公司濒临崩溃的情形超出所有人想象。Friendster几年前也 发生过这种情况,当时他们正在向MySpace开放社交网络用户。网景与微软展开浏览器大战时,也发生过类似的事情,最后的结果大家都知道。事实上,没几家公司能渡过难关。

一旦公司陷入这种困境,开发团队往往沦为替罪羊。经验告诉我,这类问题通常是由产品管理失误引发的。因为产品经理一直迫使开发团队满负荷工作,开发 尽可能多的功能。所有软件架构都存在功能极限,如果忽视产品的基础技术构架,一旦系统越过崩溃的临界点,就会造成无法挽回的结果。

在重写代码的过程中,用户无法看到产品的任何改进。你可能认为重写代码至多也就几个月,但是实际花费的时间无一例外要多得多。你只能坐在一旁,眼睁睁看着用户投奔竞争对手,而这个时候,竞争对手恰恰在不断地改进产品。

如果你还没有遇到这样的情形,未雨绸缪很有必要——你需要预留一定的研发技术能力,在eBay被称为余量(headroom)。很多因产品迅速膨胀产生的问题都与扩展规模有关,余量意味着避免触及技术能力的上限,为用户数量的增长预留空间,为事务增长预留空间,为新增功能预留空间,保证产品的基础技 术构架能够满足团队的要求。

与开发团队合作应该遵循以下原则:在产品管理上为开发团队预留20%的自主时间,让他们自由支配。开发团队可以利用这些时间重写代码、完善架构、重构代码库中有缺陷的部分,或者更换数据库管理系统,提高系统性能,避免我们需要停下来重写代码的情形发生。

如果你的糟糕处境已经初现端倪,应该拿出至少20%的资源进行调整,而我担心有些团队连20%都不愿意拿出来。如果你已经身陷重写的困境,说明公司危在旦夕,这里给出一点建议供你参考。

第一步,针对开发团队确定的产品修改目标并制订切实可行的计划和时间表。通常,有经验的开发团队估计的开发时间八九不离十,但是重写代码是个例外,因为多数团队都没有重写代码的实际经验,估计往往过于乐观。你必须审时度势,仔细检查每处细节,确保计划切实可行。

第二步,只要有可能,最好把重写目标分成几大块,实现递增修改,让用户感受到产品的改进,哪怕会因此把9个月的工作时间延长至2年,也一定要采用这种方式。重写代码时,保证让用户看到功能的改进——即使会占用少则25%,多则50%的开发资源——对保持产品(尤其是互联网产品)的市场占有率至关重要。

第三步,由于开发用户可见功能的资源有限,必须谨慎选择正确的产品特性,并确保产品定义的正确性。

eBay起死回生后,我们发誓绝不重蹈覆辙,马上开始新一轮的代码重写,把危机甩在身后。事实上,由于发展迅速,eBay已经重写了三次代码,最后一次采用了完全不同的编程语言和架构。开发团队花了几年时间,大规模地改写了几百万行代码,同时在不影响用户群的情况下,开发了大量新功能。这是我知道的最惊心动魄的中途重建网站的故事。

临渴掘井不如未雨绸缪,为防患于未然,别忘了预留20%的余量。如果你从未与开发团队谈过这件事,今天就去找他们吧。

《黑客与画家》读书笔记

黑客与画家是硅谷创业之父,Y Combinator创始人Paul Graham的文集。之所以叫这个书名,是因为作者认为黑客(并非负面的那个意思)与画家有着极大的相似性,他们都是在创造,而不是完成某个任务。

为什么要看这本书?逻辑如下:未来的人类生活不仅是人与人的互动,而是越来越多的与计算机互动,所以必须理解计算机,其关键就是理解计算机背后的人,即设计计算机的人——程序员,而最伟大的程序员就是黑客。

摘录一些作者的观点:

运营创业公司,每天都像在战斗;而为大公司工作,就像在窒息中挣扎。

创业公式:搭建原型à上线运营(别管Bugà收集反馈à调整产品à成长壮大,很自然的,和做产品的思路是一致的。

为什么书呆子(特别是中学时代)不受欢迎?书呆子毫无疑问想让自己受欢迎,但是他们更愿意让自己聪明,时间资源是有限的。他们不适应环境,是因为提前开始思考真实世界更看重的东西,不愿把时间用来玩一种毫无意义的游戏。

为什么欺负书呆子?一个人在产生良知之前,折磨别人可作为一种娱乐。在任何社会等级制度中,那些对自己没有自信的人就会通过虐待他们眼中的下等人来突显自己的身份。中间层需要找一件事情一起干,他们其实并不恨书呆子,他们只是需要一个共同的目标把自己团结起来,而书呆子是一个可供欺负的安全目标。在封闭的环境中更容易出现这种现象。

成年人在真实世界中的团体,一般来说,都存在某个共同目标。那么领导者通常可以由最善于实现此目标的人承担,而学校里的学生并没有共同目标,但等级关系却不会消失,所以学生们的等级是凭空创造出来的。

科研与实战的区别,科研要新,实战要“有用”,写过博士论文的人都知道,确保自己正在开垦新领地的方法,就是去找那些没人要的土地。推论,所以基本没用。

面试程序员的时候,主要关注的事情就是业余时间他们写了什么软件。因为如果你不爱一件事,就不可能把它做得真正优秀,要是你狠热爱编程,你就不可避免地会开发自己的项目。(我想,面试产品经理也可以用类似的办法,问他业余时间解决了什么问题)

生产特别优秀的产品不是大公司的获胜手段,如果一家公司达到需要由一群产品经理来设计软件,而不是程序员,那么他就已经做不出最优秀的产品了,所谓知行合一,天下无敌。

黑客的出发点是原创,最终得到一个优美的结果;科学家的出发点是别人优美的结果,最终得到原创性。

我们这个时代是否有所不同?只要读过一点历史,你就知道答案是“没有不同”。即使有那么一丝微小的可能,有史以来第一次,我们这个时代的所有信念都是正确的,那也是出于惊人的巧合,而不是因为我们真找到了正确的方向。

自问一个问题:大庭广众之下,你有没有什么观点不愿说出口?如果回答是没有,那么你也许应该停下来想一想了。你的每一个观点都能毫不犹豫地说出口,你自己深深赞同这些观点,并且你也确信肯定会获得别人的赞同,这是否太过于巧合了?一种可能是,也许事情并没有这么巧合,你的观点就是从别人那里听来的,别人告诉你什么,你就相信了什么,你把别人灌输的观点当作了自己的观点。

到底什么话是不能说的?我们可以假设周围人因为说什么而陷入了麻烦。你会发现需要满足两个条件:第一,这些话不能说出口;第二,这句话看起来可能是正确的,值得进一步讨论。第二个条件很关键,因为你说2+2=5是不会有麻烦的。

自由思考比畅所欲言更重要,在心里无所不想,但是不一定要说出来。或者找几个知己,与他们无所不谈,能够一起谈论“异端邪说”并且不会因此气急败坏的人,是最应该认识的朋友。

狂热分子都有一个共同点——缺乏幽默感。

公民自由是国家富强的原因,而不是结果。随着对公民自由的限制不断上升,政府的力量会先增加后减小。

公司内部所有不直接感受到竞争压力的部门和人,都应该外包出去。

金钱与财富不同,财富是目的,金钱是手段,是财富的一种简便的表达方式。社会的财富总值是个变量,目前看起来是逐步增加的。贫富差距的扩大是好是坏,要看是什么造成了差距,如果是通过财富的转移,那么是坏事,如果是通过创造新财富,那么是好事。

如果一家公司能够按照贡献付薪,它将取得巨大成功,小公司更适合。

要更好的创造财富,你做的事情需要两点保证:可测量性,可放大性。硅谷的诀窍,可测量性来自小团队,可放大性来自开发新技术。

我们应该让自己的贡献更直接,如果你觉得自己是为公司的需要而工作,而感受不到你是为了满足顾客的某种需求而工作,就不是一个好信号。

政府禁止个人积累财富,本质上就是在命令人民减慢工作速度。强大起来的社会,都允许创造财富(注意不是通过转移获得财富)的人保住自己的财富。

随着技术的发展,每一代人都在做上一代人觉得很浪费的事情。

浪费程序员的时间,而不是机器的时间,才是真正的无效率。随着计算机速度越来越快,这会越来越明显,所以,现在被认为缺点是运行速度慢的语言,将来会有更大的发展空间,毕竟从哲学角度上讲,它的慢必然伴随着其他方面的优势。

人们真正注意到你的时候,不是第一眼看到你站在那里,而是发现过了这么久你居然还在那里。

画作永远没有完工的一天,你只是不再画下去而已。

Over,推荐大家看一看,给个豆瓣链接