2.3 计划是什么样
所有的计划都有一个根本原则:三分法。这只是一种极端粗略的估计,类似于“信封背面计算法”,但这可以说是理解明白计划最简单的方法。如果你经历过作计划,并且正要退缩的话,我力图使整个过程简单化。我要提供一个最简单的立足点,用来讨论什么容易出错,为什么会发生,以及怎样解决。
这里是一个用来计划工作的极端简化的模型:对于任何项目,将可以利用的时间分成三份,一份用来设计,一份用来实现,一份用来检验。根据你使用的方法论的不同,这些阶段也有不同的叫法,也许它们在某些方法上互相有交迭,但所有的方法论都有负责这三种活动的时间段。任何一天,你不是在弄清楚要做什么(设计),就是在实际做事情(实现生产代码),要不就是核实,分析,优化已经做好的结果(检验)。
2.3.1 应用三分法
按照一般性原则推论,你每计划一天的时间写代码,就应该花费一天时间搞计划和设计,还有一天时间测试和优化结果(参见图 2-1)。这样可以很容易的检查任何已经存在的项目或者从头开始一个新的项目。如果总的时间没有被大概的分成这样的三等份,就应该有一些可理解的原因,说明为什么这个项目需要的工作划分是不平均的。只要是经过了考虑,在测试上比在实现上多花20%的时间也是合理的。
图 2-1. 项目计划三分法
设想一个虚构的网络项目:如果你有6周的时间来开发它,第一步,你要把时间大致分成三份,然后根据划分,计算出工作完成的时间。如果在较高的预期水准上,还不能提供足够的时间来完成任务,那就是出现了某些根本性的错误了。不是改变计划,就是要减少预期要完成的工作数量(或者降低质量要求)。肖建削减设计或检验时间只会增加写代码被误导或者代码难以管理维护的几率。三分法对于揭示项目的零和性质很有用。添加一个新特性需要不止一个程序员来完成;设计和检验的花费是无法避免的。当计划变动,这是因为有一些隐藏的或者忽略的花费没有被统计到。
2.3.1.1 渐进开发(反项目的项目)
出于完整性,考虑一个最简单的情况是很有意义的,那就是没有项目的情况。所有的工作都是基于要求的出现渐进的被完成,它们的评估基于其他工作,然后被投入到计划的下一个空隙中。有些开发组,网站开发人员,或者IT程序部门都是这样工作的。这些组织很少对大的增量进行投入和承诺。敏捷方法(稍候讨论)经常被推荐给这样的团队作为组织工作最适宜的体系,因为这些方法都强调适应性,简洁性,和对变化的可预见性。如果你同时被分配了几个任务,你就要从本书以项目为中心的例子中自己进行推理了。
三分法仍然适用于这些情况。即使是每一个程序员都在独立的进行很小的任务,他还是要划分大约三分之一的时间来指出要做什么,三分之一的时间用来做事,最后三分之一的时间用来保证工作的正确性。他可能会在这些时间的使用上做一些调整,但是作为一种理解任何工作的大概的方法,三分法适用于任何规模的项目。
2.3.2 划分和控制(大计划 = 许许多多小计划)
如果你研究了绝大多数的软件开发方法论,就会明白三分法的大致概念。设计的目的和实现的具体方法可能不尽相同,但是在最高层上,最终的目的都是相似的。
项目越大,时间越长,就越复杂,这就需要将计划划分成小一点的片断,每个片断都有自己设计,实现和检验时间。极限编程(也称为XP)称这些片断为迭代;螺旋模型中称做阶段;还有一些组织则称它为里程碑。在XP中,这些时间段可能只表示几个星期,在螺旋模型中可能就意味着几个月,但是基本的理念的相同的:为有限的时间范围作详细的计划。
项目的变化越多,越不稳定,里程碑就应该越短。这样才能降低计划的风险数,因为主计划已经被划分为可以管理的片断。计划片断之间的间隔提供了做调整和改进的机会,从而使下一个里程碑能正确的指导自己的工作。(我们将在14章讨论怎样去做。)
2.3.2.1 敏捷和传统方法
XP和其他的敏捷方法都假定未来是不稳定的,所以它们更看重能容易体现方向变化的过程。那些具有很大生产消耗的项目(比如说,盖摩天大楼,生产视频游戏终端,或是制作嵌入式操作系统)走的则是另一条路,它们在计划和设计活动中作了很大投入。它能够被完成,但每个人都要致力于计划中做出的决定,而且为变化付出高昂代价是不可避免的。
大多数的软件项目都是出于两者的中间。它们有初始的计划,要应付未来用户需求的不稳定性,工作按阶段划分,每个阶段都有设计,实现和质量保证的时间。如果出现一个新问题,可以考虑把它放在当前阶段,也可以安排在下一个阶段研究理解。
对于绝大多数项目,初始计划时间是用来从客户和业务人员那里获取足够的信息,从而来定义需要多少阶段,每个阶段的重心是什么(见 图2-2)。按照大计划,每个阶段都要花很多时间来设计和检验。一个阶段可以被划分为两个更小的阶段(采用更加敏捷的开发方式),或者两个阶段可以被合并起来(采用更集成的方式)。但是在所有情况下,都要在阶段之间分配时间,从而对变化加以利用。这包括了对那些在前一阶段出现但无法全面解决的问题的处理。
图 2-2 大项目就是小项目组成的序列
这些就是我要讲的高层的计划方法论。14章和15章将讲述怎样通过整体计划管理项目,但是它们都将重点放在管理和领导的角度,而不是具体描述怎么样应用一个特定的方法论。如果你能看完下面几段(即使你不完全同意其中的观点),那么不管你怎样组织和计划你的项目,14章和15章里面的意见都是相关的,实用的。
总之,我对那些在这一节退出的人表示抱歉。现在,一切都结束了,我保证这个轻量的,简单的计划视图正是你所需要的,你可以以此来更好的理解本章余下部分的原理。
所谓「信封背面计算法」,便是当你对某个问题的答案不确定时,可以拿出一个旧信封,思考一下基础的原理,然后在信封背面写下几个近似方程序,互换几个可能数值,看看求出的答案可否解释这个难题。如果无法解答,便继续找寻其它答案。这种算法就好像拿刀子切奶油一样,可以去掉一些无价值的答案。

翻译 项目管理艺术 2.3相关推荐

  1. 翻译 项目管理艺术 2.2

    2.2 银弹和方法论 规划和管理软件的开发过程有很多不同的体系.这些体系通常称为方法论,方法论体现为针对要达到特定结果所采用的实践主体.通常的软件方法包括瀑布模型,螺旋模型,快速软件开发,极限编程和特 ...

  2. 翻译项目管理:memoQ报告

    memoQ作为全球领先的翻译项目管理工具,能够协助项目经理把握整个翻译项目的动态和走势,提高项目经理们的工作效率,为他们提供良好的工作环境. 在管理项目时,memoQ的报告功能把项目的资源.流程和进度 ...

  3. 翻译的艺术 —— 无能为力的翻译,搞笑的音译

    0. 无能为力的翻译 至尊宝:best sonny, 乌龙:own goal,的粤语发音: 1. 取其发音 word ⇒ 我的,word 妈呀, Need just word,word has wor ...

  4. 翻译的艺术 —— 专有名词(广告词、国外品牌、语言等)

    这些英文著名的广告词,本身就是对英文上佳的应用: Windows 10 isn't for all of us, but for each of us.:Windows 10 是所有人的大事,大快每一 ...

  5. 翻译的艺术 —— 名著的翻译

    外国人名.品牌等的翻译,最终的结果一般是保留声母部分,找出相对匹配的中文词汇: 0. 基本 unexpected:不虞: fairly/quite:颇(非常) in the water side:在水 ...

  6. 项目管理艺术 第一章

    第一章 项目管理简史(你为什么应该关心这些事情) 在许多公司,领导项目的人并不拥有项目经理的头衔,其实这并没有关系.无论是程序员.经理.团队领导者.测试者.还是设计者,无论他们是独自工作还是带领一个团 ...

  7. 翻译质量评估的标准与方法

    崔启亮老师在2016年出版的<翻译项目管理>一书中指出,"项目的质量是项目本身最核心的部分."众所周知,在进入新市场时,企业需要符合新目标市场受众的质量期望,这就要求多 ...

  8. 豆瓣8分+的项目管理书单,送给你

    下半年开始了, 小编前来送书了, 全部是豆瓣高分项目管理书籍哦 看看有没有你需要的? 01.项目经理案头手册 该书是项目管理领域专家学者詹姆斯·刘易斯(James P. Lewis)所作,豆瓣评分8. ...

  9. 计算机辅助英语教学mti,计算机辅助翻译与翻译硕士(MTI)专业建设

    摘要: 本选题旨在通过概括国内外开设的计算机辅助翻译(CAT)课程现状,分析课程目前存在的问题,针对新兴的翻译硕士专业学位(MTI)的开设,提出符合我国社会需要的MTI-CAT教学体系,并构建适应时代 ...

最新文章

  1. nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping
  2. java计算机全部代码_(Java)谁有计算器的完整代码?
  3. 卡特兰数Catalan Number
  4. java注解判断字段是否存在_使用注解和反射判断指定的字段不能为空
  5. android checkbox监听另一个checkbox选中和不选中_一个真正0基础小白学习前端开发的心路历程...
  6. 解决python连接mysql,UTF-8乱码问题
  7. 【转】PMO、EPG与QAG职责分工——任甲林
  8. dedecms和php有什么关系,dedecms和用PHP自己编写的程序做网站有什么区别?哪一种更好一点...
  9. 网页中调用Google地图
  10. 1053.互换最大最小数
  11. 关于Bayesian Decision Theory的几个问题
  12. 重读《从菜鸟到测试架构师》--构建测试
  13. 从零开始的Win10系统设置
  14. zblock 结构_结构方块 - Minecraft Wiki,最详细的官方我的世界百科
  15. git从克隆项目到本地分支和远程分支关联
  16. (简单)SQL练习13:从titles表获取按照title进行分组
  17. 直播推流方案及过程分解
  18. windows文件服务器高可用,通过 Windows Server 2012 构建高可用性的文件服务器
  19. 【笔记】编译原理——第三章 词法分析
  20. ue4-摄像机动画Matinee(多图慎入)

热门文章

  1. 判断一个数是否是完数
  2. Android手机UI设计---软件市场界面设计
  3. XP系统怎样备份注册表
  4. 小米手机二手回收价格大全2022价格表
  5. obs源码 windows编译
  6. [软件评测第十三期]echo回声
  7. TPC常用的熟知端口号
  8. UEStudio编辑lua语法高亮方法
  9. 智慧环保智能化环境系统运用实例
  10. 大疆M3508电机使用PWM控制转速