摘要: 尽管和RUP相比,OpenUP具备“最小化”的特点,但是内容依然比较多,毕竟是几十年软件行业最佳实践发展而来。本文提供了一种按部就班,逐步演进的方式在团队中学习和推广OpenUP。 首先,理解OpenUP的基本内容和“四项核心原则”。 和RUP相比,UP只包含最基本的内容,但是开始学习依然会感觉到很吃力,内容很多,这会让你坚持不了多久就选择放弃。其实,你不需要一开始就了解面面俱到的内容,了解OpenUP包含哪些基本的内容和这些内容的基本组织结构即可。 在了解完基本的内容后,学习OpenUP的四项核心原则很重要,这四项核心原则是组织OpenUP的前提。当然,有些原则需要深入实践才能有更好的... 阅读全文
posted @ 2012-08-02 01:04 亦风 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 演化,持续演进并且不断获得反馈允许团队尽早从项目干系人获得反馈,并且向他们持续演示增量的价值。简介 理解所有干系人的需求,关注所有项目的风险,理解所有项目的技术,甚至是了解如何和同事协同工作,完全做到这些通常不大可能。即使是完全熟知上述内容,这些内容也很可能在项目开发过程中发生变更。所以,我们需要提升团队增量演示价值并且尽早从干系人获得持续反馈的实践能力。 提升这种实践能力,这个原则的本质是持续获得反馈,并且同时提升产品质量和改进团队协作流程。只要我们提供一种框架和保持良好的心态持续获取反馈并且持续改进,那么变更将更容易被解决。另外,尽早获得反馈,而且是持续获得反馈,同时在项目早期处理高优先. 阅读全文
posted @ 2012-08-02 01:03 亦风 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 关注,从开始起,就将注意力放在软件架构上,以减轻风险,并组织软件开发。 演进的架构有助于团队处理复杂性,降低风险,并且更好的组织开发工作。简介 软件系统的架构即系统重要组件的组成结构,这些组件通过接口互相交互,同时,这些组件由更小的一系列组件和接口组成。 如果没有架构作为基础,系统的演进将变得效率低下并且充满随意性。这种系统无论是扩展、重用,还是集成都变得十分困难,而且需要大量的重新开发工作。没有架构所提供的共同的技术关注点,团队的开发组织工作和思想交流也变得很困难。 尽早关注架构可以减少风险并且更好地组织开发工作。实践基于当前的知识体系和需求创建架构 正如爱因斯坦所说的,让一切尽量变得简单. 阅读全文
posted @ 2012-08-02 01:02 亦风 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 协作,协作以协调利益,以及保证理解一致。 培育一种健康的团队环境,支持团队成员互相协作并且形成对项目的一致理解。简介 软件是由具有不同兴趣爱好和技巧的团队成员一起创建而成,这些人通过一起协同工作来保证高效性。 本文描述的开发实践关注于培养一个健康的团队环境。健康的团队环境支持高效的协作,使项目参与者(开发团队、质量保证工程师、产品干系人和客户)利益达成一致,帮助项目参与者形成对项目的一致理解。实践维持一致的理解 项目参与人需要对项目达成一致的理解以保持项目协作的高效性。否则,如果团队成员在理解和利益方面都无法达成一致,大家都基于不同的目标一起工作,这将导致项目混乱无序。 我们需要建立一种机制. 阅读全文
posted @ 2012-08-02 01:01 亦风 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在竞争优先级以及最大化干系人利益之间建立平衡 允许项目成员和干系人共同开发一个解决方案,在考虑到项目的各种约束的前提下,让干系人的利益达到最大化。简介 软件系统并非为所有的用户提供所有的功能。如果以提供全面的功能为目的必然造成浪费,并且导致系统臃肿庞大。为了能够开发出成功的系统,项目干系人和项目开发团队成员必须对以下三个因素有清晰的理解并且达成一致的认识:解决什么问题开发团队的约束(成本、进度、资源、规章制度等等)解决方案的约束 开发团队最大的挑战是创建一个解决方案,这个解决方案能够交付给项目干系人最大的业务价值并且遵从一定的约束。 所谓平衡,即在所需开发的系统特性和定义... 阅读全文
posted @ 2012-08-02 00:59 亦风 阅读(285) 评论(0) 推荐(0) 编辑
摘要: OpenUP对于以下四种用户十分有用:项目团队中的软件开发参与人员(开发人员,项目经理,业务分析师,测试人员)项目干系人软件过程工程师培训师 项目团队成员 可以从OpenUP所定义的角色中找到他们所需要的操作指导。每种角色都描述了一组该角色负责完成的活动和交付件。OpenUP同时还提供了角色和角色之间协作的操作指导。 项目干系人 能够找到操作指导,这些操作指导说明可以从软件开发团队获取到哪些预期的项目成果,以及软件是如何被创建的。OpenUP同时还描述了项目干系人的职责以及项目干系人如何以最佳的方式参与到项目中,从而获得满足他们需求的软件产品。 软件过程工程师 可以使用EPF Compose. 阅读全文
posted @ 2012-08-02 00:56 亦风 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 最小化、完整性和可扩展OpenUP是一个最小化、完整和可扩展的软件开发流程。为小型团队提供了一套最小化的流程,可以直接使用,也可以执行自定义和扩展以符合团队的需要。简介我们可以通过以下方式理解OpenUP:它所服务的团队包含以下目标:应用最低限度的,只包含必需元素的流程来提升整体价值避免不能提升生产力的形式主义的工作产品导致额外工作量采用可以在软件开发生命周期内可能需要进行扩展的流程为了能够把流程应用到尽可能多的项目中,OpenUP拥有以下的几个特性:最小化—— 仅仅包含了基本的内容完整性——呈现了构建一个系统的完整流程可扩展性——提供基础流程内容,这些流程可以根据需要新增或者裁剪最小化Op. 阅读全文
posted @ 2012-08-02 00:56 亦风 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 本文档将概要介绍什么是OpenUP,它的目标和生命周期。在了解这些基本信息之后,你可以阅读“如何在团队中推广OpenUP”了解采用什么方式进行学习和使用。本文牵涉的一些具体的例子以企业应用架构涉及业务为主。 面向小型团队 OpenUP是面向小型团队的,这种小型团队可以在一起工作,并且开展广泛的沟通和交流。团队成员包括干系人、开发工程师、架构师、项目经理和测试工作成。他们一起作出决策,并且决定开展哪些工作,同时决定如何更好地解决干系人的需求。 注意,在这个团队中,业务干系人应该作为团队的成员,而不是独立于团队之外,因为这对于项目成功很关键。至少应该有业务的接口人作为业务方的代表,如果无法实现相. 阅读全文
posted @ 2012-08-02 00:53 亦风 阅读(390) 评论(0) 推荐(0) 编辑
摘要: OpenUP 是一个精益的统一过程,它在结构化的生命周期中采用迭代和增量的方法。OpenUP 强调注重实效、敏捷的哲学,将关注重点放在软件开发的协作本性上面。它是一种不约束工具和拘泥于仪式的开发过程,可以被扩展到非常广泛的项目类型之中。 精益(Lean)从精益制造的概念受到启发,我们同样强调高质量的结果、消除浪费、处理变化和关注客户的价值。丰田汽车早期的生产线是半机械化的方式,对于人的依赖很高,为了达到优秀的品质,需要不断地精益求精,不断地改善,这个过程叫持续改善。这种持续改善,用另外一个词说就叫精益求精。所以他的生产方式也就精益生产方式。 敏捷哲学(Agile philosophy)... 阅读全文
posted @ 2012-08-02 00:49 亦风 阅读(435) 评论(0) 推荐(0) 编辑