﻿<?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/warison2008/category/45336.html</link><description>和旋之音，击缶之伴</description><language>zh-cn</language><lastBuildDate>Mon, 14 Jun 2010 05:20:10 GMT</lastBuildDate><pubDate>Mon, 14 Jun 2010 05:20:10 GMT</pubDate><ttl>60</ttl><item><title>说说我们的项目计划</title><link>http://www.blogjava.net/warison2008/articles/323554.html</link><dc:creator>warison</dc:creator><author>warison</author><pubDate>Sun, 13 Jun 2010 17:04:00 GMT</pubDate><guid>http://www.blogjava.net/warison2008/articles/323554.html</guid><wfw:comment>http://www.blogjava.net/warison2008/comments/323554.html</wfw:comment><comments>http://www.blogjava.net/warison2008/articles/323554.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/warison2008/comments/commentRss/323554.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/warison2008/services/trackbacks/323554.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; &nbsp; &nbsp;世界上做任何事，都是从计划开始，一件事情的成功也必定拥有一个周全的计划。完成丰功伟绩，我们需要设定不同的里程碑以达到最终目标；做好一件小事，我们同样需要知道什么时间该做什么步骤。计划永远都是绑定在事情上的，它是整件事情实施周期开始的前奏。没有良好的运筹帷幄，就不能有良好的开始，当然圆满的结局就更别想啦。在一个软件项目中也是同样的道理，项目前期我们要制定计划，项目立项，草拟建设方案，分析讨论可行性，投标参与以及如何中标等；项目中标签订合同后，实际上才是项目真正意义上的开始，这时我们需要做的是任命项目经理，建立项目组，成立项目管理委员会，草拟项目实施纲要，制作软件开发周期，分配资源，调控进度等等，一堆繁琐的事情接踵而来。面对这样烦乱的项目周期构成环节，试问如果没有良好的计划，怎么可能保证项目最终的成功交付。
<br />
&nbsp;&nbsp; &nbsp;下面我提到的项目都是基于常见的软件项目，因工作以来，我一直从事这行，所以只能有针对软件这行发表的权利了。我这里要说的项目计划也仅限于我们熟悉的软件开发流程，范围过大，一来没时间，二来担心说的过多没中心主题，好了不说废话，我这就开始。
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们所认知的软件开发流程主要就是需要分析、设计、代码编写、测试、试运行、交付客户验收等。所以这些主要步骤实际上就是我们项目计划中的里程碑。这些里程碑，理想状态下是需要进行综合评审和告之客户的。这里我之所以说理想状态，是因为这样的流程执行在实际的项目实施过程中，存在于凤毛麟角的范围中或者更肯定点说，基本上不可能存在。因为计划仅是一个预先的理想状态，一旦将其投放到实践中，计划总会受到太多的阻力和不确定的干扰，这其中最为基本的要算时间与成本啦。说到这里问题就出现了，我们既需要制定计划又要求符合实际，如何制定计划就成了最焦点问题，这也就回归到本文的中心上来了（是不是够绕的，o(&#8745;_&#8745;)o...哈哈）。
<br />
<br />
第一，我们说说什么时候开始定计划
<br />
&nbsp;&nbsp; &nbsp;项目的计划，大体开始于合同签订，项目经理任命后。只有合同的签订，我们才可以准确知道项目的开发周期，排除节假日、人为日常休息时间，最终才可以获得项目开发的真正意义上的时间数量。这里说真正意义上，可能也是理想状态，因为我们还没有考虑，风险占据的时间，如公司停电，项目变更，项目组成员意外，离职等等。当然也可能存在更为极端的人为不可抗拒造成的时间流逝，如地震，天气，社会动荡，2012（o(&#8745;_&#8745;)o...哈哈）等等。项目时间点的确定是项目经理必须掌握的，因为只有他很好地计算出有效的项目工期，才能进行各步骤占有工作日的有效调配，各步骤有了时间点的设定才能明确各步骤的任务量，任务范围，预期目标，执行资源等。
<br />
<br />
第二，我们来讲计划怎么定
<br />
&nbsp;&nbsp; &nbsp; 有效工期的明确和各阶段工作目标的设定，基本上完成了项目计划的主体框架。接下来我们需要做的就是，以各阶段里程碑为子目标，细化实现其各子目标的工作量，时间进度，任务难易、时间匹配以及任务执行人员的确立。同时进一步在计划中注明每周完成哪些内容，每天完成哪些事情，张三今天去干什么，李四明天该做哪些等。这样以天为最小单位的任务确认，基本上就完成了计划的制定了，当然如果你有更为睿智的头颅，那可以去深究到午、时、分。。。。
<br />
第三，我们来谈计划风险的预测和控制
<br />
&nbsp;&nbsp; &nbsp;前面我们说，计划项目有效时间需要考虑其不确定因素。同样，一个计划的完成也需要进行计划风险的预测和控制。当你完成计划时，是否问过自己，我的计划真的做好了吗？计划的风险在哪里？万一王五今天生病了怎么办？如果小强明天离职了又如何？假设小薇后天失恋啦该何去何从？这些就是你的风险，但不包含全部，上面提到的停电，不可抗拒都是属于计划风险的范畴。计划的风险属于不可预知的东西，如何有效加以控制，这里我提三种解决思路，首先，我们在制定计划的时候更为客观的尊重事实，尽可能少地偏离实际；其次，尽可能预留一点时间进行临时调度和匹配； 第三，在完成A计划的同时，制作一个B计划，一旦发现或即将发现大规模的延迟计划出现，立刻进行调整补救。
<br />
第四，我们来侃侃如何开展计划
<br />
&nbsp;&nbsp; &nbsp;计划总是交给人来执行的，如何没有可执行的对象，那它就是废纸一张。同样一份计划好坏也是参与者在执行过程中体现出来的。所以计划的有效开展，不能脱离执行者的参与而存在，这就要求我们在制定计划或计划完成后，应安排足够的时间和计划参与者进行密切的交流，了解他们否可以在计划的时间内完成安排？是否存在延迟的阻力？是否需要有效的调整？因为很多时候做计划的人总是按照自己的思路和想法在行走，不要把自己的一厢情愿强加于别人，这样不好；也不要在计划做完后，桌子上一拍，盲目地下发开展；更不要老是告诉你的执行者，就这么干，做不完自己加班，很是暴力。
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说了这么多，不知对各位是否有所感触或帮助，一句话，计划不是废划、乱划而是人划与人化（人性化）。
<br />
<br />
<span style="color: blue">（注：本人文章均为原创，转载请注明出处！20100614 写于深圳。）</span>&nbsp;
<img src ="http://www.blogjava.net/warison2008/aggbug/323554.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/warison2008/" target="_blank">warison</a> 2010-06-14 01:04 <a href="http://www.blogjava.net/warison2008/articles/323554.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>