敏捷开发 问题 项目管理_项目管理《敏捷软件开发原则模式与实践》与《敏捷项目管理》 - CSDN
  • 工欲善其事,必先利其器,那我给大家介绍一款敏捷开发项目管理工具-Leangoo。 它是由国内最早推广敏捷 也是最权威的 Scrum中文网 研发打造,完美支持Scrum敏捷开发中的所有元素,我们一起来具体看看吧! ...

    只要是在IT互联网行业工作的人肯定对 Scrum敏捷开发 都多多少少有一些了解。工欲善其事,必先利其器,那我给大家介绍一款敏捷开发项目管理工具-Leangoo

    它是由国内最早推广敏捷 也是最权威的 Scrum中文网 研发打造,完美支持Scrum敏捷开发中的所有元素,我们一起来具体看看吧!

    Leangoo是什么?

    Leangoo是一款基于看板的项目管理工具,用它可以进行项目需求、任务、问题和文档的管理和协作。而团队工作体现为卡片,卡片的内容可以是需求、任务、缺陷等等。

    leangoo主要元素包括列表和泳道,列表管理工作的不同阶段或状态。泳道实现任务的分组对应,从两个纬度让团队的工作高度可视化。

    Leangoo提供 永久免费版(无任何限制) 在线企业版(收费:99/人/年) 私有部署版(699/人永久授权)

    具体区别可以看这里:https://www.leangoo.com/price.html

    团队为什么选择Leangoo?

        1)简洁轻量,上手快

             多多少少用过一些类似的工具,要么太繁重,太繁重学习起来很累,我们使用工具是为了提高工作效率,如果还要花时间去学习的话,那就是在加大工作量! 

    要么太大而全,太大而全的工具就是什么都有,比如说连点赞这种操作都有,从而失去产品本身初创的意义,协作不为提高效率而生了,反倒成为项目进展的的阻力!

     Leangoo基本不需要花学习成本,5分钟内就可以上手, 而它的功能方面,并不是简单的将任务罗列出来,它有完整的项目展现视图,聚焦的目标展现以及项目中的需求,缺陷的统计,可以一目了然的了解项目进展!而选择一个好的项目管理软件可以让团队更有效率,且事半功倍!

       2)永久免费(也有收费版)

         当然 永久免费 并不是噱头,在Leangoo永久免费版里,是没有任何成员或者项目数限制的,并且关于看板的统计以及项目的统计都有!

    具体几个版本的功能区别可以看这里:https://www.leangoo.com/product.html

      3)完美支持Scrum敏捷开发和看板方法

       如果恰好你们公司也是在做敏捷开发的,那么这个工具正好是你的选择。它支持所有的敏捷元素,燃尽图,工作量估算,泳道等,那如果你们没有用敏捷,但是研发团队只是在迭代,那么它也可以帮咱们更好的管理团队,并且利用电子看板,数据也可以更好的沉淀!

       Leangoo敏捷实践

    1)基于scrum创新和管理

    Scrum是用于开发和维护复杂产品的一个框架。上世纪90年代,Scrum在全球已得到广泛应用,Scrum最初用于产品研发,目前已广泛用于软硬件开发、互联网、人工智能、学校、政府、市场、管理组织运营等诸多领域。

    随着技术、市场和环境的复杂度和不确定性持续增长,Scrum在处理复杂性方面的效用日益得到证实。Leangoo可以完美实现Scrum实践落地。

    2)产品线路图

    产品路线图是重要的产品管理工具。Leangoo可以帮助我们创建价值和目标驱动的敏捷产品路线图。(横向为泳道)

    3)管理产品Backlog

    产品Backlog是Scrum框架的3个工件之一,它是一个按照价值排序的需求清单。在敏捷中需求是条目化的,通常使用用户故事来表达。通过Leangoo可以使用看板对产品Backlog条目进行可视化管理,让整个团队非常直观的了解需求的优先级和规划安排。

    4)管理Sprint Backlog

    Sprint Backlog同样是Scrum框架的3个工件之一,它包括了本次迭代需要完成的产品Backlog条目(通常是用户故事-User Story),以及基于故事拆分出来的任务。故事和任务通常都放在一个可视化的任务板上,任务板通常包括了Story,Todo,Doing,Done这4个列表,拖拽移动任务卡片以体现工作进展。

    5)故事地图

    故事地图是一个非常实用的组织和管理用户故事的实践。通过故事地图我们可以看到整个系统的全景图,基于这个全景图对产品需求进行有效的规划。

    6)验收测试

    验收测试是对软件产品行为的正式描述,通常表示为示例或使用场景。

    通常验收测试使用Given,When,Then的三段式格式来进行表达。在Leangoo中,我们通过为卡片的检查项来实现用户故事的验收测试。

    7)故事点估算

    通过故事点来进行工作量估算是一个非常普遍的敏捷实践。故事点是一个度量单位,用于表示完成一个产品待办项或者其他任何某项工作所需的所有工作量的估算结果。敏捷估算通常使用相对估算法,即设定一个基准为一个单位(一个故事点),用待估算的故事和这个基准进行比较,得到的倍数就是估算值。估算值使用类似于斐波那契数列的数字(1,2,3,4,5,8,13…)来进行表示。Leangoo更支持故事点估算

    基于Scrum敏捷的度量和统计

    1)缺陷分布

    Leangoo的缺陷管理和统计功能,可以对缺陷进行全方位记录与跟踪。使用缺陷分布对BUG进行分析,能够及时跟踪问题,提高团队的开发质量。

    2)燃尽图

    燃尽图是Scrum中的一个简单实用的团队进展跟踪的工具,能形象地展示当前迭代中的剩余工作量和剩余工作时间的变化趋势。Leangoo工具可以基于看板的变化自动生成燃尽图。

    3)团队速率

    4)任务分布

    Leangoo持续集成、持续交付、DevOps

    DevOps通过自动化的构建、部署、发布及监控实现需求的更高频的发布和反馈,是企业敏捷的重要实践。Leangoo工具深度整合集成了主流的DevOps工具链,通过Leangoo看板可以非常方便的实现持续交付流水线,做到一键构建和部署。

    关注leangoo微信公众号,实时微信接收与自己相关的任务提醒。

     

     

     

    展开全文
  • 随着软件行业的发展,传统的敏捷项目管理模式,已经不适应于当前互联网行业快速迭代快速开发的需求,从而衍生出了 “敏捷项目管理” 传统项目管理敏捷项目管理有什么不同呢? 传统 VS 敏捷 传统项目管理是计划...

    项目管理

    项目管理广泛应用于软件开发行业,完整的项目管理包含五个部分,分别是:项目启动、项目规划、项目执行、项目监控、项目收尾
    随着软件行业的发展,传统的敏捷项目管理模式,已经不适应于当前互联网行业快速迭代快速开发的需求,从而衍生出了 “敏捷项目管理

    传统项目管理和敏捷项目管理有什么不同呢?

    传统 VS 敏捷

    传统项目管理是计划驱动,而敏捷项目管理是价值驱动

    项目管理的三要素是:时间、范围、成本。

    传统的项目管理是先确定产品的需求,在根据项目需求规划和评估所需要的人天、开发排期等。此种模式下,只有需求是确定的,而所需要到人力分配、开发时间排期等是根据需求来制定的,所以,需求的制定需要非常的详细,导致的结果就是前期需求会耗费大量的时间和精力。这样的好处是:根据制定好的项目需求、人力分配和开发排期可以估算成本,总览项目的全貌,查看进度,有效规避或者减少项目开发风险。 缺点是:一旦需求变动,会导致项目管理整体流程出现问题,对于需求的变动非常敏感,不适合当前的互联网行业此种管理模式,也非常的耗时,效率较低下。

    敏捷项目管理和传统项目管理的三要素正好相反,敏捷项目管理中,只有成本(人力)和实践是固定的,而需求是不固定的,或者说,需求是变化的,有权重区别。在这种情况下,项目组优先开发有价值的、需求紧迫的功能特性,这样,项目开发中,就可以把最重要、最紧迫的需求和功能特性完成,其他不重要、待定的需求和功能,就先往后排期,这样遇到需求变更后,也可以轻松应对。此种管理模式,由于在需求阶段节省了大量的时间和人力,效率较高,耗时也较短。所以,敏捷项目管理和敏捷开发一样,受到互联网行业的喜爱和追捧。

    由此可见 ,两者的最主要的区别是“驱动”不同。

    展开全文
  • 前段时间给大家整理了敏捷开发的流程,最近在整理敏捷开发项目的流程和管理制度,其整理的项目管理规程如下,这份规程也不完全算是敏捷专属的项目管理规程,主要是在结合我们公司实际的情况下编写出来的,大家在实际...


    前段时间给大家整理了敏捷开发的流程,最近在整理敏捷开发项目的流程和管理制度,其整理的项目管理规程如下,这份规程也不完全算是敏捷专属的项目管理规程,主要是在结合我们公司实际的情况下编写出来的,大家在实际嵌入到公司的过程中可以参考下,不能照搬。

    1.  目的

    规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动。

    2.  适用范围

    本章程的作用范围为互联网软件产品开发立项至结项管理过程。

    1.对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的开发流程提供了指导;

    2.对项目团队的日常管理活动及内容进行了指导;

    3.  角色及职责定义

    项目经理:

    进行产品开发过程中的业务目标、进度、成本、质量控制。

    挑选项目团队并进行团队建设,激发、鼓舞和改进团队的生产效率。

    识别项目干系人,定期向干系人汇报,并作为团队和外部的接口,屏蔽外界对团队的干扰。

    确保项目中流程被遵循,组织、监督、培训项目各实践活动。

       

    产品策划

    确定产品的功能,拆分用户故事。

    需求功能确定优先级。

    接受或拒绝开发团队的工作成果。

    参与产品开发过程中的有关会议。

    UI

    根据用户故事,负责产品的功能交互及界面设计

    组织开展人机交互及用户体验,不断跟踪改进,提高产品表现力。

    参与产品开发过程中的有关会议。

    开发

    根据用户故事,负责产品的技术架构设计及功能开发

    评估、设计及维护产品相应模块,确保模块的稳定性、易用性、高效性。

    参加产品开发过程中的有关会议。

    测试

    根据用户故事,设计产品测试标准,确保产品品质满足市场需求。

    合理分配测试资源,组织产品测试并优化测试流程及测试标准,提高测试效率。

    编写产品测试用例,提交测试问题,编写测试总结报告,以测试角度来确定产品版本是否发布。

     

    4. 项目管理过程

    按照互联网软件产品项目开发过程,可将整个项目管理过程分为立项过程、规划过程、执行与监控过程、结项过程。下面分别阐述在每个阶段过程中该如何进行项目管理。

     

    4.1 立项过程

        互联网软件产品开发项目的立项过程,通常是指从准备项目启动会到召开会议这个阶段,在立项过程中,需要完成项目目标,需求范围的初步确认,项目团队成员,其他资源的安排。

         确定项目的初步目标并达成共识

         对于项目目标,需要和干系人在以下几点上达成共识:

         项目的背景、目标用户、核心人员及产品定位是什么

         项目的资源投入预算是多少

         项目的资源投入是多少

         各人员在项目中扮演的角色和对项目的作用是什么

         准备启动会议文档

         文档内容包括:

           用户画像

           产品定位

           市场策略

           业务目标

           技术可行性

           研发成本预算

           路标规划

        召开项目启动会 

         参加人员包括:

           管理层代表

           项目经理及项目团队

           其他干系人代表

         主要议题包括:

           申明项目目标范围及对组织目标的贡献。

           管理层正式任命PM,设定期望,统一思想

           文档内容的宣讲。  

         与PM小组确定项目管理要求

           项目启动会完成后,需要与PM小组成员确定项目立项机制以及公司项目管理要求。

     

    4.2  规划阶段

    在规划阶段,团队需要共同完成产品的版本规划,迭代计划

    版本规划

    从产品的关键特性列表中按照优先级规划产品每个版本需要完成哪些特性,在规划完成后需要在项目干系人内达成共识。具体可参考《版本规划样例》

    迭代如何划分

    迭代划分是指将特性列表拆分形成用户故事列表,并将其对应的主要任务划分到各个迭代中去,形成粗粒度的项目迭代计划。这个过程主要考虑以下几个因素:

        有些任务间是有依赖关系,某个任务的开始或结束是以另一个任务的开始或结束为前提,在划分时必须考虑这种前后依赖关系。

        在安排每个迭代的任务时,需要对各种因素进行综合考虑,如平衡每个迭代中任务的技术难度和价值差异。

        除了进行初步的迭代任务划分,还需要确定项目过程中迭代任务调整的规则,如迭代任务未完成时是将剩余任务延至下一迭代还是延长迭代周期。

    确定人员分工

    项目经理需要根据每个人员的能力和特点,初步拟定大致分工。在进行任务分工时需考虑以下因素:

        任务难度与人员能力相匹配,对于明显超出能力范围或过于简单的任务容易造成负面影响。

        耦合度高的尽量分配给同一个人,避免不必要的沟通消耗。

        鼓励团队内部“任务认领”,提高人员的工作积极性和主动性。

    确定迭代运行模式

            如一周迭代、两周迭代,每个迭代包含的工作内容等。

           具体的迭代计划可参考《迭代计划样例》

    制定其他辅助计划

        制定沟通计划、风险计划和质量计划是必要的,沟通计划主要包含以下几个方面:沟通对象、沟通方式、沟通频率即可,如:


        风险计划包括风险项、负责人、重要性、应对措施,如下:


     

    质量计划包括:bug分布满足何种条件可以发布,有几个致命bug必须停止开发新特性等。。

       搭建基础技术架构

        如果是一个全新的项目,需要重新开发系统框架,则这个工作应该在迭代0完成,否则会影响后期的工作开展。系统框架的每次改动必然会导致大量的重复工作量,从而给稳定的团队节奏带来很大的毛刺。

    3.3    项目执行和监控过程

    迭代N的执行

    A、迭代N的需求细化

    考虑每个迭代需要完成的用户故事;

        用户故事需包含几个部分,工作量评估、功能性需求、非功能性需求。具体的可参考《用户故事模板及样例及拆分说明》

        用户故事编写完成后需要在团队内部进行需求评审,一方面是为了向团队成员解读该需求,另一方面团队成员也可在评审时给出指导性意见。

    B、测试用例评审

        测试人员根据用户故事要求编写对应的测试用例,并组织项目团队进行测试用例评审。根据评审意见修改测试用例

    C、开发

        将用户故事的需求开发的过程。

    D、开发自测

        在开发过程中,每完成一个功能点,都需要及时的进行开发自测并通知产品策划人员进行验收体验。

    E、验收

        开发完成后,产品策划需要对开发完成的成果进行验收,验证其是否符合用户故事的要求,验证通过后方可流到测试环节,否则需与开发详细讨论其不符合性,其验收的checklist可以参考《产品验收checklist及模板》

    F、测试和回归

            提交测试时,必须要有正确的版本。测试人员根据测试用例进行测试,在IT平台中提交测试bug,并根据测试的角度给出产品是否发布的意见,输出《测试报告》

    G、bug修改

        在IT平台中获取分配给自己的bug进行修改。

    H、showCase

        阶段性必须有可体验版本进行showCase.需要

    确定showCase时间:某个迭代开发、自测完成,准备提交测试前

    会议前1-2天发出体验版给到参与人员

    会议期间,由项目经理组织大家体验、反馈问题、记录问题。

    项目经理根据问题情况,与开发或产品确定问题的解决时间并发出会议纪要。

     I、灰度发布

           迭代一定版本后,由项目经理与团队共同决定是否需要进行灰度发布。

     

    监控方式 

    每日站立会

        主持人轮流担任,负责控制节奏,记录问题,以备会后跟踪。

        每人讲自己昨天做了什么,有什么问题,今天的计划是什么;

        其他人了解别人的工作情况,并发现指出可能存在的问题。

        对于发现的问题,鼓励认领,其余由项目经理指定责任人。

        时间通常控制在15分钟内。

        会议期间,更新任务墙,任务墙样式如下:

     

    周报

        反馈项目计划的执行情况,强调本周工作要达成的目标

        暴露出项目的问题,特别是需要领导或其他团队需要协助的问题。

        周报可在IT平台中输出。

    月报

        反馈项目当月的执行情况,包括进度、人力及质量。

        反映项目存在的问题和风险。

    迭代回顾

        每人讲述本次迭代做的好的地方和不好的地方

        回顾上个迭代不好的地方,看看改进情况。

        让每个人发言。

        每次迭代回顾会议完成后,可更新燃尽图

    3.4    结项阶段

    项目经理指导产品策划收集总结项目的产品运营数据,同时指导团队成员从自身角色进行总结,包括测试、开发、UI等。

    项目经理与项目团队成员给出项目总结报告,内容可参考《项目经验教训总结-项目团队》,《项目经验教训总结-项目经理》

    召开结项会议,各成员进行结项汇报。

    PM小组将过程文档和经验教训总结进行归档。

    展开全文
  • 互联网敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,...

    互联网敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。本场 Chat 着重介绍互联网 Agile 敏捷的模型以及常用项目管理流程等内容。

    本场 Chat 您将学到如下内容:

    1. 介绍 Agile 敏捷以及项目管理流程;
    2. 互联网常用敏捷工具和平台以及实战;
    3. Agile 敏捷以及项目管理总结。

    互联网敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。本场 Chat 着重介绍互联网 Agile 敏捷的模型以及常用项目管理流程等内容。

    本场 Chat 您将学到如下内容:

    • 介绍 Agile 敏捷以及项目管理流程;
    • 互联网常用敏捷工具和平台以及实战;
    • Agile 敏捷以及项目管理总结。

    介绍 Agile 敏捷以及项目管理流程

    什么是敏捷开发?

    敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

    怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发。

    为什么说是以人为核心?

    我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

    什么是迭代?

    迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

    关于 Scrum 和 XP

    前面说了敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而 Scrum 和 XP 就是敏捷开发的具体方式了,你可以采用 Scrum 方式也可以采用 XP 方式;Scrum 和 XP 的区别是,Scrum 偏重于过程,XP 则偏重于实践,但是实际中,两者是结合一起应用的,这里我主要讲 Scrum。

    什么是 Scrum?

    Scrum 的英文意思是橄榄球运动的一个专业术语,表示 “争球” 的动作;把一个开发流程的名字取名为 Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。

    而 Scrum 就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

    Scrum 开发流程中的三大角色

    • 产品负责人(Product Owner)

    主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

    • 流程管理员(Scrum Master)

    主要负责整个 Scrum 流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

    • 开发团队(Scrum Team)

    主要负责软件产品在 Scrum 规定流程下进行开发工作,人数控制在 5~10 人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到 Sprint 的目标。

    Scrum 流程图:

    enter image description here

    enter image description here

    enter image description here

    互联网常用敏捷工具和平台以及实战

    无论是创业软件团队,还是企业级规模化软件研发,都会遇到提升管理能力、提升研发效率的问题。为了解决这两个问题,许多软件研发工具平台也营运而生:微软、IBM、HP、Atlassian、Rally、Collabornet、Polarion…… 等厂商都推出了各具特色的产品,而近年来新生的 Slack、teambition 等平台也带来了新的理念和产品,受到了许多团队的欢迎。作为软件研发的团队或企业,我们该如何根据自身发展情况,对这些产品和工具进行合理的选择?一个支撑软件高效研发的工具平台应该具备哪些特点?未来又将向什么方向发展呢?

    世界范围内软件研发工具平台产品发展迅速,国内产品仍是空白。

    当我们在学校里用 Visual Studio 编写 hello world 的时候,我们就已经开始使用工具进行软件研发。只是那个时候,工具的作用还很单一,对管理能力、研发效率的整体提升还没有特别关照。

    在 80 年代,国内的计算机、软件行业刚刚萌芽的时候,国外的同行已经开始研究使用工具提升软件研发效率,微软、Rational(后来被 IBM 收购)推出了各自的 IDE,并在不断增强 IDE 功能的同时,向需求管理和质量管理方向拓展。

    90 年代,又有一些厂商加入到了开发软件研发工具产品的行列中,其中国内同行非常熟悉的莫过于 Mercury(后来被 HP 收购)的产品,90 年代末和 2000 年前后,大家经常使用的研发工具组合一般是:需求管理用 Rational Request Pro,开发 IDE 用 Micosoft Visio Studio,代码库用 collabnet subversion 或 Rational Clear Case,测试管理用 Mercury Test Director,软件性能测试用 Mercury LoadRunner。这些工具在软件研发的每个方面都提升了个人和团队的效率,也让越来越多的人看到了工具平台对软件研发效率提升的重要性。

    进入 21 世纪,敏捷思想及敏捷软件研发方法开始逐渐改变人们对软件研发的认识。在软件研发工具平台方面,ALM(Application Lifecycle Management)逐渐成为各工具厂商产品努力的方向。在短短的 10 年内,涌现出一大批优秀的软件研发工具平台厂商,如 Atlassian、Rally、Polarion、Versionone、Serena…… 一些老牌厂商,如微软、IBM、HP 通过收购、合并、开发新的工具产品等方式,更加完善了软件全生命周期管理的工具平台。有了新的软件研发方法,配合众多优秀的软件研发工具平台,软件行业得到了快速的发展。此时国内同行也广泛认识到工具平台对提升研发效率的重要性,有条件的企业或采购,或自主研发,搭建起自己的研发工具平台。

    2010 年前后,随着互联网的蓬勃发展,互联网软件研发逐渐成为新的焦点,DevOps 很快成为大家普遍的共识。很多传统软件研发工具厂商打着 “DevOps” 的旗帜适时地推出了一些产品或升级版本,同时又有一些新的厂商加入竞争的行列。在如何能够更好地管理软件研发活动的问题上,像 Slack 这样的产品向 “传统” 研发工具平台发起了新的挑战,在看到越来越多的软件研发团队更愿意使用 Slack 进行日常研发工作时,我们不禁陷入思索:未来软件研发工具平台将何去何从?

    enter image description here

    enter image description here

    下面我主要介绍市场上最活跃的 2 款产品:JIRA、BugFree 和禅道。

    JIRA 敏捷管理软件

    JIRA 是 Atlassian 公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域,其配置灵活、功能全面、部署简单、扩展丰富。

    JIRA 也可定义为 Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件。这里的“问题”对应的英文单词是 Issue,所以含义比较广,包括 Bug、Task、Enhancement、Improvement 等等跟软件开发相关的名词。跟踪管理即对问题的整个生命周期进行记录和管理。一个问题从创建到解决到关闭涉及到很多相关信息,包括是什么问题、谁发现的问题、谁处理了这个问题、如何处理的、相应的代码有什么改变等等,JIRA 可以方便的记录这些信息,并且在问题的不同状态呈现在相应的责任人面前。相似的软件有 Bugzilla、Trac、Mantis、Clear Quest、Streber 等。

    enter image description here

    Bugfree 和禅道

    BugFree 是借鉴微软的研发流程和 Bug 管理理念,使用 PHP+MySQL 独立写出的一个 Bug 管理系统。简单实用、免费并且开放源代码(遵循 GNU GPL)。 命名 BugFree 有两层意思:一是希望软件中的缺陷越来越少直到没有,Free 嘛;二是表示它是免费且开放源代码的,大家可以自由使用传播。

    禅道是第一款国产的优秀开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。先进的管理思想、合理的软件架构、简洁实效的操作、优雅的代码实现、灵活的扩展机制、强大而易用的 API 调用机制、多语言支持、多风格支持、搜索功能、统计功能。

    Redmine 是用 Ruby 开发的基于 Web 的项目管理软件,是用 ROR 框架开发的一套跨平台项目管理系统,据说是源于 Basecamp 的 ROR 版而来,支持多种数据库,有不少自己独特的功能,例如提供 wiki、新闻台等,还可以集成其他版本管理系统和 BUG 跟踪系统,例如 SVN、CVS、TD 等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

    禅道项目管理软件的功能列表:

    1. 产品管理:包括产品、需求、计划、发布、路线图等功能。
    2. 项目管理:包括项目、任务、团队、build、燃尽图等功能。
    3. 质量管理:包括bug、测试用例、测试任务、测试结果等功能。
    4. 文档管理:包括产品文档库、项目文档库、自定义文档库等功能。   
    5. 事务管理:包括 todo 管理,我的任务、我的 Bug、我的需求、我的项目等个人事务管理功能。   
    6. 组织管理:包括部门、用户、分组、权限等功能。   
    7. 统计功能:丰富的统计表。   
    8. 搜索功能:强大的搜索,帮助您找到相应的数据。   
    9. 灵活的扩展机制,几乎可以对禅道的任何地方进行扩展。   
    10. 强大的 API 机制,方便与其他系统集成。

    enter image description here

    案例分析:IBM的敏捷转型之路

    enter image description here

    IBM 软件集团是一个庞大而复杂的组织,从 2009 年的软件部规模来看,全球 26065 名员工广泛分布在世界各地,拥有超过 500 个于各个时期收购的小公司以及相互独立的产品线,大量的独立工具和开发平台在公司内被采用。IBM 的五大品牌行事作风迥异,很难用一种流程、一种组织结构来进行统一。

    为了促进发展,各品牌组织均开发了自己的经营策略,以适合其业务所在的市场。然而,IBM 为所有的品牌都定义和秉持了一套共同的技术策略。

    • 开放的计算:为了创新并确保客户体验的自由度,客户端必须保持灵活性,这种持续的发展和推演需要基于技术和产品自身的价值而非自身的局限性。
    • SOA:为了实现产品的灵活性和资产的重用,SOA(Service Oriented Architecture)是一套可以在分布式系统的设计和实现中将系统的业务模式与 IT 实现紧密关联起来的方法。
    • 彻底简化:尽最大可能增强产品的实用性。
    • 产品整合力:从商业价值出发,确保中间件的产品能够易于集成,并提供适于客户环境的完整解决方案。
    • 产品研发的 3C 品质:消费性(Consumablility)、模块化(Componentiza-tion)和社区(Community)三个原则,聚焦于改进开发流程和开发过程本身。

    3C 原则带来的产品的质量提升,还仅仅是在以产品为中心的主流市场获得的成功体验,但是,当市场发生巨大变化时,战略又将产生变化。2006 年的互联网高潮后,软件部受到全球 IT 经济低迷的冲击,股票开始下滑,面对开始失去信心的股东、董事会,为了生存,IBM 不得不将战略导向从稳定业务转向了动态业务,提出“随需应变”的核心战略,软件部由此提出了敏捷研发方法,最大化地提高生产力,将产品更快、更好地推向市场。

    Agile 敏捷以及项目管理总结

    敏捷项目管理架构(Agile Project Management Framework,APMF),估计是普遍大部分公司所需要的、也比较认可的模式,可以很好的实现传统项目管理向敏捷项目管理转型。这本书很值得推荐,从现代项目管理的发展趋势,到对软件项目管理发展史的剖析,到敏捷项目管理架构的推崇,到敏捷项目管理的企业导入,到敏捷创新创业模式讲解,让你在软件项目管理方面有了更加开阔的视野。如果你对敏捷项目管理感兴趣,在拜读本书的过程中会有茅塞顿开的感觉,同样也为你以后的软件项目管理路提供了更好的参考和借鉴。

    通过对许博士这本书的研读,加入个人的理解,对敏捷项目管理架构,做了简单的梳理,希望对敏捷项目管理感兴趣的你带去更多帮助。敏捷项目管理架构(APMF)共包括 5 个阶段,分别为:立项阶段、启动阶段、发布循环阶段、迭代循环阶段、收尾阶段。

    enter image description here

    enter image description here

    enter image description here

    Agile 和 Watefall 开发模式的一些对比

    enter image description here

    enter image description here

    经过敏捷实施后,我们的生产力提高了很多,员工的积极性提高了,业务的参与使整体需求把控也很好,大家沟通多了,30 天的任务提前了 5 天完成。我们多出来的时间,让大家每周有一天或者半天研究自己感兴趣的领域,但是这些研究最终必须体现出成果。比如后台开发想研究一个新技术,最后做完需要写个 ppt 给大家分享下。既能让大家做自己想做的事情,也给大家创造了一个互相学习的氛围。


    本文首发于GitChat,未经授权不得转载,转载需与GitChat联系。

    阅读全文: http://gitbook.cn/gitchat/activity/5b222d37e4f51376b59dad57

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • 1.目的规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动。2.适用范围本章程的作用范围为互联网软件产品开发立项至结项管理过程。1.对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的...

    1.目的

    规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动。

    2.适用范围

    本章程的作用范围为互联网软件产品开发立项至结项管理过程。

    1.对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的开发流程提供了指导;

    2.对项目团队的日常管理活动及内容进行了指导;

    3.角色及职责定义

    项目经理:

    进行产品开发过程中的业务目标、进度、成本、质量控制。

    挑选项目团队并进行团队建设,激发、鼓舞和改进团队的生产效率。

    识别项目干系人,定期向干系人汇报,并作为团队和外部的接口,屏蔽外界对团队的干扰。

    确保项目中流程被遵循,组织、监督、培训项目各实践活动。

    产品策划

    确定产品的功能,拆分用户故事。

    需求功能确定优先级。

    接受或拒绝开发团队的工作成果。

    参与产品开发过程中的有关会议。

    UI

    根据用户故事,负责产品的功能交互及界面设计

    组织开展人机交互及用户体验,不断跟踪改进,提高产品表现力。

    参与产品开发过程中的有关会议。

    开发

    根据用户故事,负责产品的技术架构设计及功能开发

    评估、设计及维护产品相应模块,确保模块的稳定性、易用性、高效性。

    参加产品开发过程中的有关会议。

    测试

    根据用户故事,设计产品测试标准,确保产品品质满足市场需求。

    合理分配测试资源,组织产品测试并优化测试流程及测试标准,提高测试效率。

    编写产品测试用例,提交测试问题,编写测试总结报告,以测试角度来确定产品版本是否发布。

    4. 项目管理过程

    按照互联网软件产品项目开发过程,可将整个项目管理过程分为立项过程、规划过程、执行与监控过程、结项过程。下面分别阐述在每个阶段过程中该如何进行项目管理。

    4.1立项过程

    互联网软件产品开发项目的立项过程,通常是指从准备项目启动会到召开会议这个阶段,在立项过程中,需要完成项目目标,需求范围的初步确认,项目团队成员,其他资源的安排。

    确定项目的初步目标并达成共识

    对于项目目标,需要和干系人在以下几点上达成共识:

    项目的背景、目标用户、核心人员及产品定位是什么

    项目的资源投入预算是多少

    项目的资源投入是多少

    各人员在项目中扮演的角色和对项目的作用是什么

    准备启动会议文档

    文档内容包括:

    用户画像

    产品定位

    市场策略

    业务目标

    技术可行性

    研发成本预算

    路标规划

    召开项目启动会

    参加人员包括:

    管理层代表

    项目经理及项目团队

    其他干系人代表

    主要议题包括:

    申明项目目标范围及对组织目标的贡献。

    管理层正式任命PM,设定期望,统一思想

    文档内容的宣讲。

    与PM小组确定项目管理要求

    项目启动会完成后,需要与PM小组成员确定项目立项机制以及公司项目管理要求。

    4.2规划阶段

    在规划阶段,团队需要共同完成产品的版本规划,迭代计划

    版本规划

    从产品的关键特性列表中按照优先级规划产品每个版本需要完成哪些特性,在规划完成后需要在项目干系人内达成共识。具体可参考《版本规划样例》

    迭代如何划分

    迭代划分是指将特性列表拆分形成用户故事列表,并将其对应的主要任务划分到各个迭代中去,形成粗粒度的项目迭代计划。这个过程主要考虑以下几个因素:

    有些任务间是有依赖关系,某个任务的开始或结束是以另一个任务的开始或结束为前提,在划分时必须考虑这种前后依赖关系。

    在安排每个迭代的任务时,需要对各种因素进行综合考虑,如平衡每个迭代中任务的技术难度和价值差异。

    除了进行初步的迭代任务划分,还需要确定项目过程中迭代任务调整的规则,如迭代任务未完成时是将剩余任务延至下一迭代还是延长迭代周期。

    确定人员分工

    项目经理需要根据每个人员的能力和特点,初步拟定大致分工。在进行任务分工时需考虑以下因素:

    任务难度与人员能力相匹配,对于明显超出能力范围或过于简单的任务容易造成负面影响。

    耦合度高的尽量分配给同一个人,避免不必要的沟通消耗。

    鼓励团队内部“任务认领”,提高人员的工作积极性和主动性。

    确定迭代运行模式

    如一周迭代、两周迭代,每个迭代包含的工作内容等。

    具体的迭代计划可参考《迭代计划样例》

    制定其他辅助计划

    制定沟通计划、风险计划和质量计划是必要的,沟通计划主要包含以下几个方面:沟通对象、沟通方式、沟通频率即可,如:

    131031333864530.gif

    风险计划包括风险项、负责人、重要性、应对措施,如下:

    131032034951865.gif

    质量计划包括:bug分布满足何种条件可以发布,有几个致命bug必须停止开发新特性等。。

    搭建基础技术架构

    如果是一个全新的项目,需要重新开发系统框架,则这个工作应该在迭代0完成,否则会影响后期的工作开展。系统框架的每次改动必然会导致大量的重复工作量,从而给稳定的团队节奏带来很大的毛刺。

    3.3项目执行和监控过程

    迭代N的执行

    A、迭代N的需求细化

    考虑每个迭代需要完成的用户故事;

    用户故事需包含几个部分,工作量评估、功能性需求、非功能性需求。具体的可参考《用户故事模板及样例及拆分说明》

    用户故事编写完成后需要在团队内部进行需求评审,一方面是为了向团队成员解读该需求,另一方面团队成员也可在评审时给出指导性意见。

    B、测试用例评审

    测试人员根据用户故事要求编写对应的测试用例,并组织项目团队进行测试用例评审。根据评审意见修改测试用例

    C、开发

    将用户故事的需求开发的过程。

    D、开发自测

    在开发过程中,每完成一个功能点,都需要及时的进行开发自测并通知产品策划人员进行验收体验。

    E、验收

    开发完成后,产品策划需要对开发完成的成果进行验收,验证其是否符合用户故事的要求,验证通过后方可流到测试环节,否则需与开发详细讨论其不符合性,其验收的checklist可以参考《产品验收checklist及模板》

    F、测试和回归

    提交测试时,必须要有正确的版本。测试人员根据测试用例进行测试,在IT平台中提交测试bug,并根据测试的角度给出产品是否发布的意见,输出《测试报告》

    G、bug修改

    在IT平台中获取分配给自己的bug进行修改。

    H、showCase

    阶段性必须有可体验版本进行showCase.需要

    确定showCase时间:某个迭代开发、自测完成,准备提交测试前

    会议前1-2天发出体验版给到参与人员

    会议期间,由项目经理组织大家体验、反馈问题、记录问题。

    项目经理根据问题情况,与开发或产品确定问题的解决时间并发出会议纪要。

    I、灰度发布

    迭代一定版本后,由项目经理与团队共同决定是否需要进行灰度发布。

    监控方式

    每日站立会

    主持人轮流担任,负责控制节奏,记录问题,以备会后跟踪。

    每人讲自己昨天做了什么,有什么问题,今天的计划是什么;

    其他人了解别人的工作情况,并发现指出可能存在的问题。

    对于发现的问题,鼓励认领,其余由项目经理指定责任人。

    时间通常控制在15分钟内。

    会议期间,更新任务墙,任务墙样式如下:

    131033062616789.gif

    周报

    反馈项目计划的执行情况,强调本周工作要达成的目标

    暴露出项目的问题,特别是需要领导或其他团队需要协助的问题。

    周报可在IT平台中输出。

    月报

    反馈项目当月的执行情况,包括进度、人力及质量。

    反映项目存在的问题和风险。

    迭代回顾

    每人讲述本次迭代做的好的地方和不好的地方

    回顾上个迭代不好的地方,看看改进情况。

    让每个人发言。

    每次迭代回顾会议完成后,可更新燃尽图

    3.4结项阶段

    项目经理指导产品策划收集总结项目的产品运营数据,同时指导团队成员从自身角色进行总结,包括测试、开发、UI等。

    项目经理与项目团队成员给出项目总结报告,内容可参考《项目经验教训总结-项目团队》,《项目经验教训总结-项目经理》

    召开结项会议,各成员进行结项汇报。

    PM小组将过程文档和经验教训总结进行归档。

    展开全文
  • 敏捷开发项目管理

    2018-04-11 16:02:32
    以下文章转载自知乎,暗灭-京华九月秋近寒,浮沉半生影长单.暗灭京华九月秋近寒,浮沉半生影长单366 人赞同了该回答前言================================================1.本回答从属于“IT修真院”收藏夹系列第二...
  • 现在许多开发团队在学习敏捷开发,根据调查,2018年有...如果你的团队已经在使用敏捷开发,或者在 2019 年计划采用敏捷方法,以下几个免费项目管理工具中,也许会有至少一款正是你所要找寻的。 1、MyCollab MyC...
  • 文章来自开源中国(微信ID:oschina2013) ...在这次工具推荐中,我们从一些比较受欢迎的开源项目管理工具中摘取了支持敏捷的几项。 无论您的组织已经在使用敏捷,还是正计划使用,相信这 7 个开源的项目管理...
  • 瀑布模型:简单说就是先定好需求和相关文档,然后构建框架,然后写代码,然后测试,最后发布个产品一旦文档需求确定,开发人员就按文档开发,直到产品开发完后,才会拿出来给客户。不过这种方式基本不适应现今快速...
  • 如何进行产品的敏捷开发,如何进行项目管理,产品开发的流程,如何快速迭代
  • 原文地址:https://www.zhihu.com/question/54626462管理工具:1.需求管理工具confluence 是一个基于...2.基于敏捷管理的sprint、backlog、开发task、bug管理工具jira 是一个基于java的issue(问题、事项)管理器,...
  • 敏捷开发需求管理比较有用的资料文献(感谢作者分享):敏捷开发模式中的需求规划 http://www.woshipm.com/discuss/277343.html来一起聊聊产品工作中的优先级 http://www.woshipm.com/discuss/277343.html敏捷开发...
  • •禅道简介 •禅道最早在2004年发布,是国内较早的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理...•禅道的管理思想则是基于国际流行的敏捷项目管理方法——Scrum,它规定...
  • 敏捷开发的一些问题 说一下你对敏捷开发的理解,为什么要使用敏捷开发? 》瀑布模型的典型问题就是周期长,发布烦,变更难。 》敏捷开发就是快速迭代,持续集成,拥抱变化。     所谓“敏捷”,...
  • 项目管理另称为瀑布流管理
  • “真感谢你这几个月帮助我们试点项目应用这项目管理工具,现在我才理解这个工具确实很适用于我们软件开发项目的管理。下个月我会开始要求所有研发项目都使用这方式与新的项目管理模板。”——进入CMMI评估前的最后...
  • 《Scrum实战——敏捷软件项目管理开发》为软件项目团队提供了如何成功实施敏捷软件框架Scrum的实用指南。本书叙事清晰准确,是第一本由实践者编写的针对现实状况的实用指南。书中描述了如何使项目团队价值最大化,...
  • 什么是敏捷项目管理?为什么要做敏捷项目管理?本篇汇报的过程中,主要讲那种敏捷羡慕管理的方法?敏捷项目管理的总结以及建议以及相关参考书籍。...
  • 今天,这种迭代或增量方法影响着开发和业务的各个方面,包括项目管理。学习敏捷的最佳来源是什么?这篇文章涵盖了10本强大的书籍,可以提高项目经理及其团队的技能。 你读过的关于敏捷方法或项目管理的最新书是...
  • 纵观整个游戏开发周期,大部分时间都是在赶赶赶,赶开发进度,赶Bug进度,赶发布进度。搞得交投烂额,搞得最后大家筋疲力竭,最终商务、策划、boss都觉得开发不给力。所以我们有必要,也有义务去采取一些措施来管理...
1 2 3 4 5 ... 20
收藏数 69,416
精华内容 27,766
关键字:

敏捷开发 问题 项目管理