﻿<?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-实践-全程-随笔分类-读书笔记</title><link>http://www.blogjava.net/leeguannan/category/29681.html</link><description>够了，让我们实践吧！</description><language>zh-cn</language><lastBuildDate>Tue, 04 Mar 2008 17:39:32 GMT</lastBuildDate><pubDate>Tue, 04 Mar 2008 17:39:32 GMT</pubDate><ttl>60</ttl><item><title>微软研发：制胜策略(实用方法二)</title><link>http://www.blogjava.net/leeguannan/archive/2008/03/04/183596.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Tue, 04 Mar 2008 00:47:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/03/04/183596.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/183596.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/03/04/183596.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/183596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/183596.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160; <strong>用看程序的方式找错，是既懒惰又无效率的方法；</strong></p>  <table cellspacing="0" cellpadding="2" width="532" border="0"><tbody>     <tr>       <td valign="top" width="530">         <p>随时睁大雪亮的眼睛，看看是不是有个悬而未决的问题，一定要有个人(或是由主管自己)来负责研究到底哪里出错，也许这种研究既花时间又无聊，但总比灾难发生之后再来花好几个星期收拾残局要好得多。</p>       </td>     </tr>   </tbody></table>  <p>&#160;&#160;&#160; <strong>问了错的问题，而导致错的答案，训练自己问出正确的问题！</strong></p>  <table cellspacing="0" cellpadding="2" width="531" border="0"><tbody>     <tr>       <td valign="top" width="529">         <p>如果您能很清楚告诉别人，您想要的究竟是什么，这样别人才能给您真正需要的帮助，而不是做一些似是而非的虚工。</p>       </td>     </tr>   </tbody></table>  <p>&#160;&#160;&#160; <strong>勉强自己接下不可能完成的任务，实在是以长痛代替短痛的做法，而且长痛的是整个团队，该拒绝的时候绝对不能含糊；</strong></p>  <p>&#160;&#160;&#160; <strong>不要为了讨好别人而伤害双方的工作进程，您永远要根据自己的目标，做适当的决策。</strong></p>  <p>&#160;&#160;&#160; <strong>必须保护项目不受外界的左右，尤其是当这种操控来自特权人物之手。</strong></p>  <p>&#160;&#160;&#160; <strong>副产品对公司或产品都没有策略上的价值，充其量只是一种消费者回馈。</strong></p>  <p>&#160;&#160;&#160; <strong>不值得开发的功能就不要做。</strong></p>  <p>&#160;&#160;&#160; <strong>软件产品的开发，不能只为了有趣、挑战性，或是够有个性够令人眩目。</strong></p>  <p>&#160;&#160;&#160; <strong>遵循标准重于一切，特别是关于使用者界面的部分。</strong></p>  <p>&#160;&#160;&#160; <strong>确定您所要求的报告真的值得属下暂停工作，花那么多时间去写。</strong></p>  <p>&#160;&#160;&#160; <strong>请注意定期会议的价值，确定它值得每个人放下手上的工作。</strong></p>  <p>&#160;&#160;&#160; <strong>召开任何会议之前，请确定本次会议的目的是什么，达成这个目的的条件是什么，然后，务必达到开会的目的。</strong></p>  <p>&#160;&#160;&#160; <strong>不要利用进程表来驱使项目的进行，这对小组的士气伤害太大了。</strong></p>  <p>&#160;&#160;&#160; <strong>让日程表维持适度的紧迫，但又是可以做到的，好让组员振奋、不松懈，专心致力于项目的推进。</strong></p>  <p><strong>&#160;&#160;&#160; 绝对不要草率定出不可能的期限，导致组员为了赶进度而损害产品的质量。</strong></p>  <p><strong>&#160;&#160;&#160; 把长期的大项目，分成几个完整而独立的小项目，各小项目必须有一个主题。</strong></p>  <p><strong>&#160;&#160;&#160; 为了保持创意的活力和团队士气，必须让每一个小项目都有令人兴奋的结果。</strong></p>  <p><strong>&#160;&#160;&#160; 不要让程序设计师的学习停滞不前，要让程序设计师有机会磨练不同领域的技术，培养十八般武艺样样精通的组员。</strong></p>  <p><strong>&#160;&#160;&#160; 训练新进程序设计师时，先培养他对整个公司所有项目都有价值的技术，然后才培养本项目独有的技术。</strong></p>  <p><strong>&#160;&#160;&#160; 不要舍不得放您最优秀的程序设计师到别的项目去。如果他在您的项目已经没有新的东西可学，为了公司和他个人的前途，您应该把他推荐到别的项目，让他的成长永不间断。</strong></p>  <p><strong>&#160;&#160;&#160; 确定每位组员、每两个月都有一项技术上进步。</strong></p>  <p><strong>&#160;&#160;&#160; 一发现某处需要改进，就立即采取更正的行动。</strong></p> <img src ="http://www.blogjava.net/leeguannan/aggbug/183596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-03-04 08:47 <a href="http://www.blogjava.net/leeguannan/archive/2008/03/04/183596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软研发：制胜策略(实用方法一)</title><link>http://www.blogjava.net/leeguannan/archive/2008/03/03/183344.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Mon, 03 Mar 2008 00:34:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/03/03/183344.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/183344.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/03/03/183344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/183344.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/183344.html</trackback:ping><description><![CDATA[<p>首先还是先看一下书评。</p>  <p>下面是来自china-pub的书评：</p>  <table cellspacing="0" cellpadding="2" width="541" border="0"><tbody>     <tr>       <td valign="top" width="539">作者详细描述了他在美国领导项目的各种实际的策略方法，教您如何开发高质量的软件，而且绝不延误。本书是为每一位从事研发工作的朋友而写，相信您在读过本书之后，一定急于推荐给您的主管、同事和您的朋友。</td>     </tr>   </tbody></table>  <p>&#160;&#160;&#160; 卓越的领导者从不同的角度看世界。若是公司被大火烧得精光，他非但不为丢饭碗惊慌，反而利用火焰来烧烤一顿大餐。当每个人都摇头离去，卓越的领导者仍有充分的信心保持乐观，对每件事都从正面角度来思考。就因为凡事都看光明面，卓越的领导者并不把失败当失败，反将其当作学习克服障碍的经验。正因如此，卓越的领导者乐意尝试各种稀奇古怪的想法，并从中获得重大的突破，即使不成功，他只把这次经验当成获得信息的方式之一。这种领导人不一定要有经验，而是需要强烈的进取心和明确的理想，能够将理想与他人沟通，鼓舞他人共同追寻理想的能力，再加上一点机会，这就是能将理想实现的卓越领导者。</p>  <p><strong>&#160;&#160;&#160; 每当有人完成了一项新的功能或特色，就发个e -mail 给大家。</strong></p>  <p><strong>例如：</strong></p>  <table cellspacing="0" cellpadding="2" width="532" border="0"><tbody>     <tr>       <td valign="top" width="530">         <p>&#8220;我已完成Faxmangler 的搜寻与取代功能。Frank&#8221;            <br />主管应该看一下结果，然后回一个：             <br />&#8220;我检查过F a x m a n g l e r的搜寻与取代，不太顺畅，请再修改。Hubie&#8221;             <br />或是：             <br />&#8220;很好，继续加油！Hubie&#8221;             <br />想想看，如果大家经常收送这类正面的e - m a i l，一定会觉得充满干劲，这和可恨的进度报告多么不同！程序设计师会很乐意看见这类的好消息，当自己送出完成工作的信息时，也会很有成就感；没有人会觉得这是很讨厌的报告。</p>       </td>     </tr>   </tbody></table>  <p><strong>&#160;&#160;&#160; 每当进度快要落后了，就到我的办公室私下讨论原因，我们一起开动脑筋寻求解决之道。</strong></p>  <p><strong>例如：</strong></p>  <table cellspacing="0" cellpadding="2" width="530" border="0"><tbody>     <tr>       <td valign="top" width="528">         <p>当某位程序设计师觉得自己可能要落后了，我会和他谈，研究将来如何避免这种事情。是我们在制定进程时疏漏了某一个重要环节吗？或是时间表定得太乐观了？是不是有个错虫( b u g )在作祟，害得程序很难写或无法测试？不论问题是什么，我们一定想办法解决掉，并且预防它将来再发生。</p>       </td>     </tr>   </tbody></table>  <p><strong>&#160;&#160;&#160; 尽可能减少项目中小组彼此间的依赖。</strong></p>  <p>&#160;&#160;&#160; <strong>目标越是明确，达成目标的过程就会越有效率。</strong></p>  <p>&#160;&#160;&#160; <strong>建立最适当的程序设计优先考虑顺序，并且让所有的程序设计师确实遵守。</strong></p>  <table cellspacing="0" cellpadding="2" width="530" border="0"><tbody>     <tr>       <td valign="top" width="528">         <p>排出一个优先级表：</p>          <ul>           <li>体积大小(size) </li>            <li>速度(speed) </li>            <li>坚固性(robustness) </li>            <li>安全性(safety) </li>            <li>可测试性(testability) </li>            <li>容易维护(maintainability) </li>            <li>简洁(simplicity) </li>            <li>再用性(reusability) </li>            <li>可移植性(portability) </li>         </ul>       </td>     </tr>   </tbody></table>  <p>&#160;&#160; <strong>一旦您掌握了这个概念，把它应用在项目上，您可以大声说自己确实是在聪明地工作，而不是辛苦地工。</strong></p>  <p><strong>&#160;&#160;&#160; 一发现Bug就立即清除掉，别拖延。</strong></p>  <p><strong>作者给出的提示：</strong></p>  <table cellspacing="0" cellpadding="2" width="532" border="0"><tbody>     <tr>       <td valign="top" width="530">错虫愈晚清除，时间花得愈多。          <br />          <p>在开发的过程就立即除虫，可以让您早些学到经验，然后就不会再犯同样的错误；相反地，如果到了项目后期才发现，您可能已经犯过多次同样的错误而不自知。</p>          <p>发现错虫而立即除错是一种缓冲器，提醒那些讲求快速而不够谨慎的程序设计师，以后多加小心。</p>          <p>若能保持没有任何错虫，您就能比较准确估出项目的完成时间。</p>          <p><strong>要求错虫随时发现随时改，等于是在开发过程中引进一个小小的质量管理机制，多方的防微杜渐，保护产品的正确性。</strong></p>       </td>     </tr>   </tbody></table>  <p>&#160;&#160;&#160; <strong>学习前人的经验；</strong></p>  <p>&#160;&#160;&#160; <strong>好方法要让大家分享；</strong></p>  <p><strong>&#160;&#160;&#160; 项目只要有偏差，就需要调整，绝对不可以放任自流！</strong></p>  <p>&#160;&#160;&#160; <strong>定期暂停手边的工作，然后往前思考，随时做必要的修正，以避免未来的大障碍。</strong></p>  <table cellspacing="0" cellpadding="2" width="532" border="0"><tbody>     <tr>       <td valign="top" width="530">         <p>有什么事情是我今天能做，而且可以帮助项目在未来几个月内顺利进行的？</p>       </td>     </tr>   </tbody></table><img src ="http://www.blogjava.net/leeguannan/aggbug/183344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-03-03 08:34 <a href="http://www.blogjava.net/leeguannan/archive/2008/03/03/183344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软团队：成功秘诀(总结)</title><link>http://www.blogjava.net/leeguannan/archive/2008/03/02/183212.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Sun, 02 Mar 2008 01:29:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/03/02/183212.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/183212.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/03/02/183212.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/183212.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/183212.html</trackback:ping><description><![CDATA[<p>总结本书中的54条法则得到：</p>  <ol>   <li>建议一只和谐的团队； </li>    <li>给团队一个明确的目标，让大家都知道这个目标并把它印入脑海； </li>    <li>让品保人员明白自己不仅仅是为了Bug而加入团队的； </li>    <li>建立合适的检查点和里程碑，并利用检查点和里程碑检验团队的健康度； </li>    <li>不要害怕延误，要不断的修正方法但不要过度的修正目标； </li>    <li>努力让团队中成员产生共鸣； </li> </ol>  <p>希望大家共勉！</p><img src ="http://www.blogjava.net/leeguannan/aggbug/183212.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-03-02 09:29 <a href="http://www.blogjava.net/leeguannan/archive/2008/03/02/183212.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软团队：成功秘诀(4)</title><link>http://www.blogjava.net/leeguannan/archive/2008/02/29/183010.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Fri, 29 Feb 2008 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/02/29/183010.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/183010.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/02/29/183010.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/183010.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/183010.html</trackback:ping><description><![CDATA[<p>法则二十七：</p>  <p>&#160;&#160; <strong>Be like the doctors&#160;&#160;&#160; 用医生的方法</strong></p>  <p>&#160;&#160;&#160; 当病人已经药石罔效时，医生通常会对病情有所保留，避免病人太过悲观或恐惧，并且尽量鼓励病人保持希望，最好能让病人有个期望完成的目标。</p>  <p>&#160;&#160;&#160; 医生绝对不会斩钉截铁地断言什么医疗行为一定会有什么样的结果，反而是以    <br />一种自在且充满信心的口吻说：&#8220;试试看吧，一切都还没有确定呢。</p>  <p>&#160;&#160;&#160; 另外一件应该向医生学习的事情是，即使是再小再简单的医疗行为，都带着几分风险，所以医生会说：&#8220;当然，任何情况都是有可能的，治愈率再高我都不能跟你说百分之百没问题。</p>  <p>法则二十八：</p>  <p>&#160;&#160;&#160; <strong>Remember the triangle:features, resources, times&#160;&#160;&#160; 软件开发金三角：特色、资源和时间</strong></p>  <p>&#160;&#160;&#160; 作为一位软件开发的领导人，你得集中注意力在三件事情：资源（人和钱）、特色（产品与其品质）和时间。这三件事是软件开发的核心，其他的都是外围。</p>  <p>&#160;&#160;&#160; 资源、特色和时间是三角形的三个边，任何一边的变化，都会影响到另外一边或两边。所以如果时间落后了，去看你的三角形，看看对特色和资源的影响；当有人谈到可以增加什么功能特色时，你得立刻谈起时间和资源，以显得你思虑周    <br />详反应敏捷。所以，管理者的第一要务是把这个三角形放在心里，随时利用这个模式来思考问题，你会发现答案都在这个三角形内。</p>  <p>法则二十九：</p>  <p>&#160;&#160;&#160; <strong>Don't know what you don't know&#160;&#160;&#160; 不懂别装懂</strong></p>  <p>法则三十：</p>  <p>&#160;&#160;&#160; <strong>Don't go dark&#160;&#160;&#160; 建立适当的检查点</strong></p>  <p>法则三十一：</p>  <p>&#160;&#160;&#160; <strong>Beware of a guy in a room&#160;&#160;&#160; 留心没有检查点的组员</strong></p>  <p>法则三十二：</p>  <p>&#160;&#160;&#160; <strong>If you build it, it will ship&#160;&#160;&#160; 软件要经常建构，就能顺利推出</strong></p>  <p>法则三十三：</p>  <p>&#160;&#160; <strong>Get a known state and stay there&#160;&#160;&#160; 掌握实际情况</strong></p>  <p>法则三十四：</p>  <p>&#160;&#160;&#160; <strong>Use ZD milestones&#160;&#160;&#160; 零缺点里程碑</strong></p>  <p>&#160;&#160;&#160; 零缺点不代表软件中没有错虫，也不表示没有遗漏的功能，而是指团队的成品达到了事先规划的品质水准，也经过测试验证，就是零缺点里程碑。</p>  <p>法则三十五：</p>  <p>&#160;&#160; <strong>Nobody reaches the ZD milestone until everybody does&#160;&#160;&#160; 所有组员一起到达零缺点里程碑</strong></p>  <p>法则三十六：</p>  <p>&#160;&#160;&#160; <strong>Every milestone deserves a no-blame postmortem&#160;&#160;&#160; 完成每个里程碑后，心平气和地检讨</strong></p>  <p>法则三十七：</p>  <p>&#160;&#160;&#160; <strong>Stick to both the letter and the spirit of the milestones&#160;&#160;&#160; 把握里程碑的实质意义与精神</strong></p>  <p>法则三十八：</p>  <p>&#160;&#160;&#160; <strong>Get a handle on &quot;normal&quot;&#160;&#160;&#160; 培养正常的团队运作</strong></p>  <p>法则三十九：</p>  <p>&#160;&#160;&#160; <strong>A handful of milestones is a handful&#160;&#160;&#160; 里程碑不宜太多，才好掌握</strong></p>  <p>法则四十：</p>  <p>&#160;&#160;&#160; <strong>Every little milestone has a meaning (story) all its own&#160;&#160;&#160; 每一个里程碑应有专属的宗旨</strong></p>  <p>法则四十一：</p>  <p>&#160;&#160;&#160; <strong>Look for the natural milestones&#160;&#160;&#160; 寻找自然出现的里程碑</strong></p>  <blockquote>   <p>以下是六种自然出现的里程碑：      <br />1. 产品设计趋于稳定。       <br />2. 中间产品被明确定义。       <br />3. 团队真正了解要花多少时间和努力才能完成目标（通常这会发生很多次，而且多半是进度落后的时候）。       <br />4. 产品设计被删减，或是资源增加，或是进度延误，       <br />或是三者同时发生。       <br />5. 开发活动停止。       <br />6. 产品进入除错或稳定阶段。</p> </blockquote>  <p>法则四十二：</p>  <p>&#160;&#160;&#160; <strong>When you slip, don't fall&#160;&#160;&#160; 如果滑了一跤，别就此倒地不起</strong></p>  <ol>   <li>&#160;&#160;&#160; 进度落后与道德无关，请切记！ </li>    <li>&#160;&#160;&#160; 不要隐瞒事实。 </li>    <li>&#160;&#160;&#160; 化阻力为助力，利用进度落后来激发效率。 </li> </ol>  <p>&#160;&#160;&#160; 进度落后不是问题，被进度落后吓倒才是问题。进度落后并不代表产品的难度太高而无法开发。但是如果进度已经落后却未被察觉，那表示组员们不思考、不观察、不讨论，此时组织可说是濒临瓦解了。</p>  <p>&#160;&#160;&#160; 善用你的迟延，这是最能看出你领导能力的时候，此时也是组员最脆弱也最需要你的时候，在这个时候组员最能把你的话听进去，此时组员的学习能力最强。如果你在办公室内激动得大喊大叫，指天骂地，那就错失了赢得组员的心的大好机会。你必须说：&#8220;O K，进度落后了，让我们来看看问题出在那里？⋯⋯今天下午五点在会议室，我们要检讨每一个细节，问题一定要设法解决！&#8221;当组员了解到你不是企图卸责或算帐，而是真诚地想解决问题，就会乐意把一切开诚布公地摊开来谈，大家一起研究问题，从各种角度去设法克服问题。&#8220;进度落后&#8221;反而变成大家宝贵的成长经验。</p>  <p>法则四十三：</p>  <p>&#160;&#160;&#160; <strong>Don't trade a bad date for an equally bad date&#160;&#160;&#160; 不要因为进度落后而更改最后期限</strong></p>  <p>&#160;&#160;&#160; 进度落后的程度是与计划的不确定性成正比。</p>  <p>法则四十四：</p>  <p>&#160;&#160;&#160; <strong>After a slip, hit the next milestone, no matter what延误了这个里程碑，就一定要如期到达下一个里程碑</strong></p>  <p>&#160;&#160;&#160; 我们必须明白，每一次的延误，就是你和团队信心的一次受挫，所以，延误这个里程碑时，最好的补救办法就是无论如何绝不延误下一个里程碑。团队必须挽回对自己的信心和对理想的承诺；因此，下一个任务必须准时完成的意义更重大，团队需要重建信心。</p>  <p>法则四十五：</p>  <p>&#160;&#160; <strong>A good slip is a net positive&#160;&#160; 把延误当作宝贵的学习机会</strong></p>  <p>法则四十六：</p>  <p>&#160;&#160;&#160; <strong>See the forest&#160;&#160;&#160; 见树亦见林</strong></p>  <p>&#160;&#160;&#160; 如果本项目有六个模块，各有9 0 %的部分已经完成，那么你已经完成了5 4 %。每个模块完成了九成，听起来是个挺不错的成绩，但不能当成整个项目完成了百分之九十，它们之间不是相加的关系。你必须&#8220;见树亦见林&#8221;。如果任何一个模块完成比率是零，那么整个项目的完成率也是零。</p>  <p>法则四十七：</p>  <p>&#160;&#160;&#160; <strong>The world changes, so should you&#160;&#160;&#160; 世界在变，所以你也得跟着改变</strong></p>  <p>&#160;&#160;&#160; 虽然你想做些改变，你未必有勇气实行。</p>  <p>&#160;&#160;&#160; 伟大的软件必定只有一个中心思想，至于品质能够实现到什么程度，依赖领导者能否带领团队融合无数个小而重要的改变。如果你能在混乱中辨识出对项目最有意义的改变，并且引导团队去适应它，将它融入团队的精神中，将来就会在产品中表现出这项改变，呈现在顾客眼前。</p>  <p>法则四十八：</p>  <p>&#160;&#160;&#160; <strong>Violate at least one sacred cow&#160;&#160;&#160; 关怀多于要求</strong></p>  <p>法则四十九：</p>  <p>&#160;&#160; <strong>Beta is not the time to change&#160;&#160;&#160; Beta测试版不是修改功能的时候</strong></p>  <p>法则五十：</p>  <p>&#160;&#160;&#160; <strong>The Beta is for spin development&#160;&#160;&#160; Beta测试是暖身活动</strong></p>  <p>法则五十一：</p>  <p>&#160;&#160;&#160; <strong>Triage ruthlessly&#160;&#160;&#160; 急救术</strong></p>  <p>法则五十二：</p>  <p>&#160;&#160; <strong>Don't shake the Jell-0&#160;&#160;&#160; 小心保持软件的稳定</strong></p>  <p>法则五十三：</p>  <p>&#160;&#160;&#160; <strong>Compete with the superior story&#160;&#160;&#160; 伟大的软件应该有一个伟大的故事</strong></p>  <p>法则五十四：</p>  <p>&#160;&#160; <strong>Create a winning image&#160;&#160;&#160; 建立赢家形象</strong></p><img src ="http://www.blogjava.net/leeguannan/aggbug/183010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-02-29 18:00 <a href="http://www.blogjava.net/leeguannan/archive/2008/02/29/183010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软团队：成功秘诀(3)</title><link>http://www.blogjava.net/leeguannan/archive/2008/02/29/182821.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Fri, 29 Feb 2008 00:28:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/02/29/182821.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/182821.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/02/29/182821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/182821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/182821.html</trackback:ping><description><![CDATA[<p>设计</p>  <p>&#160;&#160; <strong>软件的设计─每一位团队成员都必须参与─这表示团队整体对功能需求的了解程度。</strong></p>  <p>&#160;&#160;&#160; 软件设计的第一要诀是：将全团队中最好的想法组织起来，去满足顾客内心最深处的需要。（带领团队做案例研讨，带领大家思考如何解决一切的疑难，让每一件事都在该做的时候做好。）</p>  <p>法则十九：</p>  <p>&#160;&#160;&#160; <strong>Go for greatness&#160;&#160;&#160; 追求卓越</strong></p>  <p>法则二十：</p>  <p>&#160;&#160;&#160; <strong>State your theme&#160;&#160;&#160; 设定主题</strong></p>  <p>&#160;&#160;&#160; 重点是产品的功能特色不能像是一袋子随便抓过来的东西，应该把与主题无关的东西都删掉，而且你的目标也必须符合统一性（unity of purpose）才行，这一点是与主题互为一体的两面。将资金投注在这个目标上，让所有的人都完全明白这个目标，并且为这个目标努力，做得到这些的话，你的产品就会完全包含这个目标。</p>  <p>法则二十一：</p>  <p>&#160;&#160;&#160; <strong>Minimize dependencies&#160;&#160;&#160; 不要倚赖不确定的事</strong></p>  <p>法则二十二：</p>  <p>&#160;&#160;&#160; <strong>Propitiate the gods&#160;&#160;&#160; 平息顾客的愠怒</strong></p>  <p>法则二十三：</p>  <p>&#160;&#160; <strong>Portability is for canoes.&#160;&#160;&#160; 软件的可移植性</strong></p>  <p>法则二十四：</p>  <p>&#160;&#160; <strong>Design time at design time&#160;&#160;&#160; 在设计时将时间因素考虑在内</strong></p>  <p>开发</p>  <p>法则二十五：</p>  <p>&#160;&#160;&#160; <strong>Don't accept dictation&#160;&#160;&#160; 拒绝不合理的命令</strong></p>  <p>&#160;&#160;&#160; 千万不要一味的唯命是从，在必要的时候拒绝！敢于拒绝！</p>  <p>&#160;&#160;&#160; 如果在上位者不让真正执行任务的人来估计所需的进度，那就是专制。</p>  <p>&#160;&#160;&#160; 开发进度表应该由下而上来拟定，每一个人负责自己的工作，也负责设定它的时间表，负责准时完成工作。责任和充分授权是一体的两面，二者兼备才能拟出合理的开发计划。一种非常有趣的进度估算方法！</p>  <p>法则二十六：</p>  <p>&#160;&#160;&#160; <strong>Now go play&#160;&#160;&#160; 把工作当作游戏吧</strong></p><img src ="http://www.blogjava.net/leeguannan/aggbug/182821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-02-29 08:28 <a href="http://www.blogjava.net/leeguannan/archive/2008/02/29/182821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软团队：成功秘诀(2)</title><link>http://www.blogjava.net/leeguannan/archive/2008/02/28/182583.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Thu, 28 Feb 2008 00:31:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/02/28/182583.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/182583.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/02/28/182583.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/182583.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/182583.html</trackback:ping><description><![CDATA[<p>法则六：</p>  <p>&#160;&#160;&#160; <strong>Watch the ratio&#160;&#160;&#160; 注意人员的组成比例</strong></p>  <p>&#160;&#160;&#160; &#8220;基本原则是开发人员和品保人员的比例不超过2:1&#8221;这个是作者为我们提出的建议，而在SUN这个比例被修改为1:1，甚至是1:2，可见在项目中品保人员比开发人员更加重要！</p>  <p>&#160;&#160; &#8220;其实真正负责软件如期完成的是品保人员。当进度落后时，我们第一个要看的是品保人员：人数够不够？有没有充分授权？有没有确实参与设计？进度上能不能跟开发人员配合良好？能不能一有问题出现就立刻提出警告？品保人员和开发人员的理念一致吗？是不是跟开发人员过度亲密而放水？&#8221;</p>  <p>&#160;&#160;&#160; &#8220;一个健全的软件开发团队一定要符合上述的人数比例原则，平均每一位品保人员所支援的开发人员不超过两位。&#8221;能做到吗？至少在我们公司这个，基本上，很难！</p>  <p>法则七：</p>  <p>&#160;&#160;&#160; <strong>Use feature teams&#160;&#160;&#160; 运用特色监督小组</strong></p>  <p>&#160;&#160;&#160;&#160; 融入任务（I d e n t i t y） 充分的授权和责任感，使人具有控制权和影响力，愈能使自己与任务融为一体。</p>  <p>&#160;&#160;&#160; 建立共识（C o n s e n s u s） 共识是特色监督小组的气氛。</p>  <p>&#160;&#160;&#160; 地位平等（B a l a n c e） 由于特色监督小组的每一位成员都是不同的背景、专长，不同的工作角色和不同的观念，没有谁比谁优越的情形，所以每个人的地位都是平等的。</p>  <p>&#160;&#160;&#160; <strong>权威是来自学识，而非职位。</strong></p>  <p>&#160;&#160;&#160; 在一个理想的项目中，基本上有两种角色存在：创造者（c r e a t o r）和推动者（f ac i l i t a t o r）。创造者是一些专业人员，例如开发程序、行销、软件品保和文件撰写；而推动者则负责凝聚团队共识和维持最佳的开发环境。</p>  <p>法则八：</p>  <p>&#160;&#160;&#160; <strong>Use program managers&#160;&#160;&#160; 项目经理的职责</strong></p>  <p>&#160;&#160;&#160; 项目经理是软件开发团队的一份子，他的职责是：    <br />&#160;&#160;&#160;&#160;&#160; &#8226; 领导大家定义出一个成功的产品。     <br />&#160;&#160;&#160;&#160;&#160; &#8226; 引导大家对产品注入深切的期望和信念。     <br />&#160;&#160;&#160;&#160;&#160; &#8226; 带领团队将理想实现，变成可预见的产品诞生。</p>  <p>&#160;&#160;&#160; 项目经理应该要有技术的背景，而且必须在两种层面非常专精：一是对开发产品所使用的技术很熟悉，二是拥有建构软件的技术领导能力。项目经理必须精于哄骗、驱策、鼓励、要求他的团队做出最好的软件和表现出最好的工作效能，他清楚知道软件制作过程中每一项的投入和产出细节，他必须懂得用最好的方式定义产品和维持健全的技术。最后，项目经理还必须是团队的发言人，面对媒体、客户、以及整个组织。</p>  <p><strong>&#160;&#160;&#160; 项目经理是软件开发的核心人物。</strong></p>  <p>&#160;&#160;&#160; 你想了解这个团队？看看他们的软件就知道了，反之亦然。</p>  <p>团队精神：</p>  <blockquote>   <p>1. 一群人同心协力，集合大家的脑力，共同创造一项智能财产。</p>    <p>2. 个人的创造力是一种神奇的东西，源自于潜在的人类心智潜能，它被情感丰富，而被技术束缚。</p>    <p>3. 一群人全心全意地贡献自己的创造力，结合成巨大的力量。结合的创造力由于这一群人的互动关系、彼此激荡，而更加复杂。</p>    <p>4. 这种复杂的情况之下，领导变成像是人际互动的交响乐指挥，辅助并疏导各种微妙的人际沟通。</p>    <p>5. 在团体中的沟通和互动是正确而健康时，能够使这一群人的力量完全结合，会产生相加相乘的效果，抵销互斥。沟通顺畅能使思想在团队中充分交流传达。</p>    <p>6. 团队工作的品质比时程更重要，而作品的伟大是需要对&#8220;团队精神&#8221;特别加强，才能达成。&#8220;团队精神&#8221;可视为个别成员精神的平均值，而个人的精神（ p s y c h e）则是使他能感觉、能思考、能推论的内在力量。</p>    <p>7. 倘若忽视了&#8220;团队精神&#8221;，则只会有平庸的成果。</p> </blockquote>  <p>法则九：</p>  <p>&#160;&#160;&#160; <strong>Be an authority ， not an authority figure&#160;&#160;&#160; 要权威，不要霸权</strong></p>  <p>&#160;&#160;&#160; 权威的目的是让每一位团队成员都有自己的专业权威，和团队的专业自信，这才是管理者真正的权威。</p>  <p><u>竞争</u></p>  <p><strong>&#160;&#160;&#160; 创新无处不在，绝对不可以停滞不前！</strong></p>  <p>&#160;&#160;&#160; 如果你无法时时掌握时代的脉搏，如果你怠于响应周围迅速而剧烈的变化，特别是竞争者的行动，如果你不能持续地创新原有的技术，永远保持领先，那么别人马上就会趁虚而入，取代你而成为市场上的优胜者，掳获顾客的心和他们的荷包。</p>  <p>&#160;&#160;&#160; <strong>确定了你的情况之后，应该先考虑采取标准步法。</strong></p>  <p><strong>标准步法：</strong></p>  <p>法则十：</p>  <p>&#160;&#160; <strong>Alone? A market without a competitor ain't&#160;&#160;&#160;&#160; 没有竞争对手？未必是好事</strong></p>  <p><strong>（注：任何人都有敌人！）</strong></p>  <p>法则十一：</p>  <p>&#160;&#160;&#160; <strong>Dead beat? Break out of a feature shoot-out&#160;&#160;&#160; 竞争者紧追不舍？推出创新的功能特色（注：想法设法的压制你的敌人！）</strong></p>  <p>法则十二：</p>  <p>&#160;&#160;&#160; <strong>Behind? Ship more often with new stuffs&#160;&#160;&#160; 落后竞争对手？加大投入，更快推出新版本（注：沉下心来，夺回领地！）</strong></p>  <p>法则十三：</p>  <p>&#160;&#160;&#160; <strong>Ahead? Don't ever look back&#160;&#160;&#160; 领先竞争对手？不要回头（注：挑战自己，战胜自己！）</strong></p>  <p>&#160;&#160;&#160; <strong>准时地、经常地推出新产品是软件开发产业中最大的金科玉律。</strong></p>  <p>法则十四:</p>  <p>&#160; <strong>&#160; Take the Oxygen along&#160;&#160;&#160; 保持新鲜</strong></p>  <p>&#160;&#160;&#160; 快速变迁的节奏是信息社会的常态，你必须快速前进，否则就落伍了。</p>  <p><u>顾客</u></p>  <p>&#160;&#160;&#160; 想方设法的让顾客迷恋上你的产品！</p>  <p>法则十五：</p>  <p><strong>&#160;&#160;&#160; Enrapture the customer&#160;&#160;&#160; 给顾客惊喜</strong></p>  <p>&#160;&#160;&#160; 顾客最低的希望是你能够理解他所感受到的痛苦经验。</p>  <p>法则十六：</p>  <p>&#160;&#160;&#160; <strong>Find the sweet spot&#160;&#160;&#160; 寻找靶心</strong></p>  <p>法则十七：</p>  <p>&#160;&#160;&#160; <strong>It's a relationship, not a sale&#160;&#160;&#160; 与顾客建立关系，而不是卖产品</strong></p>  <p>法则十八：</p>  <p>&#160;&#160;&#160; <strong>Cycle rapidly&#160;&#160;&#160; 加速产品推出的周期</strong></p>   <img src ="http://www.blogjava.net/leeguannan/aggbug/182583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-02-28 08:31 <a href="http://www.blogjava.net/leeguannan/archive/2008/02/28/182583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软团队：成功秘诀(1)</title><link>http://www.blogjava.net/leeguannan/archive/2008/02/27/182376.html</link><dc:creator>阿南</dc:creator><author>阿南</author><pubDate>Wed, 27 Feb 2008 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/leeguannan/archive/2008/02/27/182376.html</guid><wfw:comment>http://www.blogjava.net/leeguannan/comments/182376.html</wfw:comment><comments>http://www.blogjava.net/leeguannan/archive/2008/02/27/182376.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leeguannan/comments/commentRss/182376.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leeguannan/services/trackbacks/182376.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 带过项目的朋友一定都看过或者听说过这本书吧，其实这本书是来自&#8220;微软管理经典著作&#8221;之中的一本，其他两本是《微软项目：求生法则》、《微软研发：制胜策略》这三本书我会精读细读的（虽然我不带项目~），从中取其精华写成笔记与大家分享。</p>
<p>&nbsp;&nbsp;&nbsp; 首先看一下《微软团队：成功秘诀》分别在china-pub和豆瓣上的书评把：</p>
<p>china-pub</p>
<table style="width: 523px; height: 118px" cellspacing="0" cellpadding="2" width="523" border="0">
    <tbody>
        <tr>
            <td valign="top" width="522">本书叙述了吉姆.麦卡锡带领微软Visual C++开发团队的故事，告诉读者如何构建一个优秀的软件开发团队，如何在一段时间内成功地开发一个软件，而且此后不断地完成新版，并一直受到市场的肯定。他将自己思考的结晶和种种惨痛的教训归纳出<strong>54条</strong>言简意赅的法则，从产品设计、程序开发到成功的营销，无所不包，在微软，本书是每一位项目经理的必读圣经。</td>
        </tr>
    </tbody>
</table>
<p>豆瓣</p>
<table cellspacing="0" cellpadding="2" width="524" border="0">
    <tbody>
        <tr>
            <td valign="top" width="522">
            <p>作为一位经验丰富的老手，作者将自己思考的结晶和种种惨痛的教训归纳出<strong>54条</strong>言简意赅的法则，从产品设计、程序开发与构建、准时推出产品，到成功的营销，无所不包。您将会发现本书就像软件开发本身一样迷人有趣。本书是为软件设计者、开发人员、营销人员、技术主管，以及所有亟欲一窥软件开发奥秘的人士所写的。</p>
            </td>
        </tr>
    </tbody>
</table>
<p>法则一：</p>
<p><strong>&nbsp;&nbsp;&nbsp; Establish a shared vision&nbsp;&nbsp;&nbsp; 建立一个共同的目标</strong></p>
<p>&nbsp;&nbsp;&nbsp; 在团队总建立共同的目标是非常重要的，团队中的成员只有当有了共同的目标之后才能有归属感，才能对憧憬中的产品产生荣誉感，才能在管理中更好的调动各个成员的积极性，从而将团队推向正轨，让产品如期发布！</p>
<p>&nbsp;&nbsp; &#8220;团队中每一位成员都必须非常清楚我们要做什么、成品会是什么模样、基本的产品策略是什么、什么时候必须完成。凡是与共同目标相冲突的看法都必须转化成一致，而不是把它消音。和谐的共识是绝对必要的，否则软件不可能做得好，很多事会复杂化而难以收拾。&#8221;</p>
<p>&nbsp;&nbsp;&nbsp; 所谓目标是共同的希望，对未来的事情所描绘出来的景象，比方说作者在给VC++项目组开会时候的描述&#8220;Visual C++是最伟大、最值得骄傲的产品，你们难道不这么认为吗？我知道我们可以如期完成它，而且用它来给对手一个迎头痛击，不只我一个人这么想吧？我们将创造微软的明日世界，我们会大有作为的，不是吗？&#8221;其实他已经给VC++了一个很好的目标，他让成员们觉得，我们都是在伟大事情，一但在团队中形成了荣誉感，你会发现你的团队将会空前的团结！</p>
<p>法则二：</p>
<p><strong>&nbsp;&nbsp;&nbsp; Get their heads into the game&nbsp;&nbsp;&nbsp; 使大家主动投入</strong></p>
<p>&nbsp;&nbsp;&nbsp; &#8220;如果每个人都在认真思考如何使团队更有效率，这个团队自然就比较容易表现出高效率，反之亦然。&#8221;让每一个人都参与进来，需要管理者能够调动每一个人的积极性~让大家都主动的去思考问题，为产品主动的出谋划策。</p>
<p>&nbsp;&nbsp;&nbsp; 需要管理者去倾听每一个愿意说的成员的言论或者主意，需要判断的这些言论或者主意的能力，面对好的想法，也许它不切实际，但是也不要一棒子打死，而是要进行诱导，让他下次可以提出更好的更切实际的想法来。</p>
<p>&nbsp;&nbsp;&nbsp; 鼓励创新而非抹杀它！</p>
<p>为什么组员会怠于思考或是不敢说出想法？ <br />
&nbsp;&nbsp;&nbsp; &#8226; 因为他们认为没有人会重视他的想法。 <br />
&nbsp;&nbsp;&nbsp; &#8226; 因为他们认为该由别人告诉他该做什么事。 <br />
&nbsp;&nbsp;&nbsp; &#8226; 因为他们认为这样做没有什么好处，只会使老板皱眉头罢了。 <br />
&nbsp;&nbsp;&nbsp; &#8226; 管理者只管发号施令而已。</p>
<p>法则三：</p>
<p><strong>&nbsp;&nbsp;&nbsp; Create a multi-release technologyplan&nbsp;&nbsp;&nbsp; 建立开发多版本的技术规划</strong></p>
<p>&nbsp;&nbsp;&nbsp; 授权共决，其实就是全民参与，无论是对待成员的新想法还是对待项目的技术规范时都使用全民参与。（这样好吗？安全吗？）</p>
<p>法则四：</p>
<p>&nbsp;&nbsp;&nbsp; <strong>Don't flip the bozo bit&nbsp;&nbsp;&nbsp; 别做笨蛋</strong></p>
<p>&nbsp;&nbsp;&nbsp; 软件产业中最重要的事情是&#8220;让大家思考！&#8221;。</p>
<p>&nbsp;&nbsp;&nbsp; &#8220;在微软我们把这种人叫作b o z o，意思是笨蛋。永远没有人会注意笨蛋的所作所为，即使他真的有贡献，他也不会有任何份量。笨蛋当然是不可信任的，你对笨蛋惟一的期望是但愿他不要搞砸事情。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 在我的部门里，这种德行是不允许的。我要每一个人都全心全力地投入，每个人都得有贡献，每一个人都可以侃侃而谈我们的产品─如何在市场上竞争、何时出新版本等等，而且每个人对产品的看法都一致，不会众说纷云。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 将自己的意见强行加诸于他人者，其实是笨蛋。&#8221;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 需要随时防范组员出现&#8220;江郎才尽&#8221;病！</p>
<p>法则五：</p>
<p>&nbsp;<strong>&nbsp;&nbsp; Use scouts&nbsp;&nbsp;&nbsp; 刺探敌情</strong></p>
<p>&nbsp;&nbsp;&nbsp; 必须有一个人或者有一些人去观察未来的发展趋势，预言新技术。这个角色是非常重要的！</p>
<p>&nbsp;&nbsp;&nbsp; &#8220;这次他们学乖了，事先派了两位最优秀的组员担任&#8220;侦察员&#8221;，做了一次彻底的技术调查和完善的规划，终于在危机爆发之前将之化解。&#8221;</p>
<p>&nbsp;&nbsp;&nbsp; &#8220;&#8220;侦察员&#8221;就是为科技的改变而准备的，如果你决定永远停着不动，那你不需要&#8220;侦察员&#8221;。&#8221;软件公司中如果没有这个角色还叫软件公司吗？</p>
<img src ="http://www.blogjava.net/leeguannan/aggbug/182376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leeguannan/" target="_blank">阿南</a> 2008-02-27 09:20 <a href="http://www.blogjava.net/leeguannan/archive/2008/02/27/182376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>