精华内容
参与话题
问答
  • 敏捷开发

    2020-12-28 22:55:42
    敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于...

    简介

    敏捷开发(agile development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    敏捷模型

    敏捷的含义是快速的或通用的。”敏捷过程模型”是指基于迭代开发的软件开发方法。敏捷方法将任务分解为较小的迭代, 或者部分不直接涉及长期计划。在开发过程的开始就确定了项目范围和要求。事先明确定义了有关迭代次数, 每次迭代的持续时间和范围的计划。

    每次迭代都被视为敏捷流程模型中的短时间”框架”, 通常持续一到四个星期。将整个项目分成较小的部分有助于最大程度地降低项目风险, 并减少总体项目交付时间要求。每次迭代都涉及一个团队, 在整个软件开发生命周期中进行工作, 包括计划, 需求分析, 设计, 编码和测试, 然后再向客户展示有效产品。
    在这里插入图片描述

    敏捷方法特征

    敏捷方法有一些共同的特征。其中有两个最主要的特征是:轻量和简单。敏捷方法论包含最少的流程和文档,减少正式性。目的是做眼前能做的事情,而不去预测太远的未来,首先完成紧迫的事情。快速的、增量的开发能更快地交付客户使用,更快得到反馈。

    开发方法要称之为敏捷,需要具备4个基本特征:增量的、协作的、直接的、适应性强的。

    “增量”是指小版本、频繁发布。“协作”是指客户和开发人员之间紧密沟通,经常工作在一起。“直接”是指方法本身是容易学习和修改的。“适应”是指能把刚刚发生的改变考虑进来。

    具备这些基本特征的敏捷方法包括:
    1、 Adaptive Software Development 适应性软件开发
    2、 Agile Modeling 敏捷建模
    3、 Crystal family of methodologies 方法论透彻派
    4、 Dynamic Systems Development Method 动态系统开发方法
    5、 Extreme Programming 极限编程
    6、 Feature Driving Development 特性驱动开发
    7、 Internet-Speed Development 互联网速度开发
    8、 Pragmatic Programming 实用编程
    9、 Scrum 混乱方法

    敏捷开发语言举例:Groovy

    Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。
    在这里插入图片描述

    Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。
    Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Java 编程),使用方式基本与使用 Java代码的方式相同,该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的结合编程。

    展开全文
  • 体会的结果和感想下回分解,有机会写下敏捷开发整个过程和waterfall开发的比较,结合RUP,XP,Scrum的过程。 当时在做项目中一直在寻求scrum项目管理的工具,当时找了好多,有开源的有商业的,也有结合微软project的...

    前段时间用ROR结合scrum做了个简单的项目。体会了一下ROR和scrum。体会的结果和感想下回分解,有机会写下敏捷开发整个过程和waterfall开发的比较,结合RUP,XP,Scrum的过程。

    当时在做项目中一直在寻求scrum项目管理的工具,当时找了好多,有开源的有商业的,也有结合微软project的。当时发现了mingle,不过那个时候mingle的安装包还没出来。后来去敏捷联盟下了Excel的模板用来管理,感觉比较麻烦。

    昨天bill提到了mingle,勾起了我想研究一下的兴趣,于是下载了玩了一下。

    先介绍下Mingle(摘录javaeye):

    ThoughtWorks的敏捷项目管理产品——Mingle已经开始公测。
    Mingle是一个敏捷项目管理工具。它为整个团队在软件交付过程中提供“一站”式服务,并通过有10年敏捷项目开发经验的ThoughtWorks公司提供的开发框架共享所有的项目成果。你的团队可以使用Mingle进行项目管理,协作,文档共享,Bug跟踪,需求挖掘,以及程序代码和需求连接。
    使用Mingle的十大理由:
    一、 Mingle是敏捷团队真正想使用的项目管理工具。
    使用Mingle,没有重复的数据录入和多余的操作。因为团队真正使用它,这样Mingle就在真实的时间里记录了项目的真正状态。
    二、 它能实现你想要的工作方式。
    Mingle简单易用,快速,简洁,灵活。尤其是它能毫不费力的将程序代码和需求连接起来。
    三、 Mingle可以提高团队生产率,降低项目交付风险。
    所有团队成员可以随时随地了解项目的进展情况。它可以展示激烈的软件开发“现场”,这样你可以对开发中出现的各种问题作出快速响应。
    四、 它可以帮助团队提高学习速度,探索出适合自己的最佳开发模式。
    Mingle自动收集Story(用户案例)、Bug和其它的项目产物,并动态的将它们组织到一起。通过这些数据你甚至会发现一些意想不到的项目趋势状况。
    五、 它简单并且强大。
    Mingle使用简单。我们只专注真正有价值的数据,并将它们在第一时间呈现出来。因此,Mingle为项目管理提供了强大智能支持,实现了简单和强大的完美结合。
    六、 它是一个团队的知识共享平台。
    在整个开发团队中,从项目经理、开发人员、业务分析师到测试人员都能从Mingle里面得到他们需要的信息,而不是各自各地的去电子表格和文档中查找。
    七、 Mingle会智能的完成你想要的工作。
    在你提交自己的程序代码的时候,输入这样的注释消息“修复Bug #541”。Mingle就会将提交的代码和这个Bug关联起来,并自动更新Bug的数据。在浏览这个Bug的时候,可以直接查看到修复这个Bug所改动的所有代码。在此过程中你不需要登陆到Mingle,也不需要做任何额外的工作。
    八、 它是由ThoughtWorks制造。
    ThoughtWorks在14年以来,一直为用户提供创新的软件解决方案。我们专注于IT方案的技术和交付过程的咨询工作,被行业称为技术潮流的领先者。我们带来了敏捷开发方法,同时Mingle将会支持和推动这一切工作。
    九、 Mingle使用你自己的开发过程。
    你可以在Mingle中使用自己已经习惯的术语,定制适合自己的各种开发流程。
    十、 Mingle入门简单。
    Mingle安装简单,并提供一步步的配置向导。安装成功之后,默认附有ThoughtWorks提供的项目模版。可以快速启动一个新的项目。你也可以轻松的将当前项目的数据从Excel导入到Mingle。
    您可以在这里下载观看Mingle的视频演示:http://studios.thoughtworks.com/mingle-project-intelligence/videos。 可以通过下面的链接在线注册申请下载Mingle:http://studios.thoughtworks.com/mingle-project-intelligence/register-your-interest-in-mingle。更多详情请访问Mingle的官方网站:http://studios.thoughtworks.com/mingle-project-intelligence

    开始按照,访问官方网站,下载for windows的。也可以下载做好的虚拟机。安装好之后,运行,发现Minglewebserver service占cpu 100% (Mingle用用jruby写的,不知道用的是merb还是rails mvc,昨天听karron说这两个合并了,以后的rails3采用merb的架构,可能抛弃原来rails)。重启服务,快多了,进入配置页面,这个配置界面和wordpress配置很像,无非就是配置数据库(支持mysql和postgreSQL)什么的,smtp,输入license等。

    注意,license的获取在你下载时输入的mail里找到。可以单独输入http://localhost:8080/license配置你的5人license,当你想扩大用户数量,请按照其说明进行配置。

    clip_image002

    在介绍Mingle之前,介绍几个术语:

    l Release

    n 项目的plan中规定几个release,每个release可能有几个迭代,一个迭代有几个sprint,根据具体情况而定

    l Product backlog

    l 产品的需求库,以story为单位,涉及到功能方面的,测试方面的,部署方面的等等。。。product backlog是可以不断增加的,满足快速响应客户需求变化。

    l Sprint backlog

    n 一个sprint(短跑)周期的需求库,以sprint为单位。一般一个sprint周期为一个月,前一个sprint位完成的可以放到下一个sprint

    l Story

    n Backlog中的最小单位,相当于WBS的每项任务list

    l Task

    n 一个story中可以有多个task,比如用户登录模块可以包含story-登录模块开发和story-单元测试

    l Defect

    n 每个sprint从需求分析阶段,设计,开发到部署中间产生的缺陷,可以记录并被追踪

    安装好后,新建一个project。这里选取使用存在的模板和scrum模板,

    clip_image004

    创建好后,默认导入了一个scrum项目的模板和数据。打开首页,数据非常丰富。整个portal上有当前Release 的burndown图,包括分析,设计的,开发,test的等,有sprint,story,task,defect的矩阵图,完成图等一些统计图表,还有一个defect,story和task的依赖图,这个非常重要。识别和构建他们之间的依赖往往是项目成功的关键,可以根据任务的优先级和顺序,有效安排人员,提高生成效率。Mywork是当前分配给登录用户的任务项,

    clip_image006

    对比一下当时项目使用Excel的project Release plan和PB plan 图

    clip_image008

    clip_image010

    首先打开project admin,这里是本项目的管理入口。包括一些项目的配置,模板的导入导出,变量设置等。

    来一张导出项目模板图

    clip_image012

    下图是card properties的自定义,可以设置show/hide,lock,是否可以transtion等。新增一个card properties的时候设置其类型和应用场所(sprint,defect,story,task….)

    clip_image014

    这是card Type的管理,系统预定了Release,sprint,story,task,defect等。可以通过拖放设定顺序,如release 在sprint前面

    clip_image016

    下图是新增一个cardType界面,可以勾选你想要的card properties,拖放它的order,设置cardType的颜色。

    clip_image018

    这张是整个project的planning Tree,展示了release到sprint到story到task的关系,很库啊。可以拖放map

    clip_image020

    再看看整个项目的Feature Tree吧

    clip_image022

    这个也很酷。可以定制自己的favorite和上面一排的tab menu,定义自己的工作台portal。

    clip_image024

    这个更酷。定义一些transition,当一些条件满足,会自动触发转变成一些结果。比如定义一个Accepted的transition,当一个story的状态为Ready for signoff,会自动设置owner为peterwang,AcceptedOn=(today),status = Accepted

    clip_image026

    附上一个product backlog图

    clip_image028

    对比下当时项目使用的Excel 方式的 product backlog

    clip_image030

    打开每个story的详细信息,设定属于哪个sprint等

    clip_image032

    当前sprint backlog lane图,显示了当前sprint下的每种状态(准备开发,开发中,测试中,已接受等)下的story的信息 。

    clip_image034

    对比下当时项目使用的Excel方式的sprint backlog图

    clip_image036

    设定task归属到哪个story里面

    clip_image038

    对比下当时项目使用的Excel方式的task和story的关系图

    clip_image040

    这是系统audit,记录了每种card(release,sprint,story,task,defect等)的change history

    clip_image042

    • 再加上一个使用Agile hybrid template(2.1)制作的首页图

    This template represents a hybrid Agile approach to project tracking that would support release and iteration-based planning. The template includes some sample cards to illustrate the working of the charts and transitions. These stories can be deleted if necessary by a Project Administrator.

    clip_image044

    转载于:https://www.cnblogs.com/PeterWang/archive/2008/12/25/1362228.html

    展开全文
  • 敏捷开发流程图如下: 【1、组建scrum团队】   【2、sprint计划会议】 [时长] 换算标准:1个月项目时间 -- 8小时  [内容] 把产品负责人(产品待办列表)的需求转变成可工作的软件增量 将需求(增量)分解成...

    敏捷开发流程图如下:



     

    1、组建scrum团队】

     

    2sprint计划会议】

        [时长]

            换算标准:1个月项目时间 -- 8小时 

        [内容]

            把产品负责人(产品待办列表)的需求转变成可工作的软件增量

            将需求(增量)分解成在sprint中可执行的精细的开发事项

            估算将需求转化为完整软件功能所需的工作量

            分配任务

        [输出]

            最新产品增量

            优化的产品待办列表(细化-估算-排序)

            sprint待办列表、附工作量(人天)

     

    3、开始sprint

        [时间]

            小于等于1个月


        [每天站会]

            15分钟

            陈述

                自从上次会议后完成了什么工作

                在下次会议前将要完成什么工作

                遇到了什么困难?如何解决?

     

    4、进行sprint评审】

        [时间]

            sprint结束时(不超过4小时)

        [内容]

            讨论完成的内容、数量、效率、价值

        [可能结果]

            开始使用功能增量

            决定下一个sprint做什么,并做好准备

            决定不再继续,终止工作

     

    5、进行sprint回顾】

        [时间]

            评审结束后,下个sprint开始前(小于4小时)

        [目的]

            讨论如何取得进步

        [可能问题]

            合作是否融洽,为什么

            团队工作量比预测多还是少,为什么

            团队是否有足以完成工作的技能和设施

            开发人员是否充分理解需求,为什么

            团队是否能按需求完成sprint目标,为什么

            在下一个功能增量里有什么可改进或移除的

            团队认为scrum怎么样

     


    展开全文
  • 敏捷开发的简单歌诀,这也概括了敏捷开发的全部内容 迭代开发,价值优先 分解任务,真实进度 站立会议,交通畅通 ...以上这个歌诀,1,2段表明敏捷开发的开发总模式;3,4段表明敏捷开发项目管理;5,6段表明敏捷

    敏捷开发的简单歌诀,这也概括了敏捷开发的全部内容

    迭代开发,价值优先

    分解任务,真实进度


    站立会议,交通畅通

    用户参与,调整方向


    结对编程,代码质量

    测试驱动,安全可靠


    持续集成,尽早反馈

    自动部署,一键安装


    定期回顾,持续改进

    不断学习,提高能力

    以上这个歌诀,1,2段表明敏捷开发的开发总模式;3,4段表明敏捷开发的项目管理;5,6段表明敏捷开发的编码方式;7,8段表明敏捷开发的反馈方法;9,10段表明敏捷开发中,如何协作和提升自己能力。


    敏捷宣言

    敏捷开发是一种把一人为本、团队合作、快速响应变化和可工作的软件作为宗旨的开发方法。


    敏捷的精神

    只关注真正重要的事情,少关注那些占用大量时间而无甚裨益的不重要的事情它强调团队合作,人们专注于具体可行的目标实现真正可工作的软件)。它打破那种基于计划的瀑布式软件开发方法,将软件开发的实际重点转移到一种更加自然和可持续的开发方式上。

    它要求团队中的每一个人(包括与团队合作的人)都具备职业精神,并积极地期望项目能获得成功。它并不要求所有人都是有经验的专业人员,但必须具有专业的工作态度——每个人都希望尽最大可能做好自己的工作。


    敏捷的核心——持续前进

    事实上,只要有人继续使用这个软件,开发就没有结束。我们进行的是持续开发、持续反馈。这种持续前进的方法根植于敏捷方法。它不但应用于软件开发的生命周期,还应用于技术技能的学习、需求采集、产品部署、用户培训等方面。


    敏捷软件开发概括

    敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善

    1.它要整个团队一起努力。敏捷团队往往是一个小型团队(10个人以内),团队的所有成员在一起工作,如果可能,最好有独立在一起的工作空间,一起共享代码和必要的开发任务,而且大部分时间都能在一起工作。同时和客户或者软件的用户紧密工作在一起,尽可能早且频繁给他们演示最新的系统。

    2.不断从自己写的代码中得到反馈,并且使用自动化工具不断地构建(持续集成)和测试系统。在前进过程中,你都会有意识地修改一些代码:在功能不变的情况下,重新设计部分代码,改善代码的质量。这就是重构,它是软件开发中不可或缺的部分,因为编码永远没有一天是真正意义上的“结束”。

    3.以迭代的方式进行工作:确定一小块时间(一周左右)的计划,然后按时完成它们。给客户演示每个迭代的工作效果,及时得到他们的反馈(这样可以保证方向正确),并且根据实际情况尽可能频繁地发布系统版本让用户使用。


    展开全文
  • 敏捷开发 吞吐量和容量 IT项目经理的工作艰巨。 我本人曾到过那里,在旅行期间,我还为世界各地的许多组织提供了很多项目经理(PM)的咨询服务。 项目经理面临的最大挑战之一是如何管理时间,成本和范围的铁三角,...
  • .敏捷开发中的项目管理利器-Mingle

    千次阅读 2010-08-27 14:28:00
    体会的结果和感想下回分解,有机会写下敏捷开发整个过程和waterfall开发的比较,结合RUP,XP,Scrum的过程。 当时在做项目中一直在寻求scrum项目管理的工具,当时找了好多,有开源的有商业的,也有结合微软...
  • scrum敏捷开发

    2015-05-06 16:58:00
    scrum敏捷开发计划制定: 确定项目实施具体阶段目标 确定项目相关任务分解 确定每日站立会议进行计划 确定项目计划总结日程 确定风险解决方案 转载于:...
  • 敏捷开发和瀑布模式

    2019-07-14 15:33:51
    迭代开发:将一个大项目分解成多个小项目,每个小项目都有类似的生命周期。开发者首先发布一个简单的版本,然后再不断的增加功能或者进行改进,这个过程就是不断迭代的过程,每次迭代都有完整的生命周期(包括需求...
  • 敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。敏捷开发就是把一个大项目分为多个...有些团队会一个个排需求、做需求,而敏捷开发是通过任务分解把工作拆分为半天到几天的工作量,然后制
  • 敏捷开发 以人为核心、迭代、循序渐进的开发方式 简化文档,提取文档重点,主要在于人与人之间的沟通, 对开发产品进行迭代,最终完成开发。 迭代:迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小...
  • 敏捷软件开发

    2019-10-08 18:15:32
    什么是敏捷开发敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的...
  • 敏捷开发的核心思想

    万次阅读 2015-10-12 10:32:44
    敏捷开发的核心思想主要是迭代式开发,将整个项目分解为数个短期的迭代周期,快速相应需求进行增量开发。 结合我们公司的开发经验来看,我个人觉得敏捷开发主要包括几个步骤: 需求制定——》需求分析——》设计...
  • 敏捷开发简介

    2010-04-06 15:37:00
    这两个圆圈表示不同的...Test-Driven Development,测试驱动开发,它是敏捷开发的最重要的部分。在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在Story
  •  如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个迭代过程中,可以采用以下步骤来保证和提高整个项目的代 码质量:统一编码规范、代码样式;静态代码分析(staticcod
  • 敏捷开发综述

    2014-03-19 21:50:00
    一极限编程XP: 概述: 极限编程是一个轻量级的、灵巧...XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常...
  • 敏捷开发简介

    2007-10-18 09:21:00
    这两个圆圈表示不同的视角上... Test-Driven Development,测试驱动开发,它是敏捷开发的最重要的部分。在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在
  • 敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来... 如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个迭代过程中,可
  • 我大概是在2003年接触敏捷软件开发这个...这不是一篇介绍敏捷开发的入门文章, 而是我学习、实施敏捷的一些感想, 如果你没有实践过敏捷软件开发, 不妨到文末看看书籍推荐。 我大概是在2003年接触敏捷软件开发这...
  • 敏捷开发中有许多好的想法和实践,这些想法和实践肯定有效:将项目分解为“ 小版本”以管理风险并加快反馈; 限时活动,以限制在制品并保持所有人的专注; 仅依靠工作软件来衡量进度; 简单的估算并使用速度来预测...
  • 我把原文去粗取精了一下,保留了一些核心思想,去掉了小日本的广告.1 任务板任务是分解到手头的... 2 需求特性板需求特性是软件大的功能需求,通常按照月份来进行归类.3 敏捷开发需要把软件设计分成三个部分: 特性->用
  • 原文地址:http://www.infoq.com/articles/agile-kanban-boards我把原文...2 需求特性板需求特性是软件大的功能需求,通常按照月份来进行归类.3 敏捷开发需要把软件设计分成三个部分: 特性->用例->任务特性:

空空如也

1 2 3 4 5 ... 10
收藏数 187
精华内容 74
关键字:

敏捷开发项目分解