浏览 5305 次
锁定老帖子 主题:如何去“做计划”
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-31
http://www.iteye.com/topic/16489 clamp 写道 basicbest 写道 ozzzzzz 写道 今天时间不多,简单说几句。
项目的进度如果用schedule来表达,同在项目中使用甘特图一样,都是对于软件开发的特征不理解的产物。进度不应该以时间来做衡量,而应该以完成需求点的多少为衡量。作为schedule,如果粒度太大,显然就没有意义。粒度太小,又无法维护和跟踪。同时在使用迭代开发的时候,schedule的作用就更加奇怪。而使用小迭代的时候,这样的做法就更加让人费解。而如果按照迭代的做法,指导作一个schedule作一个schedule,这个schedule还能不能叫传统意义上的传统意义上的schedule,就很值得推敲。 你的这个说法,给我一个启发。大家做计划的时候,似乎都是以任务为目标,时间做为检核或者度量基础,但是,如果我们把他们的位置换一下,会怎样呢?即: 以时间为目标,以任务做为检核、追踪基础 似乎该开主题帖讨论。 其实所谓的日计划、周计划、月计划就满足你这个要求,时间是均匀流逝的,每隔一个固定的时间间隔来检查一下任务的完成情况。 对于计划或进度表,我个人是这样理解的。 在商务谈判时,谈好了内容/进度/价格,但是这并不一定是完全不变的(附带说一下,法律上完全允许各种各样形式的合同,只要双方认可,但实际中需要很高的商务操作技巧,不幸的是大部分甲方和乙方都缺乏这种商务操作技巧,结果走上一条僵化的不归路) 接下来是项目计划,这是应该以内容的工作分解图为依据,按照任务的相互依赖性和现有资源来进行合理推算得出的,由于存在各种不可测的前提,因此计划中的任务-时间-资源匹配关系表是有多个变化的。 以“后墙不倒”的方式得出的计划绝大多数是不具可执行性的,只是用来给团队施加压力的。 我认为,敏捷的理念是“在一个较短的时间段内,尽可能的提升团队的效率,向用户交付最符合他需要的内容” 并由此推论(注意,这个推论并不一定正确), A.通过这样的若干个短时间段累加之后直至到达项目的总预计时间,所交付的内容结果累加将超出用户的原有期望(所交付的内容很可能已经和最初的约定差别很大),且所花费的成本将小于开发方的估计值。 或者 B.当所交付的结果达到用户期望值时,所花费的时间和成本累加将小于用户的期望值。 以上推论最大的问题在于 甲方的决策者并不是唯一的,提出需求使用系统的(也是有权力认可内容变更的人)和做出采购决策的(也是有权力认可时间和价钱的人)往往是两个部门。 结果往往发生这样的情况,前者认可了内容(变更),但是后者不认可时间和价钱(变更),或者后者认可了时间和价钱(变更),前者不认可内容(变更) 先说一下我的意思。 A以任务完成为导向 我的经验,一般的管理目标都是偏重最终结果,也就是最终是否完成任务。 典型的问句是: “任务S1,S2,S3你是否可以在M期限完成” “完成任务[S]你还要多久”(任务中期,以及任务超期后) B如果我们以时间为导向。 典型的问句是: “在M期限之前你是否能完成任务S?” “在M期限之前,S1,S2,S3这些任务你能够完成几个?如果不能全部完成,S1是否可以完成?” “在Mx期限之前,剩下的S3能否完成” 有什么不同呢? 在A情况下,工作给定,时间是可变的,虽然事实上时间是不可变的。 在B情况下,不变的是时间,工作是可以变化的。 A违背了时间尺度不变(在现有民用科技环境下)的基本规律,而B是符合的。 在B的情况下,为了获得最终收益(因为收益是给定的),很自然的就要对时间进行强制性改变; 在B的情况下,为了使最终收益最大化,很自然的,就要对工作项进行取舍,排定优先级。 所谓日,周,月等计划表现方式,对AB都适用。 clamp的推导过程我认为是不合适的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-31
你对A/B两种形式的解释是很清晰的,但你忽略了量变所引起的质变。
在A情况下,敏捷 反对 对一个过大的任务安排整体时间表 针对1000个功能点的进度估算准确度是很低的 但是针对1个功能点的进度估算准确度是很高的 在B情况下,敏捷 反对 在一个过长的时间周期内估算可以完成的任务。1天的计划是很容易估计和控制的,1年的计划几乎根本不可能得到有效执行。 我们必须承认我们能力的局限,尤其是在软件开发估算和项目控制能力方面的局限。 我认为敏捷的意义在于:不要做超出自身能力的估算及相应的进度计划。 把通常情况下的大的任务/大的时间周期切割成较小的任务/较小的时间周期,也就是所谓的迭代,而在每个迭代内,其实做法是差不多的。 附:针对不同的人的不同能力,“过大”的标准是有很大差异的。 |
|
返回顶楼 | |
发表时间:2007-03-31
附上一篇文章,作为这个讨论的一个注解。希望大家看后,能够有自己的心得。
对于我提出的那些观点,其实我也是有所怀疑,然后所有探索,最后再达到有所修正,并如此循环往复。 但是不管如何,我更加相信有些东西即使如军事计划,其背后依然有所依据的假设性的基础。这就如同毛提出的游击战理论,同原来正统的战术理论。但是其实如果进一步的分析,两种还都是以空间和时间作为基本的系统根据。即便进入现代,空间的概念虽然有所变化——从地表过渡到了三维的,其基本的系统依然如此。 而作为计划来说,不管如何改变,其核心的功能依然是一种对于时间和事件的预测和承诺。这一点是不会变化的。但是由于我们关注的重点不同,在就有了以时间为线索组织,还是以事件为线索进行组织的区别。而不管如何实际上作为为甲方服务的一个系统,甲方更加希望的是什么,才是实际的真正取向标准。 |
|
返回顶楼 | |
发表时间:2007-03-31
ft 剑专了
|
|
返回顶楼 | |
发表时间:2007-03-31
很明显,处于市场优势地位的企业及其领导者,其优先的想法是保持企业处于第二层次的不确定未来中。这个时候竞争的门槛最高,同时自身的发展成本也可以得到控制。
而处于政策优势地位的企业,则会在选择第二还是第一层次而斟酌。比如国内的银行和电信等部门实际上往往就是难于确定自己到底的定位是什么。 而我们所面对的大多说用户,都是小企业和地方政府部门,他们所处的环境都是第三层次的。 而新近企业,则更加希望采取破坏性的行动,以打破第一层次进入第三层次。可以说他们是搅局者。 而不管是谁,实际上都期待第四层次的到来,并时刻做出相应的准备。 而不管是处于何种状态,其策略制定者更加希望的是得到具体的事实依据,而不是凭想象的猜测。而无论如何,你提供的对于具体的需求的承诺,对于甲方的意义要远大于你提出一个宏大而虚渺的完整承诺。 而不管你是采用什么方法,都必须将需求具体化而不是抽象化。而具体化的需求实现,实际上都更加类似一时间为顺序排列的事件序列,而不是以事件序列为依据的时间顺序线索。 |
|
返回顶楼 | |
发表时间:2007-05-31
我的理解,SCHEDULE是对完成一个任务所需资源的一个计划、安排,这些资源包括人、物、资金、时间等等。纯时间或者纯需求点都片面,极端情况下,老板、项目经理的更替也需要考虑在SCHEDULE之内。当然SCHEDULE是需要不断调整、迭代的,所谓的变就是不变,不变就是变,不好意思,说玄了,其实就是这么个意思,绝对与相对。不要说我要根据时间来调整SCHEDULE,或者根据需求点调整SCHEDULE。任何在SCHEDULE中的因素发生变化都需要调整SCHEDULE,即便原来不在SCHEDULE中列的,但是现在看来需要列在其中的,也要调整SCHEDULE,动作大小而已。
|
|
返回顶楼 | |