﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-jalor--架构师之路</title><link>http://www.blogjava.net/jalor/</link><description>先做一个优秀的程序员，再做一名优秀架构师（学习方法、项目管理、团队管理、业界资讯）</description><language>zh-cn</language><lastBuildDate>Fri, 01 May 2026 22:02:52 GMT</lastBuildDate><pubDate>Fri, 01 May 2026 22:02:52 GMT</pubDate><ttl>60</ttl><item><title>中国云计算调查：无核心技术</title><link>http://www.blogjava.net/jalor/articles/311612.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Tue, 02 Feb 2010 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311612.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311612.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311612.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311612.html</trackback:ping><description><![CDATA[<div>
<p>&#8220;<a href="http://www.oschina.net/project/search?q=%E4%BA%91%E8%AE%A1%E7%AE%97">云计算</a>&#8221;，这个让很多人感到云里雾里的新名词正在成为自&#8220;物联网&#8221;之后资本市场最受瞩目的炒作主题。</p>
<p>1月份有关云计算的消息频出。22日，业界权威的ICT研究机构计世资讯(CCW
Research)联合业内50余家知名的云计算概念厂商，共同发布了&#8220;促进中国SaaS与云计算健康发展&#8221;倡议书，认为云计算是我国IT产业引领全球创
新、发展软件与服务业的重大机遇，也将成为推动我国信息化普及的主流模式。</p>
<p>会上成立了&#8220;云集&#8221;计世资讯曹开彬、中国联通康楠、浪潮集团李凯、网动Live  UC朱云等60多名业内知名专家的第三届&#8220;中国SaaS与云计算专家顾问团&#8221;。</p>
<p>一波&#8220;云旋风&#8221;顷刻刮来，但掀起的狂沙也模糊了人们的视线。中国的云计算到底存在多少价值？机构热炒&#8220;云计算&#8221;，忽悠的成分又有多少？</p>
<p><strong>走中国特色&#8220;云计算&#8221;道路：只有联想与浪潮在做</strong></p>
<p>从学术上来说，云计算仅意味着云计算基础构架这一核心技术，但资本市场上所谓的云计算，事实上是一个广义的云计算应用概念。即只要通过借用云计 算技术，来达到云计算效果的一切应用领域，都可以戴上云计算概念这顶帽子。</p>
<p>理财周报记者日前对话上海著名高校一计算机系云计算研究领域教授，他向记者表示，中国目前在学术领域研究云计算的高校和机构有很多，像华师大、 交大和中科院都有。但说真正运用到商业的，恐怕只有浪潮集团和联想集团。</p>
<p>在联想和浪潮之间，联想目前处于领头。但即使是中国最好的联想，其云计算研究成果也只是在学习国外的先进技术之后做的一些改进，而没有真正的自 主创新。</p>
<p>&#8220;国内在这个领域的差距和国外太大了。&#8221;他解释说，&#8220;Google是全球做云计算的先锋，百度现在提出框计算概念来和Google相抗衡。但事 实上这两者在搭建框架上的差异是，Google已经把房子都建好了，百度还没有开始搭。&#8221;</p>
<p>既然中国没有核心云计算技术，那中国的云计算发展遵循的是什么道路呢？</p>
<p>&#8220;所谓中国特色的云计算道路，就是一家本身拥有庞大用户群的企业，借助一些云计算的技术，或者只是把以前的技术包装一下，达到云计算的效果，然 后发展一系列服务，把它作为一个云计算概念来炒作。&#8221;</p>
<p>记者调查发现，浪潮集团下有两家上市公司浪潮软件(600756.SH)和浪潮信息(000977.SZ)，而真正在做核心服务器的其实只有浪 潮信息一家。</p>
<p>湘财证券研究员李元博向记者透露，浪潮信息自2007年四季度以来，已经累积销售4路服务器1万台，并计划向8路服务器进军。1月14日，浪潮
集团高级副总裁袁谊生在北京举行的媒体沟通会上表示，今年浪潮在云计算方面有两方面动作，第一是要自主研发服务器和存储设备，第二是与VMware等云计
算软件技术供应商联手开发，着重于解决云计算的安全问题。</p>
<p>受云计算概念炒作，浪潮信息从年初开始，股价一路飙升，从1月4日的10元，一度上涨到1月14日时的最高价15.28元，涨幅超过50%。</p>
<p><strong>会下雨的&#8220;云&#8221;</strong></p>
<p>可以看出，云计算的炒作有两个核心：第一，在中国，能从云计算中获益的公司，用户群越大的越受益；第二，中国发展云计算，核心技术的比拼根本不 存在，拼得只是包装能力。</p>
<p>似乎可以预见的是，在中国，服务提供商将是云计算产业链中最大的获益者。</p>
<p>太平洋证券研究员于英仪表示，&#8220;因为对于云计算的构架，每个公司提供的版本不同，服务商最终选择哪一家不能确定，所以他们的获利不是那么直观。 但是服务提供商的获利却是很直接的。&#8221;</p>
<p>于英仪认为可以长期关注那些以云计算提供在线服务的小企业，比如神州泰岳(300002.SZ)。神州泰岳的主营业务——中国移动飞信就是一项
云计算服务，这也是神州泰岳被归类为云计算概念股的原因。&#8220;因为大公司开发一个新业务，收益占比很小，但对小公司来说，对利润的贡献却是巨大的。&#8221;</p>
<p>但是，整个漫长的云计算产业链中，&#8220;硬件获益还是先于软件的。&#8221;中银国际分析师查一亮这样告诉记者。</p>
<p>&#8220;云计算带来的机会，并不是开发新一代的计算机，也不是服务器的数量有爆发式的增长，而是在整个连接方式上的转变。&#8221;深圳华为技术有限公司战略 部刘南杰也这样认为，云计算发展过程，最先受益的肯定是硬件生产商，他进一步向记者解释说，&#8220;服务器和存储器生产商最先受益。&#8221;</p>
<p>&#8220;但云计算时代，硬件方面的变化不大。&#8221;华东师范大学计算机系研究云计算领域的一位教授也向记者透露。&#8220;主要的突破是在软件方面，整个平台的架
构是最有挑战的。&#8221;这也同时意味着尽管硬件会先从云计算中获益，但不会带来爆发式的增长。&#8220;软件企业方面的增值是最大的，远远要大于硬件制造商。&#8221;</p>
<p><strong>&#8220;云&#8221;绯闻考察</strong></p>
<p>目前中国的云计算服务，包括基础设施、平台、基础软件、应用软件四大类。其中基础设施如前所述有浪潮信息与联想，以及方正科技
(600601.SH)；提供搭建平台服务的公司中，鹏博士(600804.SH)与网宿科技(300017.SZ)受益较为明显；东软集团
(600718.SH)与中国软件(600536.SH)则是提供基础软件的翘楚；应用软件当面，用友、金蝶、焦点科技是主力，但用友软件
(600588.SH)真正的收益还要等待前面3大步骤的完成。对于前端的耗时，大概5、6年。</p>
<p>至于最终的用户端炒得比较热的就是三家移动通信公司，包括中国移动的&#8220;大云&#8221;系统，联通的&#8220;互联云&#8221;系统，以及电信紧跟着推出的&#8220;e云&#8221;系统。</p>
<p>中国移动通信研究院业务支撑所副所长孙少陵曾公开表示，中国移动的&#8220;大云&#8221;项目是利用开源Hadoop系统搭建云计算研究环境。预计中移动不久 将会把实验室云计算平台扩容到1024个节点，并计划在今年发布大云1.0版本。</p>
<p>其余运营商紧随其后，中国电信的&#8220;e云&#8221;是和EMC携手推出；中国联通的&#8220;互联云&#8221;项目，计划打造成一个集成了硬件、软件、网络、应用和服务的 综合性平台。</p>
<p>但据理财周报记者从某中央职能部门权威人士处了解到的信息，三家电信的&#8220;云计划&#8221;基本上都是举大旗，在5到6年内不可能投入到实际应用。&#8220;他们 自己3G和TD都已经来不及应付了，哪还有工夫去做云计算。&#8221;该权威人士说到。</p>
<p>除了移动通信领域外，办公领域涉及到&#8220;云计算&#8221;的典型是清华同方最近推出的&#8220;云终端&#8221;项目。清华同方旗下有上市公司同方股份
(600100.SH)，但与之关联不大。该项目是通过用一台&#8220;云终端&#8221;代替几十台呼叫中心的PC，来实现节约投入成本和维护成本的目的。但某高校计算机
系教授表示，这个&#8220;云终端&#8221;事实上只是&#8220;新瓶装旧酒&#8221;而已。</p>
<br />
转自：http://www.oschina.net/news/7080/no-kernel-tech-in-cloud
</div>
<img src ="http://www.blogjava.net/jalor/aggbug/311612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-02-02 09:45 <a href="http://www.blogjava.net/jalor/articles/311612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2010趋势：6大可期待的企业级技术走势</title><link>http://www.blogjava.net/jalor/articles/311609.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Tue, 02 Feb 2010 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311609.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311609.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311609.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311609.html</trackback:ping><description><![CDATA[<p>过去几年里大多数企业技术人员都会从规划，构建，
文档，研发和配置上的努力工作中获得持续性回报。企业技术人员在面向服务体系结构被过分扩大之前很早就在构建面向服务架构。而且就笔者所知，曾几何时大多
数企业技术人员在云计算成为主宰热点，会议和科技博客的热点话题之前就在调查可扩展弹性云计算能力的架构和可行性。迄今为止，企业所付出的辛勤工作和取得
的进步将在2010年得到更加积极的改善。</p>
<p>不过还有一些其他缓和因素有待时间的检验。立即映入我们脑海的就是减少预算的实际压力和不断增长的安全挑战。</p>
<p>那么到2010年结束时我们的评价会是什么呢？这里面存在着很多变数，但从理论上来说，影响技术成果最大的决定性因素是IT企业的领导者。你的决定将会对你如何完成使命产生重大的影响。</p>
<p>为了帮助企业用户做出决策，我们对席卷整个IT业界的大趋势进行了追踪。以下是我们认为与企业首席技术官和首席信息官息息相关的六个方面，它们是：</p>
<p><strong>1：统一通信实现融合和用户权限的发展趋势</strong></p>
<p>消费化及其对IT发展的影响一直是过去五年的发展趋势，而且也没有任何放慢的迹象。全球各地的IT企业都在受到这个趋势的影响，资讯科技发展的
重点正在逐渐从政府或企业向消费者群体转移。好消息是企业员工正日益成为精通技术力量的强势用户，在挖掘企业IT力量方面有着快速的钻研能力。而坏消息是
由于企业用户对多数家庭都不关心的安全和法规（以及预算）方面有着特殊的关注，导致很多企业用户对企业IT部门将能够为他们提供的服务经常抱有不切实际
的，或者过高的期望。这种趋势的另一个重要影响是：大多数企业用户都非常习惯使用社会媒体，这也使得企业用户可以在很多问题的解决方案上进行协作。</p>
<p>消费者也是IT行业认知能力增长的一个重要原因，其中许多都可以用在企业解决方案中。。</p>
<p>个体企业用户也是T部门必须关注信息挖掘功能而不是采用过时的信息搜索工具的原因。用户需要这些以及其他生产领域的进步。</p>
<p><strong>2：美国继续保持科技优势</strong></p>
<p>事实上，美国股民所拥IT价值有的和美国公民运营占世界大多数的IT公司都应该让我们感到自豪。美国式的教育理念和竞争模式造就了目前占据IT
领域主导地位的企业航母（见CTOvision.com罗列的技术企业巨头名单）。对于那些特别关注国家安全的企业来说，这个因素能帮助企业对可能造成
IT供应链安全隐患的攻击进行评估。还有一点也很重要，这些企业的领导者和他们的公司总部与联邦政府和企业IT高管间的互动都非常开放。在笔者所见过的每
一次互动中，他们都会对得到政府IT部门支持的项目表示赞赏和欢迎。这些知名企业的可用性和亲近性都是联邦政府企业应该加以学习和利用的。</p>
<p><strong>3：越来越多的软件和硬件实现开放式研发</strong></p>
<p>包括制造专有软件和硬件的行业巨头在内的所有大型IT企业如今都在推动开源的发展。即使连微软公司都制定了适用于某些微软产品的开</p>
<p>源战略。开源社区一直在从大型企业的专业技术人才处汲取营养，帮助他们制造和进一步完善Linux代码（红帽的多个版本都得到开源社区的支
持），OpenOffice和其他许多开源解决方案也是如此。我们可以期待专有软件在未来成为功能最齐全的软件（出于很多市场原因），但即使是这样专有软
件也可以和开源和睦共处。对于企业用户的好处就是可以有更为广泛的解决方案选择，在许多情况下开源软件可以帮助用户获得更快，更安全且成本更低的解决方
案。我们也希望所有的联邦企业都能找到可以在软件开发项目上加强内部合作的方法，Forge.mil的协作开发能力就是例证。</p>
<p><strong>4：云计算和大规模采集/数据分析</strong></p>
<p>经过多年来在规划和设计上辛勤耕耘，企业技术专家年终于开始见证私有云概念的优势所在了，公有云所具备的可扩展性和资源弹性访问的特性如今已经
可以用在更加安全的企业基础架构上。IT行业中的云计算趋势会大大提升产品互操作能力并改进私人云的安全性，可靠性和性能。私人云也可以为大规模数据的持
续性采集和分析提供强有力支持，帮助企业完成关键任务，这种方式还能使灾难备份和恢复更加容易规划和实现。</p>
<p><strong>5：绿色IT和工作任务有效性的支持</strong></p>
<p>绿色IT的运动最早开始时，是认为这是在做正确的事，因为政府和行业自身逐渐意识到个人电脑和显示器应该用更加节能的方式制造。或许在这方面最
引人注目的行动就是能源之星，这是一项由政府支持的计划，旨在帮助企业和个人节约能源。还有许多其他的绿色行动也呈逐年增多态势，其中包括一项行政命令就
是要求所有联邦政府的IT部门都要支持并执行严格的绿色IT新规。能源的成本同样也在不断攀升。随着企业用户寻找各种方法来节约用电，他们也在考虑压缩差
旅预算和派人到遥远地方开会的费用，这也催生了企业用户对远程协作的更多功能性需求。能效是推动远程办公的另一个主要因素，迫使IT部门要保证任何一个地
方的员工都可以安全的访问企业云。</p>
<p><strong>6：技术研发和改进的步伐加快</strong></p>
<p>联邦企业的首席信息官们都是非常繁忙的。他们不仅要为企业提供标准和指导，还必须不断地跟踪发生在各种规模的IT企业内的变化。他们没有足够的
时间来做到这一点，不过所有的迹象表明科技进步的速度正在不断加快。所有企业的技术人员都应该考虑符合企业机制的技术，了解和评估他们可能会感兴趣的技
术。笔者的希望是你可以从我的博客上和我一起跟踪包括这六个方面在内的大趋势。我们也会列出不同规模的公司任务执行的有效性的成果，以便为那些时刻需要了
解业界最新动态的企业技术人员提前提供警报。</p>
<p>这些趋势都相互关联，了解这些趋势应该能帮助用户进行流程的规划。这些趋势加快绿色IT，虚拟化系统，社会媒体，协作工具和以用户为重点的新设
备进入企业的速度。这些趋势还呼吁与用户进行更加直接的对话，因为这些能力中的许多都可以转变为工作方式。这些趋势激发来自各个企业的技术人员继续进行新
的探索。这种需求可能永远都不会停止。</p>
<br />
转自：http://www.oschina.net/news/7079
<img src ="http://www.blogjava.net/jalor/aggbug/311609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-02-02 09:38 <a href="http://www.blogjava.net/jalor/articles/311609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>应该如何正确对待员工的抱怨（转）</title><link>http://www.blogjava.net/jalor/articles/311407.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 11:06:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311407.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311407.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311407.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311407.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311407.html</trackback:ping><description><![CDATA[<p> 在上一家公司的时候，一次新员工培训的主题是员工的工作态度。当时有一个案例：有两个员工，能力不相上下，都合格的完成了工作任务，其中一个员工完成任务的同时中总是抱怨，发牢骚。案例的问题是&#8220;给这两个员工进行绩效考评，一个是A，一个是B，你会怎么评？&#8221;。</p>
<p> 我记得当时我们都豪不犹豫的把总是抱怨的员工评了B，理由是抱怨对团队氛围和工作效率的危害很大。</p>
<p> 现在想来当初的这个判断很草率，不够深刻。</p>
<p><strong>管理者如何正确对待员工的抱怨？</strong>
</p>
<p>
首先应该对员工的抱怨足够重视。其一是抱怨对团队的危害性。其二，可以把员工的抱怨理解成客户的抱怨。余世维在一个讲座中提到，&#8220;会抱怨的客户是好客
户&#8221;，因为客户的抱怨有助于提升公司的产品和服务。员工从一定意义上来说就是管理者的客户，管理者要提供&#8220;服务&#8221;来提高客户的工作效率。既然客户的抱怨有
助于提升公司的产品和服务，那么员工的抱怨是否就有助于发现公司流程、制度的缺陷，提升公司的管理水平？其三，管理者的首要任务是发现问题，既然有员工抱
怨，那么不是公司管理出现了问题，就是员工出现了问题，很多时候往往是两者都出现了问题。管理者决不能放过这个发现问题的机会。</p>
<p>
其次，合理的重视员工的抱怨。对员工抱怨的重视不能简单的体现在绩效考核上——用绩效考核的大棒把员工的抱怨打下去。这样做的结果往往是不是员工不抱怨
了，而是在你看不见、听不到的地方，或者心理抱怨。最终的后果是，&#8220;防人之口，甚于防川&#8221;，日积月累的抱怨会以一种更具有破坏性的形式发泄出来。</p>
<p><strong> 管理者在获知员工的抱怨后应该采取什么样的行动？</strong>
</p>
<p> 首先是调整好心态和员工开诚布公的沟通。应该以一种平和的（而不是先入为主的）心态和员工进行平等对话，深入的了解员工抱怨的真实原因。为了让员工能够没有任何心理包袱，这样的谈话不要作为绩效考核的依据（一个具有开放讨论的组织文化的团队是不存在这个问题的）。</p>
<p> 其次，找到问题的根源，和员工一起制定一个行动方案。如果是公司的流程、制度或管理出现了问题，管理者则要认真的分析，提出一个解决方案，以此来提升管理水平；如果是员工个人的问题，管理者就应该明确的告诉员工你的期望，目标，以促使员工的态度得到提升。</p>
<p>
最后，告诉员工，你有（比抱怨）更好的选择。如果你对周围的环境感觉不舒服，那就1）找出到底是什么让你感觉不舒服？（what）2）为什么会让你感觉不
舒服（why）？它有什么不合理的地方？3）怎么样能让它更加的合理（how）？4）应该在什么时间（when）、由什么人（who）来采取行动？最后，
不要忘了把你的思考结果告诉给你的上司，并积极的参与到这项改善的行动中来。我把这种思维方式称为管理者的思维方式。当然，如果你用这种方式来思考问题，
那你就离管理者的角色不远了。</p>
<p> 在双方都采取行动后，如果还是不能接受对方，那么矛盾有可能是不可调和的，比如说性格和企业文化的冲突。此时勉强维护双方的关系对谁的都不好，最好的解决方案是放弃这种劳动关系。</p>
<p> 管理者能够&#8220;看到&#8221;的抱怨往往只是冰山一角。如果更加深入的了解员工的想法，是一个值得深入探讨的问题。鼓励员工真实的表达自己的想法，培养一种开放讨论的组织文化，消除员工坦露内心世界的制度障碍，或许会对此有些帮助。</p>
<p> 如果说上面的做法一种守势的思维方式，我们也可以换一种攻势的思维方式：<strong>积极的引导你的团队成员，以管理者的思维方式来思考问题。</strong>
这样你的团队将会获得一个良好的自我诊断和自我修复能力。我认为，良好的自我诊断和自我修复能力是卓越团队的本质特征之一。</p>
<p><strong> 总之，治理员工的抱怨，和治水其实是一个道理，重在疏导。只要措施得当，我们绝对可以化弊为利。</strong>
</p>
<br />
转自：常高伟博客<br />
原文地址：http://blog.csdn.net/chgaowei/archive/2010/01/07/5153655.aspx
<img src ="http://www.blogjava.net/jalor/aggbug/311407.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 19:06 <a href="http://www.blogjava.net/jalor/articles/311407.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员的喝酒文化(转) </title><link>http://www.blogjava.net/jalor/articles/311405.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 10:47:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311405.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311405.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311405.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311405.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311405.html</trackback:ping><description><![CDATA[网上看到的，觉得太有意思了，作者真有才，哈哈～
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: medium;">大家喝的是啤酒。这时你入座了。 <br />
你给自己倒了杯可乐，这叫低配置。 <br />
你给自己倒了杯啤酒，这叫标准配置。 <br />
你给自己倒了杯茶水，这茶的颜色还跟啤酒一样，这叫木马。 <br />
你给自己倒了杯可乐，还滴了几滴醋，不仅颜色跟啤酒一样，而且不冒热气还有泡泡，这叫超级木马。 <br />
你的同事给你倒了杯白酒，这叫推荐配置。 <br />
人到齐了，酒席开始了。 <br />
你先一个人喝了一小口，这叫单元测试。 <br />
你跟旁边的人说哥们咱们随意，这叫交叉测试。 <br />
但是他说不行，这杯要干了，这叫压力测试。 <br />
于是你说那就大家一起来吧，这叫内部测试。 <br />
这个时候boss向全场举杯了，这叫集成测试。 <br />
菜过三巡，你就不跟他们客气了。 <br />
你向对面的人敬酒，这叫p2p. <br />
你向对面的人敬酒，他回敬你，你又再敬他&#8230;&#8230;，这叫tcp. <br />
你向一桌人挨个敬酒，这叫令牌环。 <br />
你说只要是兄弟就干了这杯，这叫广播。 <br />
可是你的女上司听了不高兴了：只有兄弟么，罚酒三杯。这叫炸弹。 <br />
可是你的女下属听了不高兴了：我喝一口，你喝一杯，这叫恶意攻击。 <br />
有一个人过来向这桌敬酒，你说不行你先过了我这关，这叫防火墙。 <br />
你的小弟们过来敬你酒，这叫一对多。 <br />
你是boss，所有人过来敬你酒，这叫服务器。 <br />
酒是一样的，可是喝法是不同的。 <br />
你喝了一杯，boss喝了一口，这叫c#。 <br />
你喝了一杯，mm喝了一口，这叫vb。 <br />
你喝了一杯，你大哥喝了半杯，这叫c++。 <br />
你喝了半杯，你小弟喝了一杯，这叫汇编。 <br />
你喝了一杯，你的搭档也喝了一杯，这叫c。 <br />
酒是一样的，可是喝酒的人是不同的。 <br />
你越喝脸越红，这叫资源释放。 <br />
你越喝脸越白，这叫资源独占。 <br />
你已经醉了，却说我还能喝，叫做虚拟内存。 <br />
你明明能喝，却说我已经醉了，叫做资源保留。 <br />
你喝一段时间就上厕所，这叫cache。 <br />
酒过三巡，你也该活动活动了。 <br />
你一桌一桌的走，这叫轮巡。 <br />
你突然看到某一桌的漂亮mm，走了过去，这叫激活事件。 <br />
你去了坐下来就不打算走了，这叫死循环。 <br />
你的老大举杯邀你过去，你只好过去，这叫优先级。 <br />
你向一桌敬酒，他们说不行不行我们都喝白的，于是你也喝白的，这叫本地化。 <br />
你向boss敬酒，可是boss被围了起来，你只能站在外圈，这叫队列。 <br />
你终于到了内圈，小心翼翼的向前一步，这叫访问临界区。 <br />
你拍着boss的肩膀说哥们咱们喝一杯，这叫越界。 <br />
你不知喝了几圈了，只会说两个字，干了，这叫udp。 <br />
可是还有人拿着酒瓶跑过来说，刚才都没跟你喝，这叫丢包。 <br />
喝酒喝到最后的结果都一样 <br />
你突然跑向厕所，这叫捕获异常错误。 <br />
你在厕所吐了，反而觉得状态不错，这叫释放内存。 <br />
你在台面上吐了，觉得很惭愧，这叫时实错误。 <br />
你在boss面前吐了，觉得很害怕，这叫灾难性错误。 <br />
你吐到了boss身上，只能索性晕倒了，这叫Shut Down。 </span></p>
<img src ="http://www.blogjava.net/jalor/aggbug/311405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 18:47 <a href="http://www.blogjava.net/jalor/articles/311405.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用户界面设计10原则</title><link>http://www.blogjava.net/jalor/articles/311404.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 10:42:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311404.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311404.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311404.html</trackback:ping><description><![CDATA[<script type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + ""r"n"n本文来自CSDN博客，转载请标明出处：" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}
</script>
<script type="text/javascript">                        function StorePage() { d = document; t = d.selection ? (d.selection.type != 'None' ? d.selection.createRange().text : '') : (d.getSelection ? d.getSelection() : ''); void (keyit = window.open('http://www.365key.com/storeit.aspx?t=' + escape(d.title) + '&u=' + escape(d.location.href) + '&c=' + escape(t), 'keyit', 'scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }</script>
<div id="notice" style="border: 1px solid #8dab4a; margin: 0pt; padding: 10px; background: #e8ffb2 none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; font-size: 12px; text-indent: 0pt;">
原文标题：10 User Interface Design Fundamentals
<br />
原文地址：<a title="http://carsonified.com/blog/design/10-user-interface-design-fundamentals/" href="http://carsonified.com/blog/design/10-user-interface-design-fundamentals/">http://carsonified.com/blog/design/10-user-interface-design-fundamentals/</a>
<br />
作者：<a href="http://carsonified.com/blog/author/kylesollenberger/">Kyle Sollenberger</a> 版权所有
<br />
翻译：UCDChina翻译小组，Roc
<br />
译文地址：<a href="http://www.liquidroc.name/post/10-user-interface-design-fundamentals.html">http://www.liquidroc.name/post/10-user-interface-design-fundamentals.html</a>
</div>
<p>设计真正伟大的用户界面没有什么伟大的奥秘可言，做到保持简单易用就可以。</p>
<p>&#8216;保持简单易用&#8217;意味着不要让用户分心。恰恰相反，好的UI让用户达成目标。结果如何？你的培训和维护费用降低，并获得更开心、满足和高效率的用户。</p>
<p>当你面对一个全新的界面设计时，别忘了这些原则。</p>
<p><em>编辑手记：Kyle将在纽约举行的<a href="http://events.carsonified.com/fowd/2009/nyc?utm_source=TV&amp;utm_medium=Link%2Btext&amp;utm_campaign=10%2BUser%20Interface%20Design%20Fundamentals">Web设计趋势</a>上继续探讨用户界面设计的内容。</em></p>
<h2>1. 了解你的用户</h2>
<blockquote>
<p>&#8220;关注用户：如果在关注竞争对手还是用户之间选择，答案总是后者。工作总是首先从用户开始。&#8221;——Jeff Bezos</p>
</blockquote>
<p>了解用户，因为用户的目标就是你的目标。试着重述用户，了解他们的技能水平和体验，以及什么是他们需要的。找出用户偏好什么样的界面，并观察他们在
界面中如何操作。不要迷恋于追逐设计趋势的更新，或是不断添加新的功能。首要的任务是关注你的用户，这样才能创造出一个能让用户达成目标的界面。</p>
<h2>2. 重视模型</h2>
<p>用户的大部分时间都消耗在界面中，而不是他们自身上（Facebook，MySpace，Blogger，美国银行，学校/大学，新闻网站，等
等）。我们无需画蛇添足，用户在你正在创造的界面中看到的正是那些（已有的）界面已经解决的同样问题。利用已成惯例的UI模型，你将使用户感觉像在家中一
样熟悉。</p>
<p>&nbsp;<a href="http://www.liquidroc.name/upload/20090812-1p38hhmp5j5ktekhwhp1njhbfd_2.png"><img style="border-width: 0px; display: inline;" title="20090812-1p38hhmp5j5ktekhwhp1njhbfd" src="http://www.liquidroc.name/upload/20090812-1p38hhmp5j5ktekhwhp1njhbfd_thumb.png" alt="20090812-1p38hhmp5j5ktekhwhp1njhbfd" border="0" height="242" width="470" /></a></p>
<p><a href="http://cotweet.com/?referrer=thinkvitamin">CoTweet</a>在邮件应用中运用了广为人知的UI模型。</p>
<h2>3. 保持一致性</h2>
<blockquote>
<p>&#8220;用户期望越多的被正确验证，用户就越觉得系统在自己掌控之中，从而也就更喜爱它（系统）。&#8221;——Jakob Nielson</p>
</blockquote>
<p>用户需要一致性。他们需要知道一旦他们学会做某项操作，那么下次也同样可行。语言、布局和设计是需要保持一致性的几个界面元素。一致性的界面可以让用户对于如何操作有更好的理解，从而提升效率。</p>
<h2>4. 运用视觉等级</h2>
<blockquote>
<p>&#8220;设计师可以从混乱中找到统一；他们可以通过组织操控文字、图片从而清晰地传达设计意图。&#8221;—— Jeffery Veen，<a href="http://veen.com/artsci/">Web设计艺术家和研究者</a></p>
</blockquote>
<p>设计时，要让用户把注意力放在最重要的地方。每一个元素的尺寸、颜色还有位置，它们为理解界面共同指明了道路。清晰的层级关系将对降低外观的复杂性起到重要作用（甚至当行为本身也同样复杂的时候）。</p>
<h2>5. 提供反馈</h2>
<p>界面要始终保持和用户的沟通，不管是当他/她们的行为对错与否。随时提示用户的行为：状态更改、出现错误或者异常信息。视觉提示或是简单文字提醒都能告诉用户，他/她的行为是否能够达到预期的结果。</p>
<p>&nbsp;<a href="http://www.liquidroc.name/upload/20090812-kf7yqjwsrbfaibyj9d7kh5i2fy_2.png"><img style="border-width: 0px; display: inline;" title="20090812-kf7yqjwsrbfaibyj9d7kh5i2fy" src="http://www.liquidroc.name/upload/20090812-kf7yqjwsrbfaibyj9d7kh5i2fy_thumb.png" alt="20090812-kf7yqjwsrbfaibyj9d7kh5i2fy" border="0" height="189" width="470" /></a></p>
<p><a href="http://bantamlive.com/">BantamLive</a>在界面中为大多数行为提供了一种嵌入式的载入提示。</p>
<h2>6. （对用户）宽容</h2>
<p>无论你的设计有多么的清晰明了，用户都会犯错。你的UI应当允许并宽容的对待用户的错误。要为用户提供可以撤销行为的方式，并且对五花八门的输入数
据尽量宽容（没人愿意只是因为填错了生日的格式而重头再来）。同样，如果用户的行为引起了一个错误，在恰当的时机运用信息显示什么行为是错误的，并确保他
/她明白如何防止这种错误的再次发生。</p>
<p><a href="http://carsonified.com/blog/design/how-to-increase-sign-ups-with-easier-captchas/">如何利用简单的验证码提高注册率</a>一文中讲述了一个绝佳的例子。</p>
<h2>7. 鼓励用户</h2>
<p>一旦用户对界面有了经验之后,要奖励他/她们，使之进价。把复杂任务分解为若干简单步骤将会更显繁复和让人精力分散。提供更多的抽象方式——如键盘快捷键——完成任务，这样会让你的设计变得简洁易用。</p>
<h2>8. 融入用户的语言</h2>
<blockquote>
<p>&#8220;如果你对每个像素、每个图标、每个字体都考虑再三，那么你同样需要斟酌每个词语。&#8221; —— <a href="http://gettingreal.37signals.com/">Getting Real</a></p>
</blockquote>
<p>所有的界面或多或少都有文字在其上。让文稿尽量口语化，而不是华美辞藻的堆砌。为行为提供清晰、简明的标签，保持简朴的文字叙述。用户对此将会很赞赏，因为他们不再是听命于他人的官腔——他们听到的是如朋友般甚至自己说话的表述方式。</p>
<h2>9. 保持简洁</h2>
<blockquote>
<p>&#8220;一个现代的悖论就是：创造复杂的界面很简单，因为复杂到必须简化它们&#8221;—— P&#228;r Almqvist</p>
</blockquote>
<p>正所谓：<a href="http://www.uie.com/articles/experiencedesign">大音希声、大象无形</a>。
最上乘的设计中，你看不到华而不实的UI修饰，或是用不到的设计元素。换而是，其必须的元素一定是简洁且有意义的。当你想着是否要再界面上加一个心功能或
是元素的时候，问问自己，&#8220;用户真的需要这些吗？&#8221;或者是&#8220;为什么用户想要这个小巧的动态图标？&#8221;。你是否只是因为出于自我喜好而添加这些元素？记住，永
远不要在UI设计中给自己出风头。</p>
<h2>10. 不断向前</h2>
<blockquote>
<p>爷爷：如果每次失败我都放弃的话，那么我将永远不会发明耐火裤！【这时裤子烧光了，露出了底裤】</p>
<p>爷爷：接缝处还在改良中&#8230;&#8230;</p>
<p>节选自《<a href="http://www.mtime.com/movie/50541/">未来小子</a>》</p>
</blockquote>
<p>《未来小子》一片是我最喜爱的电影之一。贯穿影片的主角Lewis一直在挑战着&#8220;不断向前&#8221;。这正是UI设计的关键准则。</p>
<p>人们常说，当开发界面的时候，你往往需要失败的快一点，这样就能频繁迭代。当创建UI之时，你总会碰到错误。没关系，只要不断向前，并且要牢记让你的UI简单易用。</p>
<div id="note">
<p>无独有偶，在我最近读完的《<a href="http://www.china-pub.com/195345" target="_blank">细节决定交互设计的成败</a>》一书中，作者也提到了Jakob Nielsen总结的10条可用性准则，其中有若干条和上文中的设计准则相对应：</p>
<p>1、简介而自然的对话（对应上文第9条）</p>
<p>2、使用用户的语言（对应上文第8条）</p>
<p>4、一致性（对应上文第3条）</p>
<p>5、反馈（对应上文第5条）</p>
<p>8、良好的出错信息（对应上文第6条）</p>
<p>9、采取各种措施来防止错误的发生（对应上文第6条）</p>
</div>
<img src ="http://www.blogjava.net/jalor/aggbug/311404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 18:42 <a href="http://www.blogjava.net/jalor/articles/311404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅谈如何量化用户体验</title><link>http://www.blogjava.net/jalor/articles/311403.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311403.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311403.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311403.html</trackback:ping><description><![CDATA[<p>很多人都把用户体验看作是网站成功与否的一个总体衡量标准。分析一个网站在提供好的用户体验方面的效果如何，往往会变成一项很主观的事情，仅停留在观点层面，缺乏客观依据。</p>
<p>本文描述了一个量化用户体验的快餐式方法，我发现这个方法对于提供给客户一个关于他们的网站和过去开发所作努力的快速、客观、形象的表现很有帮助。</p>
<p><strong>1、什么是用户体验？</strong></p>
<p>&#8220;用户体验&#8221;这个术语指的是一个概念：把最终用户作为设计和开发活动的焦点，而不是系统、应用程序或者单纯的审美价值。它是基于一般的以用户为中心（用户至上）的设计理念。</p>
<p>用户体验主要由四个因素组成：<br />
&#183;品牌<br />
&#183;可用性（注释：用户能够使用一个界面来达到他们的目的的难易程度）<br />
&#183;功能<br />
&#183;内容<br />
单独作用的话，这些因素中没有一个能带来积极的用户体验；然而，如果综合起来，这些因素就组成了一个网站成功的主要因素。<br />
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/jxnuxg/EntryImages/20091102/1.gif" alt="" height="504" width="504" /><br />
<strong>举例</strong>来
说，一个设计精美的网站，却频繁地出现服务器错误或超时。或者想象一个很棒的数据库应用程序，由于某种原因而从未被使用过，因为它被深深地掩埋在了网站信
息架构的深处。在两种情况中，我们都可以看到，独立的品牌、可用性、功能和内容等要素是无法说明一个网站是成功的。然而，当综合在一起时，这些核心要素就
构成了用户体验的基础。</p>
<p><strong>2、目标分析工具的必要性</strong><br />
比如说你来了一位新领导 &#8211; 他们对网站现状不满意，想让你帮忙把握网站的正确航向。如果你像我一样的话，第一件要做的事就是先浏览一下这个网站，然后在脑海中做一些粗略的记录。然后你怎样把这些想法和记录传达回给你的客户，而不是简单地像撕成八瓣一样对现有网站批判一番？</p>
<p>问题在于，我们每个人对一个网站是好还是坏的感知，是受我们个人背景和行业特性的影响而有所偏倚的。如果被叫来评价一个网站的优点和缺点，一个开发人员、可用性专员、设计人员或信息架构人员可能会有完全不同的评判。</p>
<p>一个客观的测量分析工具，会帮你提供给客户有事实依据的建议，而不仅仅是主观臆断和观点。本文中我们将探讨的方法会帮助你：</p>
<p>a、尽可能消除个人偏见（主观因素）<br />
b、让不同背景的人（设计人员，开发人员，客户）能够在理解网站上有统一的共识<br />
c、创建基准规则，以便于网站与其竞争者或过去的开发努力作比较<br />
d、为你的客户提供一个关于他们网站的优缺点的事实依据和可视化的展示</p>
<p><strong>3、衡量用户体验</strong></p>
<p>如上所述，用户体验由四个相互关联的要素所组成：<br />
品牌<br />
可用性<br />
功能<br />
内容<br />
<strong>但是</strong>，我们如何量化和衡量这些看似无形的元素呢？</p>
<p>方法很简单。我们把分析分为四个部分 &#8211;&nbsp;每个用户体验的元素为一个部分。对于每一个元素，我们创建一系列的描述或参数，用于针对性地测量网站。我们为每一个描述创建一个从1到X的尺度范围；并且在这个范围内给每个描述打分。</p>
<p>一旦你完成了这个分析的第一部分，四个栏目中的每一个描述就都有了一个对应的分数。<br />
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/jxnuxg/EntryImages/20091102/2.gif" alt="" height="504" width="504" /><br />
在本文附上的范例分析中，我们只为每个元素使用了五个描述或参数。因此，我们使用了一个20分的尺度范围，这样网站的最高分值就是100。所以，如果我们为每个元素添加额外的五个描述或参数，我们就会使用10分的尺度范围来打分。</p>
<p>下面就是对范例分析中的每个元素以及描述或参数的概要：</p>
<p><strong>a、品牌</strong><br />
品牌包括在网站中所有审美的、设计相关的项目。它带给网站想要的组织形象或信息的创意。用于测量品牌的描述包括：</p>
<p>网站提供给访客有吸引力的和难忘的体验<br />
网站的视觉效果与品牌特征保持一致<br />
图像、附加内容和多媒体对于体验的增值<br />
网站传达出品牌的感知预示<br />
网站利用了媒体的能力来增强和扩展品牌</p>
<p><strong>b、功能</strong><br />
功能包括所有技术方面的和&#8220;后台的&#8221;进程和应用。它让网站提供给所有最终用户交互式的服务，而且重要的是，注意这有的时候同时意味着前台公众用户和后台管理员。网站功能的描述包括：</p>
<p>用户及时获得对他们查询和提交信息的响应<br />
任务进程的清晰告知（比如，成功页面或邮件更新提示）<br />
网站和应用严格遵守通用的安全和隐私标准<br />
在线功能与离线业务流程结合<br />
网站包含管理员工具来加强管理员的效率</p>
<p><strong>c、可用性</strong><br />
可用性带来的是所有网站元素和特性的总体易用性。可用性之下的二级主题包括导航和易用性（友好度）（注释：易用性处理的是使在线内容可用于用户的体验，享受和使用的问题）。可用性的描述包括：</p>
<p>网站防止错误发生，并帮用户从错误中恢复<br />
整体网页侧重针对主要受众优化<br />
网站帮助访问者达成一般目标和任务<br />
网站遵循它自己的一致性和标准<br />
网站为残疾用户提供内容</p>
<p><strong>d、内容</strong><br />
内容指的是网站的实际内容（文本，多媒体，图像）及其结构，或信息架构。我们来看信息和内容是如何按照定义的用户需要和客户的商业需求组织的。测量内容的描述包括：</p>
<p>链接密度有足够的清晰度，且容易导航<br />
内容组织方便用户达到目标<br />
内容及时准确<br />
内容适合客户需要和商业需求<br />
多语言的综合性内容<br />
在
多数情况下，我会为这四种元素分别使用10到20个独立的描述。我建议你使用如上描述作为你创建你自己的分析的基础。请记住，如果你添加了更多的描述，你
必须也调整20分的尺度，以便每个元素的总分为100。例如，如果你为每个元素使用10个描述，那么你的评分尺度应该是1-20。如果你为每个元素使用
20个描述，你的尺度应该是1-5。</p>
<p><strong>4、显示你的结果</strong><br />
一旦你完成了你的分析，并且得到了每个描述或参数的分值，就是时候把数据放入清晰而便于告知的格式中去了。<br />
<img title="UX_CN_03" src="http://p.blog.csdn.net/images/p_blog_csdn_net/jxnuxg/EntryImages/20091102/3.gif" alt="UX_CN_03" /><br />
首先我们要做的是，把每个元素的所有的分值加总。因为我们已经设置了分值尺度，来为每个元素提供满分为100的分数，我们真正得到的是一个百分比的分数。一旦我们有了这些百分数，我发现最有效的是创建一个雷达图来直观地呈现。微软的Excel或者Open Office Calc都很适合，尽管任何带有图表功能的数据表软件都可以。</p>
<p>使用你的数据表软件，你可以创建一个可视化的数据展示。请参见你在上面下载的示例文件来获取更多的范例。<br />
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/jxnuxg/EntryImages/20091102/4.gif" alt="" height="425" width="500" /><br />
<strong>5、对你的分析发挥创意</strong><br />
关于本文描述的分析和方法最棒的事情是，他们可以用于满足你的特定客户或项目需求。</p>
<p>你当然可以在分析中添加第五个类别来描述易用性（友好度）或者商业指标。例如，你得到了一个政府客户，需要严格遵循
508规则（针对美国）。你可以容易地创建一套描述或参数来专门处理易用性（友好度）元素，修改你的图表来相应展示。同样，你也可以很容易地创建一个类别
来专门处理你的客户的重要商业指标，比如，ROI，点击率，转化量，或者重复顾客数。</p>
<p>可选地，这个分析平台还可以让你能够为你选择的元素添加更大的权重。比如说你有一个客户，他是奢侈品生产商，并且主要侧重在品牌和视觉效果上。你当然可以创建一个修改过的测量系统，来为品牌要素提供更大的权重，而为，比如说，可用性要素上减少权重。</p>
<p><strong>6、实际应用</strong><br />
我已经把这个分析用于很多我所从事的项目。我常常在新客户的提案中包含一个&#8220;快餐式&#8221;分析作为附录，来提供预期的客户一个关于他们网站相对于竞争者的简单印象。</p>
<p>提供这类的评论通常能够给你一个极好的机会来展示你的专业性。机会是其它竞标的公司不会包含这样的免费咨询服务 &#8211; 并且你在提案中包含的这个报告可能会是一个对你有利的决定性因素。</p>
<p>在其它事例中，我已经有客户出钱购买关于他们网站的深入的分析和完整的建议。这类报告包括，对于每种描述或参数，完成不同的描述性段落，再配上截屏
范例。如果我最终通过跟进我的建议而赢得了客户，我通常会预定网站发布6个月后的再一次评估，作为显示进步的方式，同时加强我的服务的价值。</p>
<p>这种分析也能作为一个入门项目，引出更多的业务。如果你给这种分析定价合理，它可以是一个很棒的工具来让你得到新客户，并展示给他们你的服务的好处。</p>
<p>本文来看自：<a href="http://www.chinaz.com/Webbiz/Exp/01126115H009_4.html">http://www.chinaz.com/Webbiz/Exp/01126115H009_4.html</a></p>
<img src ="http://www.blogjava.net/jalor/aggbug/311403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 18:40 <a href="http://www.blogjava.net/jalor/articles/311403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小技术团队的成长</title><link>http://www.blogjava.net/jalor/articles/311401.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311401.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311401.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311401.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311401.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311401.html</trackback:ping><description><![CDATA[<p>很多小技术team,面对快速成长的业务，感到力不从心。他们觉得，迫切需要牛人，可是牛人总是，不是要价高，就是只想呆大公司，还不想在小企业冒
风险，要了高薪还要期权&#8230;其实，牛人不需要多，牛人不总是能呆得住，牛人不解决一切问题。我想总结点什么，不过没啥经验，嗯。随便想点儿。不算指导，算是
留此存照，将来有机会自己拉队队干革命，希望能解决好这个问题。</p>
<ul>
    <li>团队需要从一开始积累经验。我看到过一个故障汇报系统，发生故障时，第一步就是记录这个问题。然后着手解决问题。解决完问题，再把过程记录下来。
    以后有新人来，可以先阅读这一些常见故障的解决办法，快速上手。雅虎内部有好几个wiki,一般都要求把所有项目的文档都放在上面，wiki带有完善的搜
    索功能。有人离职什么的，就算没有交接，也不至于让后来人无从下手。 </li>
    <li>规范很重要。一开始就建立。规范不在多。也许没人遵守，不过想遵守一个规范的时候，得有一个范本。最好有人推动。代码要有注释，这个所有人都这么
    说，但是真的太多coder不遵守这个了。起码，注释上谁写的代码，啥时候写的，总可以吧？一个文件加这么两行，要求够低了吧？我在处理雅虎关系的某个业
    务问题的时候，真的很头疼：一堆php文件，往往开头几个函数有注释，到了后面估计是懒了，或是忘了，就一行注释也没了。大哥，您就在文件头写上您的
    gtalk或msn,我专门去请教您行么？ </li>
    <li>存档。备份。技术文档，程序代码，都要备份。不然，一次硬盘挂了什么的，可能就全盘玩完。大团队什么都有现在制度，出不了大差错。而且就是一个人出个错，一个项目出个错，没啥严重后果。小团队可以一次挫折，就是项目受挫 经济受损 团队走人。。。。。 </li>
    <li>如果可以，尝试一下，团队里结对开发什么的，结对测试什么的。人人总有长处，我有一段时间老跟霍炬后边瞅，（嗯，偷窥呢&#8230;),发现他都用vim,
    后来就缠着他让教我。学会之后，就再也离不开了。还有一阵瞅着徐鹏写东西，也受益不少。比如，开始就把数据库里填满东西（100w+),性能问题开发阶段
    就能暴露个差不多，以后会少走回头路。 </li>
    <li>牛人不总是能解决问题。嗯，开头就说过了。一开始并不是所有东西都需要多牛的人去解决的。牛人的意义在于，给团队介绍学习方向，指导团队成长，关
    键时刻挑起担子。小团队，弄一个牛人就够了。多了，添乱。小企业的老板，伺候一个牛人就很不容易了。一旦牛人请个假什么的，就在想，唉，他不会不干了吧。
    牛人总喜欢一下子上很多新东西，不能都满足他。嗯，牛人搞的东西
    要比团队现在能力稍高一点，是可以很快让团队其他成员也会的。太新潮的东西，容易把自己玩死。尊重他，约束他。 </li>
    <li>团队成长的同时，待遇也跟着涨。不然，好不容易培养出来几个人，能力强点，就都飞了。把人培养出来了，还要留住。新人一般在最初能力快速增长的时候，很容易受诱惑，容易个人膨胀。经历过一点，就好了。对老板来说，少挣点没关系，咱们慢慢来。也不急这一时。 </li>
    <li>随时干掉害群之马，在发现苗头之时。别等着他鼓动其他人一起跳槽，或是给同事介绍猎头之前。小团队，稳定第一，团结第一。小团队，非常脆弱。三五个人，十来条枪，一下子一个跳槽，还带俩一起走，够老板受一阵子的。 </li>
</ul>
<p>嗯 &nbsp;团队成长是痛苦Di，费心Di,让人头疼地。小团队，要稳步前进。</p>
<p>本文来自：<a href="http://www.162cm.com/archives/991.html" target="_blank">http://www.162cm.com/archives/991.html</a></p>
<img src ="http://www.blogjava.net/jalor/aggbug/311401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 18:27 <a href="http://www.blogjava.net/jalor/articles/311401.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 从“水桶定律”看人的竞争力和团队的竞争力 （转）</title><link>http://www.blogjava.net/jalor/articles/311400.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Sun, 31 Jan 2010 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/311400.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/311400.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/311400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/311400.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/311400.html</trackback:ping><description><![CDATA[<a href="http://baike.baidu.com/view/38891.htm">水桶定律 </a>
，也即短板理论，是由美国<a href="http://baike.baidu.com/view/1337840.htm">管理学家 </a>
<a href="http://baike.baidu.com/view/309901.htm">彼得 </a>
提出的。其核心内容为：一只水桶盛水的多少，并不取决于桶壁上最高的那块木块，而恰恰取决于桶壁上最短的那块。根据这一核心内容，&#8220;水桶理论&#8221;还有两个推
论：其一，只有桶壁上的所有木板都足够高，那水桶才能盛满水。其二，只要这个水桶里有一块不够高度，水桶里的水就不可能是满的。
<p><a href="http://wiki.mbalib.com/wiki/Image:%E6%9C%A8%E6%A1%B6%E5%8E%9F%E7%90%86.jpg"><img longdesc="/wiki/Image:%E6%9C%A8%E6%A1%B6%E5%8E%9F%E7%90%86.jpg" src="http://wiki.mbalib.com/w/images/9/92/%E6%9C%A8%E6%A1%B6%E5%8E%9F%E7%90%86.jpg" alt="MBA智库百科标志" height="140" width="104" />
</a>
</p>
<p><strong>首先，对于个人来说，这个理论未必适用。</strong>
个人要重点发挥自己的优势，管理好自己的劣势。
建议看一下《现在发现你的优势》，上面有经典的论述（另外，正版的图书都有一个测评的账号，可以发掘一下你没有发现的优势）。我们小时候受到的教育大都是
改进缺点就是进步，数学语文任何一门偏科成绩都上不去 ——这个惯性思维要改一下了。</p>
<p><strong>其次，对于团队来说，这个理论要做一下扩展。</strong>
我这里把团队比作木桶，团队的领袖比作木桶的骨架，团队成员比作构成木桶的木板，团队的竞争力比作木桶乘水的多少。如何让木桶能够乘更多的水哪？</p>
<p>第一步是要识别手上的木板，木板哪里长，哪里短，都是什么形状的。</p>
<p>第二步就是要把木板放在合适的位置上，让他们都能展现他们的长处，并且将他们的短处进行互补。</p>
<p>第三，就是把整个木桶牢牢的凝聚在一起，这样木桶中的水就不会漏出来了。这样的一个过程，也是一个打造卓越团队的过程（可能还要在加一条：搜集合适的木板）。</p>
<p><strong>同理，团队的领袖应该鼓励成员花大精力去的发挥自己的优势，而不是耗费精力去弥补自己的劣势（个人的劣势可以靠团队的其他成员来弥补）。领袖要利用所有成员的优势，以及自己的向心力，打造一个坚固、大大的木桶。</strong>
</p>
<p>我更看好木桶定律在团队上的意义。当今社会是一个崇尚团队的时代，而不是个人英雄主义。人的竞争力唯有通过团队的竞争力，才能够得到更好的展现。华为有一句标语，至今还记得：<strong>只有优秀的团队才有优秀的个人，平庸的团队永远没有优秀的个人。</strong>
</p>
<p>下面再扩展一下，讨论一下人的才和德。继续那木板做比，才好比是木板的长处，德好比是木板的质地，比如，有才无德，好比一个木板虽然长度很突出，但
是质地不好，用着用着受到外界的影响就坏了。最终会导致整个桶的崩溃。蒙牛有一句用人的经典口号
：有德有才，破格使用；有德无才，培养使用；有才无德，限制使用；无德无才，坚决不用。</p>
<p>在说一点其他的，这个也是啊屁留言要问的（谢了~！~）。</p>
<p><strong>我认为一个卓越的团队，其成员肯定是差异化的。</strong>
一个趋向同质化的团队无法形成卓越的竞争力。这里的差异化，是指能力（优势互补）、性格、思维方式、性别等的差异化。能力不再多说。性格上，比如有的人执
着，有的人善于妥协。思维方式上，有的人经常会有些奇思妙想，有的人则逻辑严谨。至于性别，我认为，既然上帝既造了男人，又造了女人，看在上帝的面子上，
也要男女搭配着来。</p>
<p><strong>有差异才会有摩擦，有摩擦才会有火花，来点燃整个团队的力量。</strong></p>
<br />
原文地址：http://blog.csdn.net/chgaowei/archive/2010/01/08/5160906.aspx
<img src ="http://www.blogjava.net/jalor/aggbug/311400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2010-01-31 18:07 <a href="http://www.blogjava.net/jalor/articles/311400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对待新知识、新领域的心态——好奇、批判、独孤求败</title><link>http://www.blogjava.net/jalor/articles/299854.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Mon, 26 Oct 2009 15:35:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/299854.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/299854.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/299854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/299854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/299854.html</trackback:ping><description><![CDATA[<p>在学习的不同的阶段我们应该保持的心态：</p>
<p>1、接触之前，拥有一个好奇的心态。与自己原有的知识对比，不要对新的知识产生偏见。比如，原来一直采用瀑布式软件开发，在接触敏捷软件开发之前，不要对敏捷软件开发模式产生偏见：&#8220;敏捷开发根本不能够和瀑布式开发相提并论&#8221;。偏见会阻碍新知识的学习，而是要对敏捷开发保持一种好奇心：</p>
<p>1）这种理论为什么会提出来？<br />
2）主要为了解决什么问题？<br />
3）现有的理论无法解决此问题吗？<br />
4）它是基于什么样的原理？<br />
5）它是如何运行的？</p>
<p><br />
2、学习了一段时间，拥有一定基础之后，要以一种批判的、怀疑的心态来对待学习的知识。当你拥有了对新知识的一定认识后，有可能会发现它很好解决了你以前遇到的一些非常棘手的问题，或者发现你找到了某一领域问题的完美的解决方案。这个时候，你要让自己坚信，&#8220;没有银弹&#8221;，没有包治百病的灵丹妙药。任何方案、理论、技术都有其依赖的条件，或者在解决原有问题后，引入的新的问题。此时，你要以一种批判的、怀疑的态度来对待它。要搞清楚：</p>
<p>1）它所依赖的前提条件是什么？<br />
2）应用它的时候有没有什么假设？<br />
3）它在那些场景下适用、那些场景下不适用？<br />
4）它在解决原有问题之后，有没有引入新的问题？</p>
<p><br />
3、当你达到专家级或顶级水平之后，应该持有一种&#8220;独孤求败&#8221;的心态：寻求新的挑战，争取&#8220;百尺竿头更进一步&#8221;，就像独孤求败一样，&#8221;闯荡江湖，只求一败&#8220;：把每次的失败看成进步的机会。同时保持敬畏、谦虚的心态，你所掌握的知识，也不是&#8221;银弹&#8220;，也有其局限之处，或者随着环境的发展，已经无法适应环境，需要寻求新的突破。这个时候，你要根据你丰富的实践，提出创新的思路或知识。</p>
<p>总之：<br />
1、在学习新知识、新领域的时候，要保持一个空杯的心态，只有这样才能为自己敞开自我提升之路。<br />
2、偏见导致对新知识的排斥，教条倒是对新知识的盲从。<br />
3、没有绝对的真理，也没有绝对的谬论。绝对的真理让我们盲从，绝对的谬论让我们偏见。</p>
<p>&nbsp;</p>
<p><br />
本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/chgaowei/archive/2009/10/10/4651936.aspx</p>
<img src ="http://www.blogjava.net/jalor/aggbug/299854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2009-10-26 23:35 <a href="http://www.blogjava.net/jalor/articles/299854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学做程序经理</title><link>http://www.blogjava.net/jalor/articles/299345.html</link><dc:creator>jalor</dc:creator><author>jalor</author><pubDate>Thu, 22 Oct 2009 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/jalor/articles/299345.html</guid><wfw:comment>http://www.blogjava.net/jalor/comments/299345.html</wfw:comment><comments>http://www.blogjava.net/jalor/articles/299345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jalor/comments/commentRss/299345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jalor/services/trackbacks/299345.html</trackback:ping><description><![CDATA[<div>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">指派一名优秀的程序经理，是团队产出优秀软件的重要前提之一。你的团队里可能没有这样的人，其实绝大多数团队都没有。</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';">■ <span style="font-family: 宋体;">文 </span><span style="font-family: Times New Roman;">/ Joel Spolsky ■ </span><span style="font-family: 宋体;">译 </span><span style="font-family: Times New Roman;">/ </span><span style="font-family: 宋体;">罗小平</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> </span>
</p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">Charles Simonyi<span style="font-family: 宋体;">，这位曾与</span><span style="font-family: Times New Roman;">Martha Stewart</span><span style="font-family: 宋体;">（译者注：美国女富豪，作家）拍拖</span><span style="font-family: Times New Roman;">15 </span><span style="font-family: 宋体;">年、</span><span style="font-family: Times New Roman;">WYSIWYG</span><span style="font-family: 宋体;">字处理技术发明人之一、从微软股票赚得</span><span style="font-family: Times New Roman;">10 </span><span style="font-family: 宋体;">亿美元（译者注：</span><span style="font-family: Times New Roman;">Charles Simonyi </span><span style="font-family: 宋体;">曾是微软</span><span style="font-family: Times New Roman;">Office</span><span style="font-family: 宋体;">产品团队的负责人）、到过太空的天才程序员，是试图解决大型软件团队遇到的</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">人月神话</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">问题之第一人。他的方法是创立一个新的岗位，由超级天才程序员担任，负责系统中最重要功能的实现，而其他次要部分则交给一个由低级程序员组成的杂牌团队。他把这个岗位命名为程序经理（</span><span style="font-family: Times New Roman;">program manager</span><span style="font-family: 宋体;">）。虽然</span><span style="font-family: Times New Roman;">Simonyi </span><span style="font-family: 宋体;">本人是天才级的，但他的这个想法却不怎么出彩，我想没人愿意做一个被人轻视的低级程序员吧。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">若需详细了解这段历史， 可以阅读<span style="font-family: Times New Roman;">William Poundstone</span><span style="font-family: 宋体;">的《</span><span style="font-family: Times New Roman;">How Would You Move Mount Fuji?</span><span style="font-family: 宋体;">》</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> </span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">Jabe Blumenthal<span style="font-family: 宋体;">，是</span><span style="font-family: Times New Roman;">20</span><span style="font-family: 宋体;">世纪</span><span style="font-family: Times New Roman;">80</span><span style="font-family: 宋体;">年代后期在</span><span style="font-family: Times New Roman;">Mac Excel</span><span style="font-family: 宋体;">团队工作过的一名程序员。他捡起了这个头衔，却赋予了不同的含义。</span><span style="font-family: Times New Roman;">Blumenthal </span><span style="font-family: 宋体;">发现软件开发已经变得日益复杂，以致没有哪个程序员有时间去关心如何真正保证软件的可用性和实用性。而市场人员又在一旁大谈客户需求，抱怨没人听他们的 话，没人将他们</span><span style="font-family: Times New Roman;">MBA</span><span style="font-family: 宋体;">式的天才想法转化为软件中可用的功能。产品设计方面不少的工作都需要花费大量时间，比如用户沟通、可用性测试、竞争对手产品的分析评 估、将复杂问题化繁为简等等。但绝大多数程序员恰恰没有时间做这些事情（实际上这些往往也不是他们的强项）。于是，</span><span style="font-family: Times New Roman;">Blumenthal </span><span style="font-family: 宋体;">重拾</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">程序经理</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">，不过完全重新定义了这个职位。</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">程序经理需要做什么工作？</span>
</p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">自此以后，一名程序经理的工作包括：</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">1.</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> UI <span style="font-family: 宋体;">设计</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">2.</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 编写功能规格</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">3.</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 团队协调</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">4.</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 充当用户代言人</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">5.</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 还有，穿<span style="font-family: Times New Roman;">Banana Republic </span><span style="font-family: 宋体;">牌子的休闲</span><span style="font-family: Times New Roman;">Chino</span><span style="font-family: 宋体;">裤</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">在 小项目中，你有一个程序经理就够了，但对于大型项目，就可能需要配置多位了，每个人负责全部功能特性的一个子集。从众多项目中总结出来了一个经验法则：每 四名程序员配置一个程序经理。那么如何划分功能集呢，如果你遇到困难，我向你推荐我从<span style="font-family: Times New Roman;">Mike Conte</span><span style="font-family: 宋体;">那学到的方法：根据用户活动划分产品功能（</span><span style="font-family: Times New Roman;">http://www.joelonsoftware.com/uibook/chapters /fog0000000065.html</span><span style="font-family: 宋体;">）。比如：</span><span style="font-family: Times New Roman;">twitter.com</span><span style="font-family: 宋体;">可划分为四类用户活动：</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">1. </span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 注册与登录</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">2. </span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 发表帖子、阅读回复</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">3. </span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 配置个人账户</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">4. </span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 搜索新闻</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span>
</p>
<p style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 我的第一份程序经理工作是在微软的<span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">团队，负责一个叫做</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">用户化</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">的用户活动（比如编写脚本、宏）。首先要做的事情是搞清楚用户的需求。于是我与很多用户交流，直到我长满茧子的耳朵只能听到相同的需求、让人厌烦为止。接下来，需要花很多时间与开发团队沟通，弄清在</span><span style="font-family: Times New Roman;">18</span><span style="font-family: 宋体;">个月的新版本开发周期中，些需求是合理的、可以实现的。并和</span><span style="font-family: Times New Roman;">Visual Basic </span><span style="font-family: 宋体;">团队沟通，确定他们是否可提供编译器、代码编辑器、对话框编辑器，否则用户就不能在</span><span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">中使用宏语言。同时还必须跑去与</span><span style="font-family: Times New Roman;">Apple</span><span style="font-family: 宋体;">沟通，他们当时正在自己搞一门叫做</span><span style="font-family: Times New Roman;">AppleScript </span><span style="font-family: 宋体;">的通用宏语言。此外，我还要和微软内部的其他应用团队，主要包括</span><span style="font-family: Times New Roman;">Word</span><span style="font-family: 宋体;">、</span><span style="font-family: Times New Roman;">Access</span><span style="font-family: 宋体;">、</span><span style="font-family: Times New Roman;">Project</span><span style="font-family: 宋体;">和</span><span style="font-family: Times New Roman;">Mail</span><span style="font-family: 宋体;">等打交道，因为他们也在做和</span><span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">团队差不多的事情。这个过程的绝大部分工作，都是沟通讨论</span><span style="font-family: Times New Roman;">——</span><span style="font-family: 宋体;">会议、邮件、电话</span><span style="font-family: Times New Roman;">&#8230;&#8230;</span><span style="font-family: 宋体;">几乎无休无止。我被那段生活搞怕了，直到现在，在办公室的时候还怕听到 电话铃响。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">第二步是写愿景规划。这是一个内容相当宽泛的文档，比如<span style="font-family: Times New Roman;">Visual Basic</span><span style="font-family: 宋体;">如何在</span><span style="font-family: Times New Roman;">Excel</span><span style="font-family: 宋体;">中工作，用户可能编写的宏是什么样子，需要技术团队构建哪些模块，以及它们如何解决用户的问题。然后在此基础上讨论修改，直到 没有太多分歧。至此，便可以开始编写详细规格书，要描述清楚每个不可再分的细节呈现在用户面前时的样子。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">这是一份功能而不是技术规格书。也就是 说，它的全部内容都用于描述用户所见所为，而不是程序如何实现。若需进一步了解功能规格，请阅读 <span style="font-family: Times New Roman;">http://www.joelonsoftware.com/articles/fog0000000036.html</span><span style="font-family: 宋体;">。程序经理不关心开发团队的内部 实现细节。当我将这份功能规格发给开发团队的头头</span><span style="font-family: Times New Roman;">Ben Waldman</span><span style="font-family: 宋体;">后，他和他的团队再坐下来详细讨论实现工作。最后，他们很聪明地弄出一份精悍的表格，将我定义的面向对象的接口一一映射到</span><span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">内部功能。当然这不是我的事情，我对</span><span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">内部知之甚少，并不知道那些需求应该怎么实现。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">老实说，我那时候对什么都是一窍不通。刚从学校出 来，对代码开发、程序测试、文档撰写、产品推广以及可用性测试等，完全没有经验。幸运的是，微软在每个岗位都有经验丰富的导师，他们教给了我迄今知道的全 部知识，也是他们真正承担了这么大的产品的全部实际工作。举个我知道的例子说吧，用户在宏程序里将电子表格中单元格的值复制给一个变量：</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">x = [A1]</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">问题是单元格的值可能是数字，也可能是字符串；而<span style="font-family: Times New Roman;">Basic </span><span style="font-family: 宋体;">语言是早期绑定的，你必须首先用</span><span style="font-family: Times New Roman;">DIM</span><span style="font-family: 宋体;">将</span><span style="font-family: Times New Roman;">x </span><span style="font-family: 宋体;">定义为</span><span style="font-family: Times New Roman;">Integer</span><span style="font-family: 宋体;">、</span><span style="font-family: Times New Roman;">Float </span><span style="font-family: 宋体;">或</span><span style="font-family: Times New Roman;">String</span><span style="font-family: 宋体;">等确定类型，然后才能使用。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">要 解决这个问题，<span style="font-family: Times New Roman;">Basic </span><span style="font-family: 宋体;">必须支持某种动态类型，但我没那么聪明，想不出什么解决办法。不要紧，</span><span style="font-family: Times New Roman;">Visual Basic</span><span style="font-family: 宋体;">团队的程序员</span><span style="font-family: Times New Roman;">Tom Corbett</span><span style="font-family: 宋体;">想出来了（</span><span style="font-family: Times New Roman;">http://www.patentstorm.us/patents/5689709/description.html</span><span style="font-family: 宋体;">）。 </span><span style="font-family: Times New Roman;">Variants</span><span style="font-family: 宋体;">和</span><span style="font-family: Times New Roman;">IDispatch</span><span style="font-family: 宋体;">由此诞生了，借助</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">鸭式类型识别</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">（</span><span style="font-family: Times New Roman;">duck typing</span><span style="font-family: 宋体;">。</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">如果一只鸟，走起来像鸭子，叫起来像鸭子，那我们就可以管它叫鸭子。</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">），于是</span><span style="font-family: Times New Roman;">Basic </span><span style="font-family: 宋体;">摇身一变，成了动态语言。这个事情说明，我的工作不是自己去解决问题，而是找到用户需要解决的问题，并保证程序员找出解决这些问题的办法。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">一旦功能规格完成、技术团队开始工作后，我的职责就有了变化：（<span style="font-family: Times New Roman;">1</span><span style="font-family: 宋体;">）解决设计方面出现的问题；（</span><span style="font-family: Times New Roman;">2</span><span style="font-family: 宋体;">）负责与所有其他团队的沟通，以便节省开发人员的时间。例如，我要向测试人员说明全部功能是如何运转的，并帮助他们设计测试计划；确保文档团队明白如何为</span><span style="font-family: Times New Roman;">Excel Basic </span><span style="font-family: 宋体;">编写一份高质量的教程和参考手册；和本地化专家确定本地化策略；向市场人员解释</span><span style="font-family: Times New Roman;">VBA</span><span style="font-family: 宋体;">在市场上的优势；和可用性专家设计可用性测试方案等。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">程序经理需参加大量的会议，但其产出基本不超出规格文档这个范围，因此我一个刚毕业的无用之人也能胜任这份工作。完全没必要让一个有<span style="font-family: Times New Roman;">14</span><span style="font-family: 宋体;">年经验的资深程序员担当程序经理。实际上，有</span><span style="font-family: Times New Roman;">14</span><span style="font-family: 宋体;">年的开发经验，你反而可能因为知道太多，而无法扮演好用户代言人这个角色。</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">冲突</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span>
</p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">如果没有程序经理，聪明的程序员们在一起，可能设计出让用户难以理解的界面，也许只有<span style="font-family: Times New Roman;">Vulcan </span><span style="font-family: 宋体;">人（《</span><span style="font-family: Times New Roman;">Star Trek / </span><span style="font-family: 宋体;">星际迷航》中逻辑思维能力超强的外星种族）才会表示</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">正合吾意</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">。最好的程序员会聪明到不能理解用户为何不能记住</span><span style="font-family: Times New Roman;">16 </span><span style="font-family: 宋体;">个单字母的命令行参数。这些程序员往往难以割舍他们的最初想法，尤其是已经将自己的想法变成了代码之后。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">程序经理给软件设计流程带来的最大益处，是可以引入程序员之外的第二种观点。而这种观点恰恰更接近用户的想法<span style="font-family: Times New Roman;">——</span><span style="font-family: 宋体;">这些用户往往既不想阅读使用手册，更不想写什么</span><span style="font-family: Times New Roman;">emacs-lisp</span><span style="font-family: 宋体;">函数，至于在他们大脑里将十进制数字转化为八进制，那就更不可能了。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">一个好的程序经理对于<span style="font-family: Times New Roman;">UI </span><span style="font-family: 宋体;">的工作方式有他自己的想法，和开发人员的相比，可能更好，也可能更坏，因此需要双方进行讨论。通常，程序经理是站在用户角度，希望凡事都尽可能简单易懂， 诸如有心灵感应力的用户界面、大到</span><span style="font-family: Times New Roman;">30&#8243; </span><span style="font-family: 宋体;">而又能放进口袋的屏幕之类；而开发人员想的是处处尽可能减少要编写的代码，支持命令行界面（他们会说</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">这怎么就不好用了呢？</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">）和</span><span style="font-family: Times New Roman;">Python</span><span style="font-family: 宋体;">绑定。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">我记得<span style="font-family: Times New Roman;">Excel 5</span><span style="font-family: 宋体;">项目中最为经典的争论发生在一个开发人员和程序经理之间。开发人员希望数据透视表（</span><span style="font-family: Times New Roman;">pivot table</span><span style="font-family: 宋体;">）悬浮在电子表格的绘画层上，而程序经理坚持认为数据透视表应位于单元格的右侧。这个争论持续了很长时间，最后由程序经理胜出。而最终的设计比 当初任何一方的单独设计都好出很多。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">为确保这种争论完全以事实为基础、在参与方间平等地展开，程序经理和开发人员地位对等是必要的。如果开发人员 负责向程序经理汇报，那么在争论过程的任何时刻，程序经理只要略感厌倦，就可以说<span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">好了，讨论得够了，现在就按我说的办</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">。但如果他们是对等的，这种事情 就不会发生。就好比在法庭，我们不能允许任何一方的律师同时是法官。只有建立在这个理论之上，真理才最可能通过对等双方间的争论而被发现。只有任何参与方 都不具有不公平优势时，争论本身才可能是公平的。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">这点很关键，如果你刚才还在梦里探究<span style="font-family: Times New Roman;">11</span><span style="font-family: 宋体;">年级的</span><span style="font-family: Times New Roman;">Sally </span><span style="font-family: 宋体;">现在在哪儿，赶紧醒醒吧。她在</span><span style="font-family: Times New Roman;">Scottsdale</span><span style="font-family: 宋体;">做生物医学家，还入了共和党。我们必须明白，程序员不能是程序经理的下属，换句话说，开发团队的头头、</span><span style="font-family: Times New Roman;">CTO</span><span style="font-family: 宋体;">或</span><span style="font-family: Times New Roman;">CEO</span><span style="font-family: 宋体;">，都不应是负责撰写规格书的人。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">大多数公司犯的头号错误，就是让程序员的上级编写规格书、设计产品。这样出来的设计，不能得到真正平等的审查，不能引出冲突与争议，自然就不会好到哪里去。</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">要我真正弄懂这个道理，其实并不容易。在<span style="font-family: Times New Roman;">Fog Creek </span><span style="font-family: 宋体;">软件公司，我自己曾承担了该程序经理做的大量工作，为此我费劲口水，时刻提醒在我说错的时候，程序员要指出、争辩。我们不是大公司，但也已经到了需要真正 的程序经理的时候了</span><span style="font-family: Times New Roman;">——Dan</span><span style="font-family: 宋体;">和</span><span style="font-family: Times New Roman;">Jason</span><span style="font-family: 宋体;">，程序员喜欢和他们吵。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">当然，程序员和程序经理地位对等的时候，程序员会略占优势。这样的事曾发生过几次：程序员让我介入他和程序经理间发生的争议。</span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">&#8220;<span style="font-family: 宋体;">谁写代码？</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">我问。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">&#8220;<span style="font-family: 宋体;">是我</span><span style="font-family: Times New Roman;">&#8230;&#8230;&#8221;</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">&#8220;<span style="font-family: 宋体;">那好，谁负责将程序签入版本控制库呢？</span><span style="font-family: Times New Roman;">&#8221;</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">&#8220;<span style="font-family: 宋体;">我想还是我</span><span style="font-family: Times New Roman;">&#8230;&#8230;&#8221;</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">&#8220;<span style="font-family: 宋体;">既然这样，那你还有什么问题呢？</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">我问，</span><span style="font-family: Times New Roman;">&#8220;</span><span style="font-family: 宋体;">你对最终产品的每个比特都有绝对控制权，你还需要什么呢，一顶皇冠？</span><span style="font-family: Times New Roman;">&#8221;</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">可见，这种体制将担子压在了程序经理肩上，要求程序经理能说服程序员，因为在某些时候，程序经理会面临程序员不理会争议而直接按自己想法行事的风险。因此，要成为一名优秀、有影响力的程序经理，要求你：（<span style="font-family: Times New Roman;">1</span><span style="font-family: 宋体;">）正确；（</span><span style="font-family: Times New Roman;">2</span><span style="font-family: 宋体;">）赢得程序员的尊重，唯此他们才可能承认你的正确。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">注：本文节选自<span style="font-family: Times New Roman;">Joel Spolsky</span><span style="font-family: 宋体;">的博客文章，全文请参考杂志官方</span><span style="font-family: Times New Roman;">Blog</span><span style="font-family: 宋体;">：</span><span style="font-family: Times New Roman;">http://blog.csdn.net/programmer_editor</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-style: italic; font-size: 10.5pt; font-family: 'Times New Roman';">作者简介</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><br />
</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';">Joel Spolsky<span style="font-family: 宋体;">，</span><span style="font-family: Times New Roman;">Fog Creek </span><span style="font-family: 宋体;">软件公司（</span><span style="font-family: Times New Roman;">http://www.fogcreek.com/</span><span style="font-family: 宋体;">）创始人，曾在微软</span><span style="font-family: Times New Roman;">Excel </span><span style="font-family: 宋体;">团队工作。他的网络日志</span><span style="font-family: Times New Roman;">&#8220;Joel</span><span style="font-family: 宋体;">谈软件</span><span style="font-family: Times New Roman;">&#8221;</span><span style="font-family: 宋体;">一度是最知名的</span><span style="font-family: Times New Roman;">IT</span><span style="font-family: 宋体;">博客之一。作者博客：</span><span style="font-family: Times New Roman;">www.joelonsoftware.com/</span><span style="font-family: 宋体;">。</span></span></p>
<p style="text-indent: 21pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（本文来自</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">0902期《</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">CTO》专刊）<br />
</span></span></p>
<p style="text-indent: 16pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; vertical-align: baseline;"><span style="color: rgb(151, 79, 0); font-size: 8pt; font-family: 'ArialMT';"><br />
</span></p>
</div>
<img src ="http://www.blogjava.net/jalor/aggbug/299345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jalor/" target="_blank">jalor</a> 2009-10-22 13:44 <a href="http://www.blogjava.net/jalor/articles/299345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>