敏捷开发工具_敏捷开发的工具 - CSDN
精华内容
参与话题
  • 面对严酷的小团队、新团队技术创业现实,在开发人员素质参差不齐的...对比大企业的自有自研工具,中小企业多靠第三方工具实现,我们比较了ThoughtWorks、Teambition、Trello、Slack、DevCloud主流敏捷软件开发工具
    在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年。
    但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生。在他过往的经验看来,公司新接的小项目,在过去的大公司里1个月就该交付了。现在已经3个月了,工作、生活一切好像都乱了套,虽说对创业有心理准备,但是这些在他看来都不应该成为问题——
    • CEO低估了项目难度,在客户面前满口答应1个月交付没问题
    • 对软件版本缺乏有效的管理
    • 各语言代码检查,安装各种工具和插件,不胜其烦
    • 半路接手项目,开发环境和架构大换血造成拖延
    • 手工集成
    • 测试人员介入太晚,开发完才测试
    ……
    1个全栈工程师带3、5个刚毕业的程序员,大部分正规军的系统训练,团队尚在磨合期,却要满足客户不断提出的需求,紧迫的deadline,一个项目失败就可能直接导致创业失败。
    面对严酷的小团队、新团队技术创业现实,在开发人员素质参差不齐的情况下,必须依靠工具辅助开发全流程,补齐创业团队短板,提高研发竞争力。对比大企业的自有自研工具,中小企业多靠第三方工具实现,我们比较了ThoughtWorks、Teambition、Trello、Slack、DevCloud主流敏捷软件开发工具。
    1、产品功能是否覆盖软件开发全生命周期
    Thoughtworks: 是
    思特沃克是较早将DevOps理念引入中国的跨国公司,也为国内多家大型软件公司提供过咨询服务。旗下产品:mingle(项目管理)、Snap CI(持续集成-已停止服务)、GoCD(持续交付)、Gauge(自动化测试)。跨国公司的调性就是不为单一市场本地化,所以产品全英文界面,产品基于开源平台开发。

    Teambition:否
    Teambition是国内团队协作工具的领导者,互联网创业明星企业。主打项目管理沟通与协作,产品不仅包括软件开发,还包括众多传统垂直细分行业。产品支持部分API接入,以方便完成软件开发的全流程。

    Trello:否
    Trello可以说是国外开发者(国内部分团队)偏爱的产品了,与Teambition一样主打项目管理,但是Power-Up支持了众多场景与API,没有细分具体行业,但简洁的全中文界面,清晰的场景,学习成本极低,很容易上手。如果你的团队纠结于付费和国际化,使用Trello绝对是不二之选。

    Slack:否
    近日传闻AWS有意收购Slack,Slack作为国外异军突起的SaaS产品,将邮件、聊天、搜索整合在一起自下而上推动增长的模式打破了SaaS产品的固有套路。产品依然不支持中文,特别是某些服务所需网络国内访问并不顺畅,团队使用成本较高。

    DevCloud:是
    DevCloud是华为自主研发的一站式云端DevOps平台。产品包含项目管理、配置管理、代码检查、编译构建、流水线、测试管理、部署管理、发布管理服务,实现了端到端一站式开发,覆盖软件开发全生命周期,专注软件开发领域。

    2、是否有服务团队一对一指导?
    一个企业选择一个全新的研发平台,全新的模式,迁移成本巨大,不仅是代码安全,还有人员学习成本。特别是服务场景越多的产品,不是单单的FAQ能解决的。然而大部分互联网企业的产品,是很少提供专项的专家技术支持的。
    思特沃克(Thoughtworks)侧重咨询,往往只针对大型企业提供服务,以“三高”著称:高品质、高规格、高价格。不是一般中小企业享受得起的;Teambition、Trello、Slack主打互联网模式,只有消费到一定金额的客户才会有技术支撑,其余全靠自学;DevCloud(华为软件开发云)可以说充分发挥了华为的人海战术,技术支撑团队可以进驻企业,一帮一把项目迁移上云,扶上马再送一程。
    3、是否更适合国内企业场景?
    如上文所述,外来的和尚不一定会念本地经。况且能请得起外来和尚的也不多。近些年互联网创业风起云涌,3、5个人的创业公司和团队比比皆是,这种苍蝇腿肉跨国公司是看不上的,也不可能全程培育,他们更崇拜全球统一标准、统一模式。这里本土企业的优势就明显了,创业者与创业者有更多共同语言。

    以上,工具只是辅助,思想还需实践。所谓敏捷开发的核心,不过是转变生产方式,以市场、客户、用户为导向,重新理顺管理、开发、测试、运维的关系。一个真诚的建议是能面对面交流的,千万不要以邮件代替。转型总是痛苦的,可是“飞轮效应”告诉我们,虽然早期推动困难,但只要轮子转起来,就会越来越快。这还难道不值得我们今天多加一点力吗?
    • 了解点击华为软件开发云,加V:hwysqzs,与华为技术大神“面对面”交流;获得华为云重磅技术文档;大咖新锐观点独家分享,另有赠品相送!
    展开全文
  • 敏捷开发工具推荐

    千次阅读 2018-07-09 12:34:30
    我们做敏捷开发,如何敏捷?当然敏捷工具的选用也是非常关键的因素,对我们也起着关键的作用!我来介绍一下我所找到的,好用的敏捷工具:国内的「Leangoo(中文名:领歌)」Leangoo是一款基于看板的项目协作工具,...

    软件开发的项目经理一枚!大家都知道,一个好的敏捷工具对开发项目可以起到推波助澜、事半功倍的做用!

    我们做敏捷开发,如何敏捷?当然敏捷工具的选用也是非常关键的因素,对我们也起着关键的作用!

    我来介绍一下我所找到的,好用的敏捷工具:


    国内的「Leangoo(中文名:领歌)」

    Leangoo是一款基于看板的项目协作工具,Leangoo是由国内最权威的Scrum中文网精心打造,融入了先进的敏捷管理思想。

    我们可以使用Leangoo可视化地进行项目需求、任务、问题和文档的管理和协作,随时随地跟踪团队工作进展!

    它核心是看板,通过看板共享和实时同步团队工作以实现高效协同, 团队工作体现为卡片,内容可以是需求、任务、问题等。Leangoo看板上的主要元素包括列表和泳道,列表管理工作的不同阶段或状态,泳道实现任务的分组对应,从两个纬度让团队的工作高度可视化、一目了然。

    Leangoo提供永久免费的在线版本,企业、个人或其他组织在线注册之后即可免费使用。Leangoo的数据传输采用了最新的https/ssl数据加密技术,用户数据存储在和支付宝同级别的阿里云服务器上,并且经过了加密存储,以保证用户数据安全。Leangoo也提供商业化的私有部署版,私有部署版本可以部署在企业私有云或者企业内网。

    非常的简洁,轻量,上手也很快!




    产品Backlog的管理以及Sprint Backlog和Bug管理

    下图为产品Backlog管理示例图:


    Sprint Backlog示例图:


    Bug管理示例图:



    我们主要用leangoo来跟踪:

    一,定制开发内容并跟踪开发进度

    二、对人员的工作分配及时间安排一目了然

    三、缺陷管理

    四、测试用例的管理

    大致就这四点,它完全可以满足我们的需求 ,希望对更多新加入的开发者有所帮助!





    展开全文
  • 敏捷开发协作工具

    万次阅读 2019-01-16 20:02:41
    因为我们的工作中有各种事物要处理,我们需要这样的敏捷开发工具来帮助我们解决问题并清晰的展开工作。Leangoo可以帮助我们管理事务,需求管理,迭代管理,缺陷管理,测试管理,排列优先级等,随时随地可以了解到...

    为什么选择 Leangoo

    很简单,因为它够简洁,够轻量,上手够快!

    因为我们的工作中有各种事物要处理,我们需要这样的敏捷开发工具来帮助我们解决问题并清晰的展开工作。Leangoo可以帮助我们管理事务,需求管理,迭代管理,缺陷管理,测试管理,排列优先级等,随时随地可以了解到团队以及项目的进展情况。

    可以在Leangoo中,定制你和团队的工作流,任务分配,实时同步,每个成员都可以最快速度了解到被分配的任务,与团队更好的协作。

    所有的项目进度,需求趋势,缺陷趋势都可以一目了然。

    也可以利用Leangoo的思维导图,可以把卡片通过树形结构组织起来,用来管理创意,知识,需求,测试案例等等。

     

    亮点:

       1.  轻量,操作简单,上手超级快。
    简单不意味着要以牺牲功能作为代价。Leangoo的核心是看板,整个页面设计很友好,可以直观的对任务一目了然。它配置性强,可灵活自定义,大量的操作都以拖拽的形式进行,并支持大量的快捷键!

       2.完美支持Scrum敏捷开发和看板方法

    Leangoo的设计融入了先进的敏捷管理思想,由多位业界知名敏捷管理顾问提供支持,并由专业的敏捷开发团队精心研发,完美支持Scrum敏捷开发和看板方法(如:燃尽图,工作量估算,看板周期等),并且可以轻松对接主流Devops平台,是敏捷研发团队首选的项目管理和协作工具。

       3.管理任何事务

    Leangoo可以管理任务事务,比如:

                 1).管理产品/项目规划和敏捷需求,协作进行需求。

                 2).管理敏捷迭代任务,进行任务协作

                 3).管理缺陷,进行缺陷处理的协作

                 4).管理测试场景和测试案例,进行测试协作

                 5).可视化跟踪项目和迭代的进展

     

       4.思维导图

    1. Leangoo脑图是项目团队实时同步、实时共享的,不需要再通过导出分享给项目中的其他人。
    2. Leangoo脑图可以支持多人在线编辑与协作。
    3. Leangoo脑图的节点和Leangoo看板上的卡片是一样的,支持富文本文档,可以添加附件,添加检查项,添加工作量以及评论等。

    所以,它可以用来代表需求、任务、测试或者一篇文档等等。而且每个节点都可以引用到看板上。针对敏捷研发,Leangoo脑图有很多实用的场景,比如实现影响地图、用户故事地图、多级需求管理,知识管理、测试案例、迭代回顾等等

    看板统计:

    Leangoo的每一个看板都设计了看板统计功能,比如:

    燃尽图——项目完成之前,对需要完成的工作的一种可视化表示。
    任务周期——可查看每个任务所花费的时间
    任务分布——可查看每个成员的任务分布情况

    项目跟踪:

    在项目管理的角度,Leangoo也提供了一些统计,比如:

    项目进度 —— 项目进度是根据项目里面所有的需求看板进行统计的,进度值 = 已完成的工作量 / 总的工作量
    团队速度——一个迭代中实际完成的工作量(单位通常是故事点数)
    缺陷分布——展示项目中缺陷的分布情况,(下图所示)
    项目占比的设定以及每个成员参与的项目数量等


    企业管理:

    在企业管理的角度,Leangoo也提供了一些统计:

           企业仪表盘——整个企业仪表盘上展示了项目状态,需求趋势,缺陷趋势,吞吐量。

    项目状态
    项目状态饼图使用了红黄绿三种颜色来代表项目的健康状态。
    绿色表示项目的进度正常,红色表示项目进度有延迟,黄色则是指项目在红绿之间的临界状态。
    通过该饼图能对企业中所有项目的健康状态有大致的了解。
    其中:项目的健康状态是根据项目的需求看板的实际剩余量与燃尽图参考线的偏差进行判定的

    需求趋势——需求趋势统计的是每个月需求的变化趋势。
    缺陷趋势——缺陷趋势统计的是每个月缺陷的变化趋势。
    吞吐量——吞吐量统计的是每个月所有项目完成的需求总和、缺陷总和。

    项目列表:

    项目列表统计的是企业内所有的项目,统计项目进度、需求数量和缺陷数量,资源总数等

     

    集成

    Jenkins

    API接口

     


     

     

    展开全文
  • 敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。 Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和...

    转:http://blog.csdn.net/free_xiang/article/details/6260369

    敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。

    Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维 护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。

    如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个迭代过程中,可以采用以下步骤来保证和提高整个项目的代 码质量:统一编码规范、代码样式;静态代码分析(staticcodereview);单元测试;持续集成;代码评审和重构 (Review&Refactor)。下文将针对每个步骤和其所使用的工具、方法进行详细描述。

    敏捷开发中的Java代码质量保证步骤

    图1.敏捷开发中的Java代码质量保证步骤

    步骤一:统一编码规范、代码样式

    规范统一的编码会增加项目代码的可读性和可维护性,但实际情况往往是项目组内的Java代码开发人员的编码风格常常各不相同,这可能是由于不同 的经验习惯或者缺乏编码规范方面的学习造成的。这样一来,其他项目成员或者维护人员在阅读项目代码时就需要花费更多的时间来理解代码作者的意图,所以制定 并采取统一的编码规范就显得很重要。编码规范主要应包含以下几个方面:

    ◆一般规则和格式规范。例如代码缩进、程序块规范、每行最大代码长度等。

    ◆命名规则。例如包名、类名、变量、方法、接口、参数等命名规范

    ◆文档规范。例如类文件头声明、类注释、成员变量和方法注释等规范。

    ◆编程规范。例如异常、并发、多线程等方面的处理方式。

    ◆其他规范。例如日志格式、属性文件格式,返回值和消息格式。

    项目的编码规范可以参考已有的一些Java编程规范书籍和其他相关资料并结合项目的本身来制定,可供参考的书籍有《Java编程风格》(英文书 名为:TheElementsofJavaStyle)。编码规范要形成文档,而且要简洁明了,并组织项目成员一起学习,确保所有成员正确理解所有条目。

    一旦编码规范确定,就可以利用Eclipse自身提供的功能来控制代码样式和格式。具体做法是,点击Eclipse的 Windows->Preference菜单项,在打开的Preferences对话框的左侧栏中找到Java节点下的子项CodeStyle(如图2),该项 和它的子项允许您对Java代码的样式进行控制。

    Eclipse代码样式设置窗口

    图2.Eclipse代码样式设置窗口

    例如,为了使用自动格式化工具,可以在Eclipse提供的默认代码格式配置的基础上建立自定义的格式。在Formatter面板中,点击 New,输入新的名字并选择一个默认的配置作为初始化格式,如图3所示。

    创建新的代码格式配置

    图3.创建新的代码格式配置

    单击OK后就可以在新打开的窗口中进行修改定制自己需要的格式。如图4所示。

    创建新的代码格式配置

    图4.创建新的代码格式配置

    修改完成后点击Apply保存所作修改。同时可以点击Export将当前的格式定义导出成一个XML文件,这样项目组的其他成员就可以很方便通 过点击图3中的Import按钮来导入该XML文件来使用同一个代码格式定义。

    这样每次在提交代码到版本控制服务器前就可以通过Eclipse界面里的Source->Format菜单来对代码进行格式化,从而 使整个项目的代码具有相同的格式。同样可以通过对CodeStyle下的其他项目进行设置来帮助对Java代码的样式进行控制。将所有这些样式文件导出成 XML文件后,同编码规范一起归档,供所有项目成员使用。

    步骤二:静态代码分析

    在完成源代码的开发以后,下面要进行的工作就是审视和测试代码。除了通过运行测试代码来检查功能之外,还能利用一些静态分析工具来快速、直接地 提高代码质量。静态代码分析工具并不需要运行代码,可以直接对Java文件和Class文件进行分析,通过一些检查条件的设置,快速找到代码中的错误和潜 在缺陷。现在的静态分析工具很多,有FindBugs、PMD、IBMRationalTool,等等。在这里,选择FindBugs作为静态代码分析工 具。FindBugs可以和日常开发工具Eclipse进行集成,在开发过程中,就可以方便的开始静态代码的检查。通过检查Class文件或者JAR文 件,将字节码和一组缺陷模式进行对比,来发现可能存在的代码问题。在Eclipse的开发环境中,用插件安装的方式安装了Findbugs后,在 Eclipse的配置选项中就会多出来FindBugs的配置选项。可以对自己的项目进行配置,选择需要的Detector检查代码。

    FindBugs的配置选项

    图5.FindBugs的配置选项

    设置好自己的规则后,在需要检查的代码文件夹上点击右键,就可以启动FindBugs检查。代码可以是一个项目,也可以只是几个文件。

    运行FindBugs

    图6.运行FindBugs

    检查完毕后,会出现FindBugs视图,把所有检查的结果根据错误分组展示。点击结果里面的每一个错误,会自动打开对应的代码。当根据规则改 正了所有的错误,或者说潜在错误,这些代码也就通过了静态代码检查。FindBugs的检查结果可以是XML文件,也可以是文本文件,便于项目的集成管理 和检查保存。

    FindBugs检查结果

    图7.FindBugs检查结果

    步骤三:单元测试

    单元测试用例设计和评审

    单元测试是软件开发过程中重要的质量保证环节,在此环节中,设计和评审对于保证整个单元测试过程的完整性和有效性来说十分重要。设计阶段需要具 体考虑要对哪些代码单元进行测试,被测单元之间的关系,测试策略,以及单元测试用例设计等,并最终输出《单元测试用例设计》文档,用来指导具体的单元测试 执行。在用例设计中,通过对代码单元输入和期待输出的定义来保证该单元的功能正确性,边界值的测试和异常测试非常重要。同时也配合测试用例和功能块的匹配 方法来衡量用例设计的完整性。

    在用例设计完成之后,下一步的工作就是进行测试用例的评审。个人的理解和经验始终是有限的,用例评审可以借集体之力,对用例设计进入查漏补缺, 进一步保证测试用例的有效性。由于单元测试属于白盒测试范畴,它主要通过对代码的逻辑结构进行分析来设计测试用例,因此,评审员的选择最好以理解代码逻辑 结构为前提,如果评审员来自相关模块,还能够有效的发现模块相关性和依赖性所带来的问题。

    模拟对象技术

    在实际项目中,开发人员自己的代码往往需要和其他的代码模块或系统进行交互,但在测试的过程中,这些需要被调用的真实对象常常很难被实例化,或 者这些对象在某些情况下无法被用来测试,例如,真实对象的行为无法预测,真实对象的行为难以触发,或者真实对象的运行速度很慢。这时候,就需要使用模拟对 象技术(Mock),利用一个模拟对象来模拟我们的代码所依赖的真实对象,来帮助完成测试,提高测试覆盖率,从而提高代码质量。模拟对象技术利用了在面向 接口的编程中,由于代码直接对接口进行调用,所以代码并不知道引用的是真实对象还是模拟对象,这样就可以顺利的完成对代码的测试,模拟技术有很多种,如 jMock,EasyMock,Mockito,PowerMock等等。其中Mockito消除了对期望行为的需求,避免了这些代码的大量初始化。

    Mockito示例

    图8.Mockito示例

    在模拟对象过程中,先模拟一个需要调用的List对象LinkedList,再设定这个对象的行为,当调用get(0)的时候,返 回”first”。这样,测试代码就可以利用这个对象来测试我们的功能代码,需要调用和返回值的时候,可以顺利的得到模拟对象的返回值。也需要对模拟对象 进行错误情况的模拟,保证代码对错误的处理的正确性。

    测试覆盖率分析

    为了衡量单元测试的质量和覆盖的范围,需要对单元测试的代码进行测试覆盖分析。常用的衡量测试覆盖率的指标主要有语句覆盖率、分支覆盖率、路径 覆盖率、条件覆盖率和方法覆盖率等。具体采用哪些指标可以根据项目的实际情况来定,以避免因过高的指标增加了代码开发人员的工作量而影响了项目整体的进 度。

    EMMA是一款比较流行的开源Java测试覆盖率分析工具,支持类、方法、代码行、基本代码块等多种类型的测试覆盖率分析,支持将覆盖率分析结 果导出为多种格式的报告,并采用多种颜色来高亮显示不同的覆盖率状态。EclEmma是一款基于EMMA的Eclipse插件,方便在 EclipseIDE中进行测试覆盖率分析。如图9,在测试用例写好后,可以在右键点击测试类,选择CoverageAs->JUnitTest。

    运行测试覆盖分析

    图9.运行测试覆盖分析

    单元测试跑完后,Coverage视图中会显示所选择的测试的覆盖率。双击打开某一具体的类后,可以看到高亮显示的覆盖分析结果,如图10所 示。红色代表测试没有覆盖到该行,黄色表示部分覆盖,绿色的行表示该行在本次测试中被覆盖到。

    查看测试覆盖分析结果

    图10.查看测试覆盖分析结果

    在Coverage视图中可以通过点击鼠标右键将测试覆盖分析的结果导出成需要的格式,例如HTML。

    导出测试覆盖分析结果

    图11.导出测试覆盖分析结果

    图12显示了导出的report。

    测试覆盖分析报告

    图12.测试覆盖分析报告

    为了保证单元测试的有效性和质量,可以规定一个测试覆盖率的下限,例如所有的包和类的覆盖率必须达到80%以上。不过值得注意的是,不要单纯追 求高覆盖率,要同时注意测试用例的质量,如果测试用例本身就写的有错误,那么即使测试覆盖率很高也没有意义。

    步骤四:持续集成

    持续集成(ContinuousIntegration)是利用一系列的工具,方法和规则,做到快速的构建开发代码,自动的测试化,来提高开发 代码的效率和质量。利用自动构建工具,随时都能把提交的代码构建出来,提供一个可以测试使用的版本,让用户和开发人员同时看到相同的功能,尽早的发现问题 和错误,也可以尽快的得到测试人员和用户的反馈。

    要做到持续集成,就要利用一系列工具,把开发过程中的重复工作自动化。搭建自动的构建服务器, 自动的进行单元测试和发布新版本,一个集成的服务器可以提供构建过程的结果报告,自动通知开发人员构建结果,并且保存历史数据。 IBMRationalTeamConcert(RTC)可以提供工作任务的管理,项目计划的安排,代码版本管理控制,自动构建可用版本,生成构建结果报 告。这些过程构成了项目的持续集成过程,其中,版本的自动构建和代码的自动单元测试是持续集成的关键过程,RTC在这些过程上提供了有力的支持。

    自动构建

    RTC提供了buildengine来负责构建build,首选,启动buildengine,并和RTC服务器建立了连接。再创建项目的 build定义。在这个定义中,需要设定编译哪些模块的代码,需要跳动哪个ANT文件来启动编译,和一些编译过程中的参数的设 定。当这些都准备好了,编译对于项目而言,就变成一个简单的事情。

    可以看到,通过在build定义上,点击请求构建,就可以触发一次构建过程。选择需要的构建参数,这个过程就会在后台运行。每一个开发人员,做 了稍许的代码改变和提交,都可以触发新的构建过程,来保证我们代码的有效性。申请一个新的构建的过程如图13、图14所示。

    申请一个新的构建

    图13.申请一个新的构建

    构建申请界面

    图14.构建申请界面

    当构建结束后。RTC服务器会提供构建结果报告。开发人员可以查询到这次构建的详细信息。

    构建结果

    图15.构建结果

    整个开发过程中,构建版本的过程应该是无数次的,通过每次构建,都可以得到当时代码的编译情况,并且可以得到一个可运行的软件版本。在构建定义 上,RTC支持设置构建计划。定时自动的触发一次构建。

    构建定义

    图16.构建定义

    自动单元测试

    构建可以自动了,重点提高代码质量的单元测试呢?如果每一天的代码,每一个版本的代码,都已经通过了我们的单元测试,这样我们就能对代码的质量 有了基本的保证。在构建脚本的自动调用过程中,通过ANT的脚本,可以加上JUnit,EMMA,FindBugs的ANT脚本调用,每一次的构建,都可 以把这些检查工作自动的进行一遍测试。这些测试都要生成测试结果报告,RTC不能提供这些报告的展示,就可以利用Hudson这个开源工具,集成测试报告 来方便查阅。

    自动测试报告

    图17.自动测试报告

    步骤五:代码评审和重构

    代码评审(CodeReview)是Java项目开发过程中的一个重要步骤,代码评审可以帮助发现静态代码分析过程中无法发现的一些问题,例如 代码的编写是否符合编码规范,代码在逻辑上或者功能上是否存在错误,代码在执行效率和性能上是否有需要改进的地方,代码的注释是否完整正确,代码是否存在 冗余和重复。代码评审还可以帮助新进入项目组的成员快速学习和了解项目,促进经验分享,同时也能保证项目成员的良好沟通。代码评审主要包括两种形式,同级 评审(PeerReview)和小组评审(GroupReview)。同级评审主要指项目成员间的互相评审,小组评审是指通过召开评审会议,项目成员一起 对项目代码进行评审。

    为了提高代码评审的有效性和效率,可以借助一些外部工具,比较常用的代码评审工具有Jupiter和CodeStriker。Jupiter是 一款开源的Eclipse插件,允许成员将评审意见定位到真实代码的具体行,由于代码评审的结果以XML文件的形式保存,所以可以把结果提交到版本管理服务器进 行共享。图18显示了使用Jupiter进行代码评审的界面。

    Jupiter代码评审界面

    图18.Jupiter代码评审界面

    在代码评审任务创建后,Jupiter将代码评审分成三个阶段,个人评审阶段(IndividualPhase)、团队评审阶段 (TeamPhase)和问题修复阶段(ReworkPhase)。在个人评审阶段,评审成员将发现的代码问题或者缺陷记录下来,每个问题都会作为一个记 录保存在评审表格中。在团队评审阶段,团队的全部或者部分成员会一起对个人评审阶段发现的问题进行定性,如果问题确实存在,就将该问题分配给某个成员去解 决,并在Jupiter中将该问题设置成相应的状态。在问题修复阶段,团队成员会修复属于自己的问题,并将相应的记录设置成已解决等正确的状态。

    Codestriker是一款基于Web的常用代码评审工具,对代码的评审可以针对某一具体行,也可以针对整个代码文件,评审意见会被保存在数据库中。评审人员可以同时看到其他人的评论,代码作者也可以针对某一具体的评 论回复。Codestriker支持邮件通知,还可以同版本控制服务器进行集成,以跟踪和显示文件内容的改变。图19显示了Codestriker的界 面。

    Codestriker报告界面

    图19.Codestriker报告界面

    在实践中对所有代码进行小组评审会比较费时,所以可以根据实际情况来挑选一些核心代码进行小组评审,或者在项目的前期安排较多的小组评审,等项 目组的成员对代码评审的标准和要求有较好的理解,进行代码评审的经验提高后,就可以逐渐减少小组评审的次数,从而达到大部分代码即使只进行同级评审也能保 证很好的质量。

    通过代码评审发现的问题要通过代码重构及时解决掉,较小的不涉及多人代码的重构可以由项目成员自己借助Eclipse的重构功能完成,不同项目 成员写的实现相同功能的不同代码要通过讨论整合成公共的类或者方法。比较复杂的或者比较高层次的重构工作,例如整个项目层面的代码组织形式的改变需要由整 个项目组共同讨论完成。

    结论

    软件开发没有一成不变、万能通用的流程和方法,希望大家能从本文得到启发和收益,结合您的实际项目特点,实践以上步骤和方法,并加以完善和改 进,共同打造高效高质量的Java代码,为您的项目成功奠定坚实的基础。

    展开全文
  • 原文地址:https://www.zhihu.com/question/54626462管理工具:1.需求管理工具confluence 是一个基于...2.基于敏捷管理的sprint、backlog、开发task、bug管理工具jira 是一个基于java的issue(问题、事项)管理器,...
  • 敏捷开发必备的管理工具

    千次阅读 2019-01-15 15:42:54
    因为我们的工作中有各种事物要处理,我们需要这样的敏捷开发工具来帮助我们解决问题并清晰的展开工作。Leangoo可以帮助我们管理事务,需求管理,迭代管理,缺陷管理,测试管理,排列优先级等,随时随地可以了解到...
  • scrum敏捷开发的几款工具

    千次阅读 2019-03-07 11:14:37
    敏捷开发工具的适合以及选用,对开发项目起着关键性的作用。 此篇介绍我们在scrum敏捷开发中发掘的几款工具,方便更多新加入的开发者上手。 1. Leangoo Leangoo(中文名:领歌)是一款基于看板的项目协作工具!是...
  •  不同与传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法。  其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。 第一部分:敏捷软件开发简介 敏捷...
  • 敏捷开发工具Pivotal Tracker实施小结

    千次阅读 2019-01-19 18:03:17
    Pivotal Tracker是一款敏捷开发和项目管理的软件。最近在使用了一段时间后,认为这个工具还是不错的,所以在这里总结一下自己的体会。   敏捷开发介绍 简单介绍一下什么是敏捷开发(Agile Development)。敏捷...
  • 记录几种敏捷开发应用的工具

    千次阅读 2017-04-12 09:52:41
    很早以前,就有这么一个想法:开发一套高效的、用于软件开发行业进行项目管理的管理型软件。之所以有这个想法,与我本人的经历有关。早年,在做**系统的时候,部门的总监就让我去做那么一套东西,基于Visual Basic和...
  • 什么是敏捷开发

    万次阅读 多人点赞 2019-05-31 10:49:56
    敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 简单地来说,敏捷开发并不追求前期完美...
  • 大话项目管理工具之Jira篇

    万次阅读 多人点赞 2014-08-30 11:43:05
    但他不再是知识管理工具了,而是项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 背景 在谈 JIRA 之前,就不得不说
  • 文章来自开源中国(微信ID:oschina2013) ...在这次工具推荐中,我们从一些比较受欢迎的开源项目管理工具中摘取了支持敏捷的几项。 无论您的组织已经在使用敏捷,还是正计划使用,相信这 7 个开源的项目管理...
  • 敏捷开发的优缺点

    万次阅读 2017-06-20 14:39:52
    近期试用了一下华为最新推出的项目管理工具-华为软件开发云,接触了敏捷开发,产生一些想法。以下是使用体验,仅供同行们参考。 一、敏捷开发技术的几个特点和优势: 1.个体和交互胜过过程和工具 2....
  • JIRA作为项目与事务跟踪工具被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA的功能十分丰富。但是,由于JIRA配置十分灵活,在国内中文文档偏少,又缺乏优秀项目...
  • 敏捷测试的方法和实践 (下)

    万次阅读 2010-12-27 09:34:00
    也有人说,只有敏捷开发,没有敏捷测试。下面我们就要讨论一下: 究竟什么是敏捷测试? 敏捷测试有哪些流程改进? 测试人员如何面对敏捷测试的挑战? 在敏捷测试中如何制定相应的自动化测试策略? 等等各种问题。
  • 研发管理工具推荐

    千次阅读 2018-07-09 12:58:44
    我们做敏捷开发,如何敏捷?当然敏捷工具的选用也是非常关键的因素,对我们也起着关键的作用!我来介绍一下我所找到的,好用的敏捷工具:国内的「Leangoo(中文名:领歌)」Leangoo是一款基于看板的项目协作工具,...
  • 互联网敏捷 Scrum 和项目管理

    万次阅读 2019-07-05 10:16:35
    互联网敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,...
  • 软件开发模式之敏捷开发(scrum)

    万次阅读 多人点赞 2018-08-08 19:25:59
    这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢? 目录 什么是敏捷开发? 传统的开发模式和敏捷开发模式的...
  • 我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观: 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 遵循计划 ...
1 2 3 4 5 ... 20
收藏数 74,221
精华内容 29,688
关键字:

敏捷开发工具