迭代软件开发项目管理

出版时间:2010-3  出版社:清华大学  作者:(美)毕特纳//思朋斯|译者:罗景文//罗灿锋//张弘毅  页数:356  
Tag标签:无  

前言

软件开发经历了一个漫长的发展过程。“在黑暗中摸索”的年代里,我们墨守着沿袭传统项目管理方法的旧模型,即首先指定需求,然后将其“冻结”,直到结束前都不再改动需求。虽然开发周期十分清晰,即计划工作,然后再按计划工作,但其结果却乱作一团。问题常变得扑朔迷离,软件开发组织声称成功完成了任务,并演示是根据需求规范交付的。但从商业的角度来看,系统必然是失败的,而且这在交付时会变得显而易见。为什么呢?因为事情并非是一成不变的。所有大型软件开发项目都会持续相当长的时间,它们势必受到外界环境变化的影响:新技术的涌现、新竞争对手的出现、经济驱动力量的变化等。有时在外界压力的驱使下追求创新,而外界压力并非始终恰好落在软件开发周期范围内。在今天的快节奏世界里,如果您完全照搬最初的需求构建系统,事必会构建出一个错误的东西,导致自己在市场竞争中一败涂地。虽然也存在执行不当的问题(根本原因可能也是原始需求模棱两可),但是一个经过无数次讨论总结出的结论是:即使执行过程完美无缺,也可能不会成功,原因是最初的方法足以导致所有管理者一败涂地。显然,我们需要一种新方法,这种方法应该着重于取得商业方面的成功,而不只是软件开发方面的成功。现在,如果以顺应变化的能力来确定一个软件开发组织是否成功,我们将对这个问题有一个新的看法。变化会在需求中体现出来,因此软件开发组织所面临的最根本问题是处理需求波动的能力。此外,需求变化会随机出现,而且变化范围和出现时间由外界因素决定。也许您的项目节奏和周期井井有条,但需求的变化可能与项目的进展不同步。就像生活中无法加以控制的其他事情一样,您需要采取应对之策。有句话掷地有声:  “要么顺应变化,要么被逼上绝路!”本质上,这正是迭代开发关注的问题。它是软件开发对“交付有价值的软件系统”这一根本商业问题做出的回应。是的,“系统”是一个移动靶。我们放弃了将这个靶子钉死在墙上的不明智想法;我们努力地跟踪它并击中靶心。迭代开发是一种较新的方法,它从20世纪80年代开始起步。到了20世纪90年代,采用该方法的公司发现它比旧方法能够更好地交付价值。事后看来,迭代开发的发展历程似乎一帆风顺,但实际上,迭代方法与其他技术进步一样,经历了一条坎坷不平的发展之路,其中一些方法如昙花般短暂地盛开后迅速凋谢了,有很多方法经试用后终被抛弃。留下的方法是吸收许多项目的经验的结晶,我们要向那些先驱管理者和坚持使用该方法的管理人员致敬,感谢他们给后来者留下了一套可靠的现代软件开发项目管理方法。历经了数十年的发展,总要停下来反思和总结一番。思想领袖们危襟正坐,苦苦地总结学到的精髓。

内容概要

迭代过程已经得到了广大软件开发人员的普遍认可,它有助于降低风险和投资,管理变化,提高生产率,开发出更有效、快捷的解决方案。但是传统的项目管理技术不能很好地适应迭代项目,而且新的迭代管理技术还很少有文档支持。本书提供了一个很好的解决方案:它为任何迭代项目提供规划、组织、评估、人事招聘和管理方法,是一本非常实用的参考指南。  迭代开发领域的领衔专家KurtBittner和lan Spence向读者介绍了一种经过验证的、可伸缩的方法来同时增加开发的敏捷性和可控性,从而满足了开发人员、管理人员和商家的需求。他们的技术容易理解,也易于和任何迭代方法同时使用,这些方法包括关系统一过程、极限编程、Microsoft解决方案架构等。  不管您是团队带领人、程序管理员、项目经理、开发人员、赞助商,还是用户代表,本书都能使您受益匪浅。  本书主要内容:  •理解迭代项目成功的关键驱动者  •利用“时间盒”来定义项目周期、评估结果  •使用统一过程的阶段来推动所管理的迭代开发项目  •掌握迭代项目管理的核心概念,包括分层和演化  •创建项目的路线图,包括版本计划  •发现风险管理、评估、组织和迭代计划的关键模式  •理解什么必须重点控制,什么可以安全委托  •平滑地转移到迭代过程  •扩展迭代项目管理的方法,应用到不同规模的项目中  •统一软件投资和商业需求  不管您是否喜欢用RUP、OpenUP还是其他敏捷过程来进行软件开发,本书都能降低软件改进过程中的困难和成本,它提供了一种简单的、非入侵的途径来改进质量,并且不会使您和您的团队不知所措。

作者简介

Kurt Bittner在IBM软件开发解决方案的策略部门工作。在其24年的职业生涯中,他成功地在多个行业和领域使用了软件开发的迭代方法。他是IBM关系统一过程原始开发团队中的一员,并与Ian Spence合著了《用例建模》(清华大学出版社引进并出版)。

书籍目录

第Ⅰ部分 迭代项目管理原理  第1章 什么是迭代开发    1.1 迭代与科学方法    1.2 迭代的含义     1.2.1 迭代是一个独立的微型项目     1.2.2 迭代有一组独特的活动     1.2.3 每次迭代的结果都在“发布版本”中     1.2.4 迭代开发的特点    1.3 迭代体验     1.3.1 站在核心开发团队的角度分析迭代     1.3.2 站在客户的角度分析迭代     1.3.3 站在管理团队的角度分析迭代    1.4 小结   第2章 迭代项目的特性    2.1 迭代开发:最大化项目成功的机会     2.1.1 定义项目成功标准     2.1.2 成功和迭代项目     2.1.3 成功与迭代:收集项目成功的证据    2.2 一个成功的迭代项目的主要特征     2.2.1 可验证的、可客观度量的过程     2.2.2 避免“特征蠕变”     2.2.3 持续增加功能     2.2.4 不断提高质量     2.2.5 持续降低风险     2.2.6 控制变更     2.2.7 越来越精确的估算     2.2.8 越来越高昂的热情、士气、协作和团队工作     2.2.9 致力于一种正确的商业解决方案    2.3 小结   第3章 控制迭代项目    3.1 制约项目的变量:范围、质量、时间和成本    3.2 利益相关方:项目成功的真正驱动者    3.3 控制单个迭代     3.3.1 时间盒     3.3.2 范围盒     3.3.3 控制迭代指南    3.4 从总体上控制项目     3.4.1 阶段和里程碑的重要性     3.4.2 迭代、阶段和里程碑    3.5 统一过程阶段     3.5.1 初始阶段     3.5.2 精化阶段     3.5.3 构建阶段     3.5.4 移交阶段     3.5.5 阶段和里程碑的可选视图     3.5.6 对统一过程生命周期的常见误解    3.6 客观度量成果:在项目生命周期内控制迭代   3.7 度量和迭代:项目的反馈控制    3.7.1 度量和阶段     3.7.2 通过度量控制项目    3.8 小结   第4章 为迭代项目管理做好准备    4.1 交付价值:成功的关键之处     4.1.1 迭代专注于交付价值     4.1.2 用例:统一迭代开发方法    4.1.3 期望成果、风险、场景和迭代规划   4.2 迭代项目的团队建设     4.2.1 团队技能和态度     4.2.2 领导团队     4.2.3 架构的职责:奠定一个坚实的基础     4.2.4 与扩展团队一起工作     4.2.5 迭代态度和价值观    4.3 改变考虑规划的方式     4.3.1 传统规划理念     4.3.2 为什么将传统的规划理念应用到软件中是错误的    4.3.3 渐进规划理念    4.3.4 比较两种方法    4.3.5 成功的迭代项目经理的七个习惯    4.4 小结  第Ⅱ部分 规划和管理一个迭代项目 第Ⅲ部分 附录 附录A 用例驱动的开发入门简介  附录B 大纲、模板和清单 附录C 示例

章节摘录

插图:任何情况下,均可在每一轮决定是否获得更多筹码来购买更多赢面概率信息,也可根据了解到的信息提前退出。与此类似,每个迭代都将更多资源注入项目以求取得成功,并由此获得更多关于项目成功机会的信息。如果项目成功完成迭代,且取得了客观的、可以评测的、已得到证明的增量效果,那么,赞助方的信心将随之攀升,会继续投资。如果在初始迭代期间,项目看上去已无法进行,面临非常高的风险级别,赞助方则会在未遭受重大损失前提前退出。从某种意义上讲,每个迭代的成本就像保单中的保险费’。您在迭代期问购买信息以免遭受巨大损失(项目失败)。这等同于标准的风险管理方法:通过购买保险来管理风险。如同将在第3章看到的,使用这种迭代方式来管理项目风险是成功应用迭代和增量技术的基石。与传统的瀑布开发方法相比,迭代和增量开发为企业提供了很多好处。这些好处包括:增加了可预见性、缩短了产品上市时间、提高了解决方案的质量、项目敏捷性和生产率。只有企业更主动参与项目和迭代,才能实现其中大多数好处。这将从根本上改变企业处理项目的方式,将影响需求捕获方式、进度评估方式以及至关重要的项目注资方式。1.3.3 站在管理团队的角度分析迭代前面介绍了在一系列迭代(专注于提供业务价值)中开展协作的业务团队和开发团队,您需要站在管理人员的角度分析迭代,并了解这种做法的重要性。首先,设想一个缺乏管理指导的软件开发项目(您可能亲身经历过这样的项目)的场景。这样的项目通常缺少中长期发展规划,进展方向随意而为,几乎没有哪个团队成员了解要去往何方。如果没有迭代计划,将无从了解项目将在何时结束,完成项目需要哪些资源,或者何时需要这些资源。没有估算系统来帮助判断项目成本,客户和投资方只会为最小的项目注资,人们几乎不知道项目如何发展,以便达到交付解决方案的目标。落入理想主义的陷阱将使我们认为,如果团队致力于实现目标,将会自行组织、履行对组织的所有承诺,并快速高效地交付高质量的软件。在现实中,即便是最优秀的团队也需要进行必要的监督才能确保日复一日的工作向着长期目标迈进。更重要的是,通过管理才能将团队拧成一股绳。缺乏管理往往是造成很多项目失败的根本原因加。人们(特别是那些非管理者)很容易误认为,管理基本上就只需要一些官僚主义,管理者的职责就是保持这种官僚色彩,而让其他团队成员去努力工作。实际上,许多平庸的管理者在一定程度上也确实是这样做的;如果管理者所做的就是这些,项目将很可能失败。管理不仅是做笔记、监督时间表和留意预算;领导力和工作方向是取得成功的基础。正确的管理为以下基本问题给出了清晰的答案。

图书封面

图书标签Tags

评论、评分、阅读与下载


    迭代软件开发项目管理 PDF格式下载


用户评论 (总计2条)

 
 

  •   迭代软件开发项目管理这本书讲到了软件工程过程的本质
  •   没付运费2天就到货,很及时啊,翻阅一下,感觉不错,我相信这本书介绍的管理模式对项目管理、企业的管理都是科学而高效的!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7