迭代 开发需要一种不同的观点.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
迭代 开发需要一种不同的观点

本文来自 Rational Edge :RUP 的专家解释了被软件开发项目成员需要的职责和观点上的改变,并且介绍了成功的从传统的瀑布型方法向迭代方法转变的客户案例。 成功的采用迭代开发方法的实践不仅仅需要部署一系列的新技术,也需要改变团队协作的方式和团队成员的职责。在本文中,我们将会了解到被软件开发项目成员需要的职责和观点上的改变,并且介绍了成功的从传统的瀑布型方法向迭代方法转变的客户案例。 广泛的引用这些变化作为一种“新的思想”,我们将关注软件开发项目中的不同个体角色: 分析人员 主要负责与客户交互和需求。 开发人员 主要负责设计、实现和单元测试。 测试人员主要负责功能、性能和系统测试。 项目经理 主要负责持续的项目团队的跟踪并关注关键的交付产物。 质量保证和方法专家 负责质量标准和最佳实践。 客户 负责澄清他们的业务需求关心什么样的能力。 分析人员的新思想 在传统的瀑布型的方法中,分析人员与用户和项目团队之外的涉众打交道。目标是理解并开发一个代表了一系列需求的方案,文档化这些需求然后将这些需求文档交给开发团队。一些开发组织用一种“未来”状态的长列表来详细说明需求;另一些组织在高层次上表达需求,为解释需求保留了很大的空间。在这两种情况下,必须有这样的假设,分析人员既要了解业务又要了解用户,并且这个分析人员应该是指定系统应该具有什么功能的人。 一旦分析人员文档化了需求,他或者她就会要求用户来检查这些需求文档(甚至如果他们不能完全理解用来表达需求的技术语言,并且/或者他们不能通过可视化的方法来表示当系统被实现时许多需求是如何满足用户的需要的)。然后,实现需求规格说明就是开发人员的工作了。典型的,不论是开发人员还是测试人员都没有参与到阐述需求的工作中。并且一旦需求被规格化,很少会有在分析人员与设计人员之间的积极的交互。分析人员只是简单的阐明需求说明书中包含的内容。 这种传统的模型在某些方面的缺陷将在下面被解释。 分析人员的新思想 建立与最终客户的持续的交互以确保开发人员可以创建正确的系统。 鼓励尽早的开发和实现系统的关键能力部分,以加深你对什么需求将满足业务需要的理解。 从一开始就与开发人员和测试人员一起优化序需求。 为需求选择适当的详细程度,可以根据你的项目和当前的生命周期阶段而定。 分析人员不应该孤立的指定需求 首先, 瀑布型的方法失败的认识到客户、开发人员和测试人员参与需求说明工作的价值。没有对业务和技术拥有优秀的理解将不可能创建出能够改进你的业务的软件系统。不幸的是,很少有人同时在业务和技术领域具有深厚的知识背景。这就意味着,分析人员、开发人员、测试人员和客户应该一起工作提供需要的所有的信息以确保开发人员可以创建“正确的”软件系统 — 也就是说,一个充分满足客户业务需要并且提供从根本上有效的改进客户业务的能力的软件。 让我们来看一个简单的例子以说明这样的团队协作的好处。 例子:基于 Web 的航班预约系统 我们假设一个分析人员负责对这个基于 Web 的自助服务的航班预约系统的需求工作。这个分析人员指定用户将提供一个航班的代码并指明行程的开始地和目的地。如果用户不知道航班代码,他们可以通过提供城市名字进行查询。然后,这个分析人员指定,在用户预定了一个指定的航班后,他们将会得到关于如何联系不同的代理以预约到达目的地时的地面交通工具。 当设计人员检查系统需求时,他回想起曾经看到过一个能够提供部分功能的并且经过证明的Web 服务的方案。这个低成本的服务允许用户导航机场的地图显示并快速的找到符合他们需要的机场,甚至假如用户不熟悉他们的目的地城市或者不熟悉目的地的地区的机场。 在与客户验证了策略后,分析人员和设计人员对需求作了改动以包含这个 Web 服务的实现。然后,在几天的开发工作后,设计人员发现了这个服务的另一特性:当用户选择了一个机场时,他们会自动的收到一个机场信息的列表,信息中包括可得到的地面交通工具的模式和对每种模式预定的容量。设计人员和分析人员与客户和项目经理讨论了这个发现,大家都同意合并这个额外的 Web 服务的特性到他们的新系统中,代替他们原来指定的创建一个地面交通引用的特性。 就像你从这个简单的例子中所看到的那样,在项目的早期阶段就让设计人员/开发人员参与到需求中能够带来巨大的好处。他们中的每一个人都可以建议分析人员或者最终用户考虑不到的能力和方案。当然,衡量预期的项目范围变化的价值仍然是项目经理和客户的责任,分析人员仍然必须理解业务需要并驱使系统应该在何处结束。但是他或她可以通过与设计人员/开发人员协作找到更好的方案。 分析人员和最终用户的交流应该贯穿于整个项目的生命周期中 传统开发模式的另外一个缺陷是缺乏在分析人员与最终用户之间的交流。 最终用户被期望预先的指出需求并且对需求进行检查,

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档