﻿<?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/xinwuhen/category/29846.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 10 May 2008 12:29:41 GMT</lastBuildDate><pubDate>Sat, 10 May 2008 12:29:41 GMT</pubDate><ttl>60</ttl><item><title>软件项目管理的原则------转载</title><link>http://www.blogjava.net/xinwuhen/archive/2008/05/10/199745.html</link><dc:creator>心无痕</dc:creator><author>心无痕</author><pubDate>Sat, 10 May 2008 12:20:00 GMT</pubDate><guid>http://www.blogjava.net/xinwuhen/archive/2008/05/10/199745.html</guid><wfw:comment>http://www.blogjava.net/xinwuhen/comments/199745.html</wfw:comment><comments>http://www.blogjava.net/xinwuhen/archive/2008/05/10/199745.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xinwuhen/comments/commentRss/199745.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xinwuhen/services/trackbacks/199745.html</trackback:ping><description><![CDATA[<p><strong><font size="4">软件项目管理原则谈<br />
</font></strong><br />
<br />
软件开发的残酷的现实告诉我们：没有规则的软件开发过程带来的只可能是无法预料的结果。<br />
<br />
我们中的大多数项目管理人员在其个人简历中纷纷写到：&#8220;拥有多年的丰富的项目管理经验&#8221;，但在实际开发中，&#8220;丰富的&#8221;管理经验变成了软件开发人员可怕的梦魇。一次次的失败、一次次的返工，她所谓的项目管理经验只不过是再一次的游戏于&#8220;无间&#8221;（十八层地狱）。一次，在与不少项目管理者的交流中，大家纷纷提到的软件变更带来的可怕影响。但是正如完整的法律体制不能制止犯罪，但没有完整的法律体制犯罪会更加猖獗一样，频繁的软件变更固然可怕，但是没有一个完整的项目管理对应机制，我们无法相像项目最终会是一个什么样子。此外还有一次，笔者在求职时，招聘公司的技术主管（40-50岁左右），向我吹嘘公司按CMM4的过程规则来进行软件的开发和管理。殊不知，我一问下面开发人员，她们在经历无数的加班后正在给已经完成的软件项目添加软件概要设计书，这让我大吃一惊。如此这样形式主义的公司，不呆也罢。<br />
记得一个格言曾经说过&#8220;人类最愚蠢的行为在于忘记常识&#8221;。另外一句较为相仿的格言则是&#8220;不知道历史的人必然会重蹈覆辙&#8221;。作为项目管理来说亦为同样的道理。很可惜，我们中的大多数管理者口口声声&#8220;软件工程&#8221;，工作时&#8220;用程序代替用户需求&#8221;，极具政客的嘴脸。其结果必然如目前媒体&#8220;程序员生存状况&#8221;所言，以开发人员在时间的牺牲为代价来换取项目的结束，这是再为普遍不过的现象，在此不再妄加评论。<br />
如何改善我们的软件开发管理，一条便捷之道便是&#8220;尊重常识，尊重历史经验教训&#8221;。在软件项目管理中，有许多的原则和经验可以供我们借鉴。&nbsp;</p>
<p><br />
<strong>一、 计划原则</strong></p>
<p><strong><br />
</strong>没有计划，你无从知道什么时候控制和变更。制定一个详尽的计划，以详细到开发人员可以理解的程度为宜。计划能够告诉你什么时候应该做什么。没有计划，你无从知道自己需要做什么。不少项目经理告诉组员需要做什么东西后扬长而去，丝毫没有一个相关任务（活动）之间的说明。由于没有计划或是计划太粗糙、不切实际，很多项目1/3甚至1/2的时间花在返工上面。因为计划中遗漏了某一项关键任务，项目就有可能宣告失败。试想一下，制定一个周密合理的计划需要耗费这么多的时间吗？需要付出项目失败的代价吗？还有很多项目管理人员常常错误认为&#8220;变化比计划快&#8221;，但实际的情况是，由于没有计划，你无法预测和估量变化给你的项目所带来影响，你所面临的将会是比面条还难以理清的&#8220;混沌&#8221;状态。此外，对于开发人员来说，&#8220;目标导向（Objective Oriented）&#8221;是充分调动其工作积极性的最佳方法，每一个任务阶段的成果能够将员工的工作效率维持在一个较高的水平。因为近期目标总是比远期目标来说更容易看到和达到。为此，制定一个计划吧，让它符合目标导向（通过各个具体任务计划促使项目总计划的达成）。&nbsp;</p>
<p><br />
<strong>二、 Brooks原则</strong></p>
<p><br />
向一个已经滞后的项目添加人员，可能会使项目更加滞后。因为作为新加入的员工来说，相关培训、环境熟悉和人员之间的沟通通路的增加，迫使项目的工作效率急剧下跌。工作效率下降需要加班来进行弥补，但加班造成的疲劳会再次使工作效率降低。同时工作成本却不断的向上攀升。不过就目前来说，项目管理人员丝毫不会理会这一点，&#8220;人多力量大&#8221;也许更能引人入胜。不少项目管理人员抱怨到时间的急迫性，须知很多项目内时间的急迫性来自于项目管理人员不假思索和不基于常理的邀功表现，没有充分考虑的开发人员能力的多样性所致。为此，正规的企业不得不耗费大量的加班费用于加班人员的津贴，同时亦要承担违反《劳动法》的潜在法律危险。现在一种万不得已的做法是，假设项目开发人员之间的任务的关联性不是太大的情况下，采取两班倒或是三班倒的方法来保证时间的延续性和相关开发人员的工作高效性。&nbsp;</p>
<p><br />
<strong>三、 验收标准原则</strong></p>
<p><br />
我们在进行某项任务，往往会为以何种结果为宜而感到困惑。不求质量的开发人员往往凭据经验草草了事，追求完美的开发人员则在该项任务上耗费太多的精力，但此番耗费未必针对该项任务，因而常常吃力不讨好。这是由于没有验收标准而导致的情景。因为没有验收标准，你无法知道你要进行的任务需要一个什么样的结果，需要达到什么样的质量标准。在很多情况下，你的活动会与期望结果背道而驰，而此时的你还在沉醉于自己的辛勤耕耘之中。作为项目经理来说，只有制定好每个任务的验收标准，才能够严格把好每一个质量关、同时了解项目的进度情况。&nbsp;</p>
<p><br />
<strong>四、 默认无效原则</strong></p>
<p><br />
你的项目成员理解和赞成项目的范围、目标和你所制定的项目策略吗？不少项目管理人员认为&#8220;沉默意味着同意&#8221;。实际上我们或多或少都会陷入这样的一个思维误区。试想一下，你作为职员或项目开发人员时的沉默完全代表你赞成你的领导的意见吗？不见得，这就是答案。这一点在项目沟通中极为重要，项目管理者切不可为沉默认为是同意，沉默在很大的程度上说明项目开发人员还尚未弄清楚项目的范围、任务和目标。为此项目管理者还需要同开发人员进行充分沟通，了解开发人员的想法。在对项目没有一个共同的一致的理解的前提下，一个团队是不可能成功的。&nbsp;</p>
<p><br />
<strong>五、 80-20原则</strong></p>
<p><br />
80-20原则在软件开发和项目管理方面有许多&#8220;实例&#8221;。其一便是我们在20％的项目要求上耗费了80％的时间。仔细分析一下，这些项目要求分为必须的非必须的，因此我们建议是压缩非必须的部分或是暂时将其放在一边不必太重视。软件项目开发事实告诉我们，开发人员在非必须的项目要求上耗费了太多的精力，用户的需求变更的大部分出现在&#8220;最好有&#8221;这一部分，实际上用户并不看重这些需求（即使去除这些需求），而我们所做的，往往是舍本求末。<br />
80-20原则的另外一个实例是我们项目中的20％的人员担当了80％的项目任务（这样讲在实际实施中一点都不过分）。考虑到开发人员能力的多样性，聪明的项目管理人员决不会采取任务均分的愚蠢做法，因为就系统论的观点来看，互补结构比对等结构要更稳定一些。此外作为项目管理人员来说，了解属下员工的能力特点，将其放在合适的位置上，会更有利于项目的顺利进行。很多管理人员常常抱怨属下能力问题，究其实质，往往是这些项目管理人员未能发现开发人员潜能所在之处。她们看待问题往往以&#8220;经验&#8221;这样的思维定势来做决定。导致的结果如系统论所言：由于&#8220;抱怨&#8221;的作用和反作用循环，结果是大家都不欢而散。&nbsp;</p>
<p><br />
<strong>六、 帕金森原则</strong></p>
<p><br />
帕金森原则原是用于反映政府部门机构臃肿，效率低下的代名词。不过它在软件开发中一样适用。没有时限限制的话，工作可能无限延期。在软件开发中，如果没有严格的时间限制，开发人员往往比较懈怠。这是人的天性所决定的。千万不要指望奇迹的发生――&#8220;所有员工的思想觉悟异常崇高&#8221;。作为项目管理者而言，此时应充分考虑到员工的工作效率和项目变更带来的负面影响，制定合理的项目工期并鼓动开发人员尽快完成。&nbsp;</p>
<p><br />
<strong>七、时间分配原则</strong></p>
<p><br />
在项目计划编制过程中，我们常常将资源可用率（人、设备）等设置为100％，殊不知你曾想过，由于开发人员需要休息、吃饭、开会等，根本不可能把所有的时间放在项目开发工作上，而且这还不考虑到开发人员的工作效率是否保持在一恒定水平上。所谓一天8小时工时制实际上是徒有虚名。由于项目管理人员的&#8220;无知&#8221;，不少开发人员被迫拼命加班。结果依旧出现Brooks原则所出现问题。在实际开发中，开发员工的时间利用率能够达到80％就已经时很不错的了，我个人比较倾向于60％左右（黄金分割点）。一个常用的经验是如果项目人员不懂技术的话，项目时间可能是原计划（该计划没有考虑到资源可用率）的4/3－5/3。如果项目人员不懂技术、管理人员不懂管理的话，这个数字可能是2倍到3倍。现实就是这么严酷。这很大范围内&#8220;归功于项目管理人员。是的，我们的确没有必要责备开发人员，因为我们对资源可用率的判断完全违反常识。&nbsp;</p>
<p><br />
<strong>八、变化原则</strong></p>
<p><br />
也许有人问过你，在项目管理中唯一不变的东西是什么？我可以告诉你，项目中唯一不变的就是&#8220;变化&#8221;。在项目中不考虑可能发生的变化是不可思议的。不过在面对项目可能发生变化而带来的项目风险时，我们的项目管理人员往往会怀有逃避的态度。经济学里大名鼎鼎的风险规避原则便是项目管理人员心理的有效描述。作为项目管理人员来说，应该及早预测可能出现的风险，做好风险储备。虽然风险储备不能解决所有的问题，但是&#8220;预防胜于治疗&#8221;。可惜的是我们绝大多数人没有这方面的意识，否则医院的生意未必如此红火，项目开发之途未必如此坎坷。&nbsp;</p>
<p><br />
<strong>九、作业标准原则</strong></p>
<p><br />
一个团队要完成项目的开发需要有一定的章法。很可惜，在国内目前仍然以&#8220;作坊式&#8221;为主，高举&#8220;我们符合国际CMM X规范（ISO某某规范）&#8221;的环境下，未必有多少项目团队注意到这一点。我们曾经惊叹印度的高中生都能编程序，而国内却非本科、硕士不收眼帘。究其原因，在于没有开发章法或是章法粗糙，犹如牛皮圣旨一般。一个好的代码模板和代码规范能够解决大多数人编写程序随心所欲的问题，很可惜，没有多少项目管理人员有此意识，也没有多少人愿意去做这项基础任务。业务软件开发需要高超的开发技巧吗？不需要，那是故弄玄虚的开发人员的伎俩。软件开发的美在于其简洁性和规范性，不在于奇技淫巧。因为缺乏作业标准，我们付出的代价是客户的抱怨和无休止的返工。此外，对于那些以形式主意蒙人的项目团队来说，如果你实质如同你口头所说那样，也许你就不会是今天的这副狼狈相。&nbsp;</p>
<p><br />
<strong>十、 复用和组织变革原则－解决项目问题的未来之路</strong></p>
<p><br />
如何解决日益突出的项目工期、成本、质量等问题，这是大多数项目管理者最为关心的问题。从实践来看加强复用的力度，建立项目复用体系和实施组织变革是效果较好的途径之一。复用能够提高项目的生产率，降低项目风险。通过复用，项目管理者能够快速的进入项目问题定义之中，减少项目开发人员的工作量，从而尽可能的解决项目在时间、资源方面的过载问题。另外一条途径是实施项目团队的组织变革（Moc），精简项目管理机构、重新定义工作职责，制定柔性的项目工作流程，改善项目开发人员的沟通状况，提高项目人员的开发效率，努力营造一个良好的项目开发环境。这样才能从根本上解决项目开发的种种棘手问题。&nbsp;<br />
结论：作为一个项目管理者来说，了解和运用上述原则是不够的，若要深入的掌握项目管理知识和技巧，还必须深入学习项目管理（建议参看PMI《PMBOK》）、管理心理学、质量管理学、组织变革、系统论等方面的知识，并在工作中不断的总结和实践。唯有如此，我们的项目管理人员看自己个人简历时方不会觉得脸红，才能在公司中树立自己的管理权威性，同样也才会有一个良好的职业经理生涯的开端。<br />
</p><img src ="http://www.blogjava.net/xinwuhen/aggbug/199745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xinwuhen/" target="_blank">心无痕</a> 2008-05-10 20:20 <a href="http://www.blogjava.net/xinwuhen/archive/2008/05/10/199745.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不防做做事后诸葛亮——项目管理失败的教训(转)</title><link>http://www.blogjava.net/xinwuhen/archive/2008/04/20/194371.html</link><dc:creator>心无痕</dc:creator><author>心无痕</author><pubDate>Sun, 20 Apr 2008 13:25:00 GMT</pubDate><guid>http://www.blogjava.net/xinwuhen/archive/2008/04/20/194371.html</guid><wfw:comment>http://www.blogjava.net/xinwuhen/comments/194371.html</wfw:comment><comments>http://www.blogjava.net/xinwuhen/archive/2008/04/20/194371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xinwuhen/comments/commentRss/194371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xinwuhen/services/trackbacks/194371.html</trackback:ping><description><![CDATA[<p>事后诸葛亮——管理项目失败的教训 <br />
(2003.07.01)&nbsp; 来自：计算机世界&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; <br />
能力的提高往往不是从成功的经验中来，而是从失败的教训中来。 </p>
<p>在克莱斯勒汽车公司，一位项目经理把辞职信交给当时的CEO艾科卡&#183;李，表示要对自己所领导项目的失败负责。艾科卡拒绝了，他知道这位项目经理还&nbsp; <br />
会在汽车行业继续工作，于是说：&#8220;我不希望这100万美元的学费替别的汽车公司交，把教训记下来，这是我们的财富。&#8221;这只是艾科卡带领克莱斯勒走出困境的一个小插曲，却令人回味。 </p>
<p><br />
许多项目经理不注意经验教训积累，即使在项目运作中碰得头破血流，也只是抱怨运气、环境或者团队配合不好，很少系统地分析总结，或者不知道怎样总结，以至于同样的问题不断出现。 </p>
<p><br />
可有可无的项目终结 </p>
<p><br />
项目总监王深刚进公司不久就接到一项任务，要求他尽快把项目成本估算的准确度抓一下。由于市场竞争激烈，公司不得不在没有足够信息和数据的情况下，短时间内做出标书。这使过去几个项目的进度大大延误，成本失控，公司管理层对各项目经理的信任大打折扣。 </p>
<p><br />
王深查看了公司的项目文件档案，按ISO9000管理来看还是比较规范的。他找来正处于项目收尾阶段的项目经理李明，请他写一个项目总结。要求项目组所有成员都参与总结，一周之后拿出一份完整的总结文件。李明的项目比预定工期晚了1个月，成本比预算多出10万元，但与大部分项目相比，这算是做得不错的了。 </p>
<p><br />
颇使王深意外的是，两天后一份两页纸的项目总结摆在他的办公桌上，除了项目背景的介绍，就是一些原则性的套话，&#8220;加强合作、及时跟踪&#8221;等等，没有触及任何实质性问题。毫无疑问，公司的项目经理们觉得&#8220;总结&#8221;可有可无、无足轻重，但是许多宝贵的经验就是这样白白地丢掉了。也许，静下心来好好总结一下，我们可以学到很多东西。 </p>
<p><br />
会议主题：抱怨 </p>
<p><br />
不得已，王深亲自召集李明的项目组开总结会。赵雁发牢骚说：&#8220;总结会不是已经开过了吗？我手上又接了一个电厂项目，马上要做详细设计了，这会能不能不开？&#8221;王深没有回答，把李明写的报告递给赵雁，问道：&#8220;这些体会，你都清楚吗？&#8221;赵雁扫了一眼，虽然有些不太明白，但还是不以为然地说：&#8220;这是项目经理的事，我们组员无所谓。况且，大部分项目根本就不写总结报告。想写也没有时间！&#8221; </p>
<p><br />
&#8220;这就是大家没长进的原因！&#8221; 王深不客气地说，&#8220;超支10万元是怎样造成的？是选择分包商安装监控设备但又无法控制领料造成的！本想赚取材料差价，却没考虑潜在的风险。&#8221;王深接着说：&#8220;我听说以前公司发生过类似的事情，不幸在我们的项目上又发生了。要是总结就这样草草了事，下次还会有！&#8221; </p>
<p><br />
大家逐渐意识到总结的必要性，联想起以往工作，纷纷发表意见。话匣子一打开，总结会变成了一个控诉会。 </p>
<p><br />
在项目总结会上，这是常有的事。项目组把所受的委屈，尤其是来自客户方面的，统统发泄出来。但结论往往没有什么建设性，大都是&#8220;不要相信分包商的承诺、对客户的无礼要求应拒绝&#8221;等没有指导意义的结论。 </p>
<p><br />
王深鼓励大家畅所欲言，他说：&#8220;总结的意义在于判别结果和我们预想的是否一致，以便调整我们今后做计划的方法，为以后的项目工作打基础。大家最好比较一下项目计划和实际执行的差距。&#8221; </p>
<p><br />
李明不好意思地说：&#8220;我们的计划只更新过一次，大家基本不太用。&#8221; 赵雁插话道：&#8220;这是因为计划与实际太离谱，连我们自己都不相信它。&#8221; </p>
<p><br />
王深并没有责怪，他说：&#8220;对于新的项目，我们的报价、人员安排、进度控制大都基于假设，这很正常。现在我们可以回过头来，逐一检查当初的假设与现实情况的差距。下次同类项目，就可以大大提高计划的准确率，尤其是在成本估算和报价策略上，也就能提高中标率了。&#8221; 在王深的提醒下，大家的思路逐渐清晰，原来带有发泄意味的各种意见也变得有些系统化了。赵雁觉得大家的建议在新接的项目中就用得上。 </p>
<p><br />
王深特别强调了风险识别意识。他说：&#8220;这次在消防审批上的时间比预计的要长很多，影响了回款，这应该加在风险列表中。&#8221; 李明补充道：&#8220;应该尽早更换电缆供货商，我们一直希望他们能补上进度，所以迟迟没有启动备选供货商。虽然最后还是换了，但是耽误了两周的工期。&#8221; </p>
<p><br />
一份非常不错的总结报告出来了，超过了10页，特别精彩的是对风险防范中启动应急计划的体会以及工程量的估算部分。 </p>
<p><br />
成长的烦恼 </p>
<p><br />
笔者曾在一家外企工作，看到其完备的计划书、风险分析、文档模板，由衷地感叹总结工作的艰辛。许多项目经理不是意识不到总结的重要性，而是疑虑所付出的劳动太多，是不是值得？ </p>
<p><br />
一位著名作家在参加亚洲作家笔会之后曾有这样的感想：我们代表团成员的论文动辄就是综述、概述和趋势分析，而少有像日本学者所做的编年史、作家生平考证之类的基础数据积累。这或许是在中国文化某些领域我们的研究水平反而比海外落后很多的原因吧。 </p>
<p><br />
项目管理水平的提高，离不开项目总结这项基础工作。这是任何教科书都无法替你做的。如果我们没有诸葛孔明的前瞻智慧，那么项目总结上的亡羊补牢或许也能起到勤以补拙的效果。 </p>
<p><br />
我们往往只有在自己碰得头破血流后才真切体会到别人的忠告是多么正确。在经历了无数的成长的烦恼之后，我们才能体会&#8220;不听老人言，吃亏在眼前&#8221;这句老话的味道。 </p>
<p><br />
对于管理项目，你还想重蹈覆辙吗？</p>
<p align="justify"><!-- End [BACO_DOC Content] --></p>
  <img src ="http://www.blogjava.net/xinwuhen/aggbug/194371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xinwuhen/" target="_blank">心无痕</a> 2008-04-20 21:25 <a href="http://www.blogjava.net/xinwuhen/archive/2008/04/20/194371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何进行IT项目的需求调研？[读后有得所以转之] </title><link>http://www.blogjava.net/xinwuhen/archive/2008/04/11/192063.html</link><dc:creator>心无痕</dc:creator><author>心无痕</author><pubDate>Fri, 11 Apr 2008 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/xinwuhen/archive/2008/04/11/192063.html</guid><wfw:comment>http://www.blogjava.net/xinwuhen/comments/192063.html</wfw:comment><comments>http://www.blogjava.net/xinwuhen/archive/2008/04/11/192063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xinwuhen/comments/commentRss/192063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xinwuhen/services/trackbacks/192063.html</trackback:ping><description><![CDATA[一、如何理解客户业务和客户需求？<br />
　　<br />
　　原则1：由粗到细，从宏观到微观。<br />
　　<br />
　　必须先从宏观上了解客户业务的全貌，再逐步深入细节。因为对于客户的业务而言，我们是外行，如果从业务细节着手，很容易迷失方向，失去对业务核心的把握。同时要认识到，对于一个外行而言，我们对细节的深入也必定是有限的，不要指望自己能够无穷的彻底的了解每一个细枝末节。一是不可能有无限的时间给你了解，二是没有这个必要。因为未来的系统也不可能完全包办所有业务的细节，还有很多事情是要靠客户企业中这些具有专业技能的人来做的。<br />
　　<br />
　　原则2：从不同层次的客户代表那里收集不同层次的需求<br />
　　<br />
　　对于企业高层决策者，他会给你描述一个系统的大的功能蓝图，如使企业具有整体报价能力，能更好的服务于高端客户，能支持企业的重大业务决策等；对于企业各级管理者，他会给你讲述他这一层的管理需求，如能更好的进行部门员工的业绩考核、生成月度报表，更好的进行业务结算等；对于各级业务操作人员，他可能给你谈及很多业务细节和操作细节&#8230;&#8230;<br />
　　<br />
　　在由上到下的逐级访谈中，对未来系统的描述就从一个大黑箱变成多个小黑箱，再变成透明、明确、详细的系统定义的过程。<br />
　　<br />
　　客户业务调研和需求分析注定是一个不断细化的过程，不要指望一次访谈/调研就能穷尽，也不要指望一次开发过程就能得到完全满足客户梦中期待的那套系统来。因为事实上很多需求是隐性的，连用户都不清楚自己的需求。只有经过多次循环细化才可能把更多隐性的不断挖掘、暴露出来。<br />
　　<br />
　　二、如何具体开展需求调研工作？<br />
　　<br />
　　在RUP中定义需求工作流程的工作目的如下：<br />
　　1. 客户和其他涉众*在系统的工作内容方面达成并保持一致；<br />
　　2. 使系统开发人员能够更清楚地了解系统需求；<br />
　　3. 定义系统边界（限定）；<br />
　　4. 为计划迭代的技术内容提供基础；<br />
　　5. 为估算开发系统所需成本和时间提供基础；<br />
　　6. 定义系统的用户界面，重点是用户的需要和目标。<br />
　　<br />
　　[涉众]：英文stakeholder在RUP中的翻译，在项目管理专著中往往译为&#8220;干系人&#8221;，指所有与项目成败有直接间接利益关系的个人或团体。在软件项目中，往往包括企业的投资者、各级管理者、系统使用者、公司客户，甚至包括企业的合作伙伴和竞争对手。<br />
　　<br />
　　首先要做好业务调研。要尽早把已经收集到的业务资料熟悉起来，并在理解的基础上提炼出问题列表，制成调查问卷。业务调研的要求是一定要沉下去，深入细致的了解客户的业务流程，而不是急着赶工完成自己的需求工件设计和业务模型的建立。在了解各项业务流程的同时，与客户一同深入分析业务的实现逻辑，并记录下有关的实现案例信息，收集好、整理好、分析好有关的参考材料。<br />
　　<br />
　　要把迭代的思想贯穿于从业务调研、需求分析，乃至项目实施的始终。所谓迭代，就是我们老老实实承认我们没有能力一次就把事情做到尽善尽美。所以我们就先把一大部分有把握的地方做好，再在前面成功的基础上不断做好剩余的部分，最终就能无限接近于成功。设计编码过程是如此，业务调研和需求分析也是如此。<br />
　　<br />
　　企业系统的设计开发与软件产品的设计开发有一个最大的不同，就是企业的需求肯定会变化，过去在变、调研的时候会变，系统实施后还会变。而我们要做的就是去适应这种变化。事实上，也正是因为我们采用的是面向对象的方法，才可能做到这一点。因为面向对象的方法认为：对象的基本属性是客观的和不会频繁变化的，而对象间的关系则是可能不断变化的。所以我们在业务调研和需求分析中也要认识到这一点，把不变的沉淀下来，把可变的灵活性和变化的自主性留给客户。<br />
　　<br />
　　各位都是做技术的，在业务调研和需求分析中难免会不由自主的考虑一些技术实现的问题。值得强调的是：需求与技术无关。在业务调研的时候要忠实的进行记录，不要因为你个人对实现的疑虑而对用户需求进行（过早的）修改和裁减。<br />
　　<br />
　　要善于争取客户方各级人员（均是项目干系人，RUP中称为涉众）的支持。只有得到未来系统用户的充分参与，项目才有可能最终取得成功。一套缺乏用户参与的系统，即使最后做出来也是注定没有人去用的。<br />
　　<br />
　　一是要利用客户企业的组织关系，争取到上层的支持，由上到下进行调研配合；二是要会在调研过程中为目标用户树立有针对性的愿景，让他认同愿景的同时主动、积极的支持你的调研过程。<br />
　　<br />
　　&#8230;&#8230;<br />
　　<br />
　　（以下内容从略）<br />
<img src ="http://www.blogjava.net/xinwuhen/aggbug/192063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xinwuhen/" target="_blank">心无痕</a> 2008-04-11 09:45 <a href="http://www.blogjava.net/xinwuhen/archive/2008/04/11/192063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>项目开发中的管理---转载</title><link>http://www.blogjava.net/xinwuhen/archive/2008/03/02/183328.html</link><dc:creator>心无痕</dc:creator><author>心无痕</author><pubDate>Sun, 02 Mar 2008 15:25:00 GMT</pubDate><guid>http://www.blogjava.net/xinwuhen/archive/2008/03/02/183328.html</guid><wfw:comment>http://www.blogjava.net/xinwuhen/comments/183328.html</wfw:comment><comments>http://www.blogjava.net/xinwuhen/archive/2008/03/02/183328.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xinwuhen/comments/commentRss/183328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xinwuhen/services/trackbacks/183328.html</trackback:ping><description><![CDATA[<p style="margin: 0pt"><span style="font-family: 宋体">项目中最麻烦的是需求的变动，今天改成这个样子，过两天客户又要改成那个样子，又过两天又要在最初的样子上加点东西，翻来覆去翻来覆去的修改，要忍受这来来回回的折腾，真的是心理能力要有够好。去年</span> 8 <span style="font-family: 宋体">月开始一个和平船的项目，中间需求大变了一回，本来是以页面为主的形式，做了两三个月整站做的差不多了，忽然客户又要改版成</span> flash <span style="font-family: 宋体">的，那个晕啊，于是大家又开始赶工。很不爽的就是这个样子，整个来了个大翻身，前几天听同事说偶脾气好，被客户折腾了这么久还能忍受，没办法，真的是带个项目就是要不管风吹雨打，都保持平常心，最重要的就是不时调整自己，隔两天看看电影听听音乐，和同事吹吹牛，咋的整自己舒服就咋整，怎么着不能看着项目就来个审美疲劳，有空多想想</span> money <span style="font-family: 宋体">，心情就好的多。</span> </p>
<p style="margin: 0pt"><span style="font-family: 宋体">经常会遇到客户说，这个东西急着要，要什么什么时候赶出来，这个时候千万要拿得住，不能一味听客户的，要考虑到风险，首先考虑这个能不能做，做的话能不能完成，需不需要加班加点。如果做起来有难度，有没有替代方法，要真正了解客户想要的是什么东西，评估一个合理的时间，不能客户说多少时间就多少时间。如果情况比较急，也要考虑是不是加班就一定完的成，完成的质量又怎么样。同时不要想当然的认为只要加班就一定完的成，要做好一个项目固然免不了加班，不过要充分考虑到每个项目开发人员的情绪，适当的安排加班，如果今天需要加班，就要想到今天加班了明天就可能工作效率比较低，要权衡加班的得失和项目的进度，总之，就是加班要加的适当。</span> </p>
<p style="margin: 0pt"><span style="font-family: 宋体">从头到尾一个人可以贯穿整个项目的不多，往往某个人这个项目做了一半，就被抽到另外一个项目中，新加入的人对整个项目又不是很了解，这就需要花时间去带，如果项目周期比较长，可能在前期先熟悉上手，后面就能帮上忙，如果是周期比较短的项目，必要性就不是很大了，与其花力气去带，不如把这个时间用到项目上。</span> </p>
<p style="margin: 0pt"><span style="font-family: 宋体">看项目是不是能够赚钱，人力成本应该占了</span> 90% <span style="font-family: 宋体">的比重，所以和客户沟通的需求人员，应该要知道控制项目的生命周期，什么算做项目上线，什么时候算做是后期维护阶段，我想都马虎不得的。如果对客户的需求把握不准，或者对上线的时间没有一个明确的概念，那么这个项目就无法很好的控制时间成本，如果平均下来，就很可能是一个亏本的试验品。在和客户接触的过程中，就要把握住一个原则，已经确定的上线一般来说不能改动，除非客户的需求增加，一方面要重新制定时间计划，一方面要向客户追加相应的费用，这才能保证项目的剩余价值。</span> </p>
<p style="margin: 0pt"><span style="font-family: 宋体">协调好各方面的关系对一个项目的持续良好进行非常重要，一方面要不时把项目的进度人员困难等各方面的情况向领导反馈，通过交流可以得到一些有用的信息，同时领导了解了你的工作，你才能有一个坚强的后盾支持，做什么不至于没有方向感。一方面要处理和同事之间的关系，上班时间交流工作，下班时间交流感情，忙的时候让人加加班，项目不紧张的时候就让人休息休息，与人为善，与己为善，大家心情好了，做起事情来效率才高。</span> </p>
<img src ="http://www.blogjava.net/xinwuhen/aggbug/183328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xinwuhen/" target="_blank">心无痕</a> 2008-03-02 23:25 <a href="http://www.blogjava.net/xinwuhen/archive/2008/03/02/183328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>