精华内容
下载资源
问答
  • 本文结合具体软件开发项目,描述如何利用IBMRationalBuildForge在敏捷开发过程实现完全自动化软件构建,产品安装以及单元测试,进行每天持续快速构建,提高开发团队效率,改进产品和开发质量。概述敏捷开发...
  • 随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越人们生活紧密结合。1970年左右出现了嵌入式系统概念,此时嵌入式系统很多都不采用操作系统,它们只是为了实现某个控制功能,使用一个简单...
  • 1、开发随着传统瀑布模型淡出,开发过程的阶段性变得不那么严格...而实际上正确的开发过程应该是,需求原型尽早和开发人员沟通,开发人员会评估可实现性,给出合理化建议,帮助理顺需求,寻找逻辑异常;此后产品/业

    1、开发

    随着传统瀑布模型的淡出,开发过程的阶段性变得不那么严格和清晰。

    某些非技术背景,不了解软件工程的产品/业务人员,会想当然的认为开发就是Coding,需求提交给程序员,程序员马上就可以埋头敲键盘写代码了,所以整个开发过程就是写代码,写完代码就可以给用户用了。

    而实际上正确的开发过程应该是,需求原型尽早和开发人员沟通,开发人员会评估可实现性,给出合理化建议,帮助理顺需求,寻找逻辑异常;此后产品/业务继续细化需求,出页面设计图,而开发首先要做的不是编码,而是需求分析/分解,模块/接口/数据库的设计,这些是可以和产品页面设计同步的,之后才是编码,编码完成后要自我测试/编写一些单元测试以及接口测试代码,然后和其他模块集成联调,最后提交测试人员,持续修复问题和回归;上线时需要提供部署/配置支持,上线后仍然需要维护,修复问题/提供技术支持。除此之外还有配置管理/项目管理体系的引入,代码分支合并,功能/问题/支持任务的进度跟踪,风险控制,代码评审,时间管理和效率评估等日常事务需要处理。


    2、测试

    在一些急功近利的管理者眼里,测试是可以忽略的,因为他们只想尽快上线,不在意把真实用户当做测试人员,100%这样的产品就悲剧了。通常意义上的测试是要发现问题,但什么是问题呢? 问题包括需求偏差、功能异常、系统兼容性、用户体验、性能和安全,还有更难界定的可扩展性可维护性和可测试性。有些业务人员认为测试就是在页面上执行功能测试,很简单,甚至很多测试人员自己也那么认为,但实际上一个好的测试过程,首先在需求阶段测试人员就需要介入,从业务合理,同类产品对比,可测试性的角度提出独立意见,此后还需要把业务需求分解/组合/映射为测试需求,对应于开发设计和页面设计,测试人员需要相应编写测试方案和测试用例,在需要自动化的地方,根据接口设计,编写/录制自动化测试脚本,然后才是测试的执行工作,测试执行完成后要给出质量评估意见,后续测试同样需要对线上用户问题提供技术支持。在一个长期项目测试中,自动化的价值会更高,自动化测试框架的启动应该是和开发框架的启动相对应的。


    3、运维

    对于一些开发/测试人员而言,似乎运维就是发布代码,简单重复的更新。但实际上单就发布而言,那都是一个复杂工程,之所以没有看到这个复杂度,是因为好的运维人员把发布的麻烦用脚本给简化了,而且好的运维人员得有很好的配置管理意识,很多时候运维人员同时就是配置管理员,这是我认为可以紧密结合的角色。发布分为两个步骤,一个是测试环境的发布,一个是生产环境,最大的问题就是怎么保证测试环境和生产环境的一致性,这需要开发人员的配合。很多时候测试环境一切都好,发布到生产环境,出现奇怪问题,一般情况是代码不一致,数据库不一致,定时任务不一致,目录权限配置不一致引起的。所以发布的过程,不只是更新代码,一个好的可以持续的发布,源头在于好的配置管理,版本管理,除了需要发布的代码外,说明文档/脚本/权限变动项/数据变动项/命令行定时任务等都需要开发人员完整一致的入配置库,这些一致的发布物在合适的时间点需要被冻结,打上发布标记,后续的问题修改必须按补丁流程来走,并被严格管理,不能引入主干上开发的新功能。在发布时,首先需要备份数据(如果用了Git,SVN进行发布管理可以不用备份代码),检查数据变动项的规范和正确性,建立修改定时任务,迁移历史数据,检查是否需要升级环境,是否需要安装扩展包,是否需要清除本地缓存和CDN缓存,是否需要切换到维护页面,选择多个服务器的更新策略(A/B还是全部更新),是否需要重启服务等。


    开发/测试/运维都不是那么简单的,都是可以在各方面持续学习和提高的。这就是为什么有些想起来看起来很简单的事,做起来不然,因为行动起来才会暴露/遭遇更多环节和细节,而细节上的一个异常,会导致整个过程的失败。


    by iefreer

    展开全文
  • 摘要:介绍了产品数据管理技术产生历史背景及其定义,分析了产品数据特点,并介绍了实现产品数据管理3种方式,重点介绍了基于并行工程的产品设计过程的数据管理体系结构。最后展望了产品管理技术发展前景。 ...

    摘要:介绍了产品数据管理技术产生的历史背景及其定义,分析了产品数据的特点,并介绍了实现产品数据管理的3种方式,重点介绍了基于并行工程的产品设计过程的数据管理体系结构。最后展望了产品管理技术的发展前景。

     

    概述

    随着计算机技术、自动控制技术和网络通讯技术的迅猛发展,使得现代制造技术和生产管理方式发生了根本性的转变,以CAD/CAF/CAM集成技术为核心(简称VC3技术)的制造模式正迅速成为产品开发、生产的主流方式,整个的开发过程人们开始变串行过程为并行方式,以动态优化方式处理产品开发过程中的问题,力图使产品开发人员从一开始就能考虑到产品从概念设计到产品报废的整个产品生命周期中的所有因素,包括质量、成本、作业调度及用户需求等。

     

    因此,并行操作已经成为先进的产品开发的重要特点,而各种工程技术人员可在同一个产品模型下进行各自相关的产品开发。要完成上述过程就需要实现信息的共享,信息共享是企业进行生产过程自动化的基础,这就是产品数据管理技术产生的必然技术背景!

     

    1 产品开发过程中的数据特点

    产品开发过程可以分为若于个小的阶段,例如可分为规划、设计、计算、生产加工和测试装配等阶段。在这些过程中要产生大量的数据信息,由于各阶段要求解决的阶段性任务不同,所关心的数据信息也各异,但整体上又相互联系,常需要长时间的计算才能获得最终结果。

     

    另外,一个设计过程往往是一种反复试探、调整的过程,设计者的操作主要是一种实时性的交互处理,对响应速度和用户接口要求比较高。因此,产品数据既有静态的规范数据,又有随着设计过程的展开而经过修改、不断产生的动态构造数据、信息增长数据、实验性临时数据等,数据结构复杂多样,记录数据项往往要根据产品对象而变化。

     

    归纳起来,产品数据有如下特点:

    (1)数据类型多、数据量大:产品数据包括的诸多内容中主要有两类。一是设计环境数据,主要是设计环境规则、设计方法、标准元素、设计条件和需求等;二是设计对象数据,主要是设计产品定义、设计约束控制、产品性能、生产要求、经济核算、设计方案优化等。两类数据中,都存在基本数据类型,同时又存在非结构化的变长数据,如变长字符串、图形、图像、运动视频和声音信息等,因此,只有具备多种媒体信息的表现方式,才能生动逼真地表现产品信息。

     

    又由于产品对象本身的系统性和长过程的固有特点,使得产品数据量庞大而复杂,即使是较为标准的数据,如设计规范数据、标准公差、结构要素、材料和零件、技术规范等,其数据量也是很大的,这些客观因素都要求产品数据库具有大容量、多品种数据存储和快速处理能力。

     

    (2)数据动态性:产品数据一般具有静态数据部分,即事先准备好的用于指导实际的信息,如设计规范等,但更为重要的是动态数据,即在产品设计过程中随设计行为展开而动态产生、并且直接关系到最后结果的数据,如结构分析计算、力学模型、零件图形等,又加工艺规程、方案处埋、技术文档处理等,所以用以存储产品数据的结构模式也具有动态构造性质,直到产品对象最终结果生产出来才能构造完成。

     

    (3)数据结构复杂:产品数据在随着过程展开而动态形成发展的同时,所带来的文体间的关系是复杂多样的,呈现网状结构,又分层次之分;分层设计不仅有层次结构,而且对于不同的设计对象的层次数目也不一样,在每个节点中,有时可能本身就具有复杂的结构特性。而产品中关于知识和规则数据的表示和存取,其结构关系就显现出更加纷繁复杂的景象,特别是许多事实知识(如设计和生产案例、经验等)本身就存在描述的模糊性,个别设计对象或管理对象又具有复杂的逻辑联系和不确定性推理。对这种非标准数据的定义和操作是相当困难的。因此,产品数据结构复杂。

     

    (4)过程存取和随机存取方式:产品数据主要是过程存取,因此事务管理也是面向长事务的。产品设计通常要延续很长一段时间,对数据不仅仅是简单的查询或大量的提取数据,所提取的数据往往要参与设计过程产而设计过程又要使用多方面的相关信息,并且新产生的结果(包括对已有设计数据的修改)要作为事务提交并加以存储。

     

    同时,由于产品设计是一个试探性过程,其有反复性、尝试性和发展性,如有些设计是对经典范例的修改,而有些设计可能有多种可选方案,这就要求能保留和管理设计的历史、不同设计方案和动态变化的模式等等。此外,产品数据运行方式上还有版本控制的要求。因此,产品设计中有总体数据、各专业数据、纵向关联数据和横向关联数据,在一个集成系统中,随机存取的数据量很大。

     

    2 产品数据管理的概念

    PDM(Product Data Management,产品数据管理)技术最早出现在20世纪80年代初期,目的是为了解决大量工程图样文档的管理问题。过去,工程师们常常要扎到数据堆中,花费很多很多的时间去寻找本应唾手可得的信息。为了解决大量工程图样的管理问题,通过使用图形扫描技术等把工程图样转换成电子图像,并用软件实现对这些电子图像的浏览和修改,重新生成新的工程图样,这种软件就是TIPDM的雏形。

     

    随着文档存储技术的发展,软件管理的对象类型逐渐拓宽,开始处理大量的异构文档(如CAD图形、图像、字处理文件等),而且结合企业的实际,开始在计算机上模拟企业中频繁进行且容易被延误的“更改单”的管理过程,这类管理逐渐扩展到产品开发过程领域中,如设计图样和电子文档的管理、自动化工程更改单的管理、材料清单(Bill of Material,BOM)的管理等。最近几年,PDM发展极为迅猛,它所支持的应用范畴也越来越广。

     

    在产品开发集成化过程中,PDM是不可缺少的软件支撑环境,它是连接集成化环境中人员、工具、信息、过程的桥梁和纽带。1995年2月,专门从事PDM和CIM相关技术咨询业务的CIM Data公司总裁ED Miller在“PDM Today”一文中给出的PDM的定义是:PDM是管理所有与产品相关信息和过程的技术;与产品相关的所有信息是指描述产品的各种信息,包括零部件信息、结构配置、文件、CAD档案、审批信息等;与产品相关的所有过程,即对这些过程的定义和管理,包括信息的审批和发放。这一定义意味着清软英泰TIPDM将在工业上有广阔的应用前景。

     

    1995年9月Gartner Group公司的D.Burdick在所作的“CIM策略分析报告”一文中将PDM定义为:PDM是为企业设计和产生构筑一个并行产品艺术环境(由供应、工程设计、制造、采购、销售与市场、客户构成)的关键使能技术。一个成熟的PDM系统能够使所有参与创建、交流、维护设计意图的人,在整个信息生命周期中自由共享和传递与产品相关的所有异构数据。

     

    该定义确切表明了PDM与并行工程之间的联系,这里,“异构数据”是指由于产品设计所涉及的知识构成越来越复杂,各领域专家借助不同的硬件、不同的操作系统和不同的应用软件工具参与设计,所以,产品信息往往要由不同的软件供应商提供的多种应用软件系统生成或使用,这样就会产生类型各异的设计数据;又由于参与设计的人员可能分属不同的部门甚至是不同地域,设计活动的分散性使信息存放在不同的部门或地点。“与产品相关的过程”指的是产品的开发过程、产品变更过程和其他的工作流程等。

     

    3 PDM的结构

    在物理结构上,传统的PDM采用分层结构。上个世纪80年代以前广泛使用的是单层结构,单层结构的典型特点是GUI(Graphic User Interface,图形用户接口),处理逻辑和数据存储作为一个整体包含在系统中。

     

    90年代中期流行两层结构,这种结构把应用程序分成两层:客户层和服务器层,用户接口和处理逻辑驻留在客户端,而与其相关的所有数据则存放在服务器端。其最大的特点是客户端的简化,通用的客户端浏览器只是一个显示界面的工具,而主要的业务逻辑全都放在Web服务器中进行处理,这个特点使系统的安装与维护特别的方便,只需要改变服务器端,就可以实现整个系统的更新、维护。

     

    但是,Web本身没有提供一个良好的开发方式,它仅是一个运行的模式,按照现在普通的Web开发方式,即使用C编写CGI(公共网关接口Common Gateway Interface)程序,开发还是比较困难的;而且由于业务逻辑程序都在服务器端运行,当应用范围变得越来越复杂的时候,Web服务器的负载就会越来越重,因此,需要开发出分布式的Web程序来分散计算负载。

     

    1996年初,3层或多层结构的出现使计算机网络的应用发生了根本的变化,这一开放的、分布对象的方法把客户端庞大的程序又分成了两个部分:用户接口和逻辑处理,这种3层结构对用户请求的响应和处理速度更快。

     

    随着分布式对象技术的逐渐成熟,多层分布式应用体系结构得到越来越多的应用。应用系统只有向多层分布式转变,才能最终解决Client/Server结构存在的问题。在多层架构下,应用可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信,将应用系统集成于分布式系统之上,能极大地提高系统的可扩展性。

     

    CORBA(通用对象请求代理体系结构,Common Object Request Broker Architecture)的出现解决了分布式计算的问题,它可以让分布的应用程序完成通信的互操作。CORBA提供的ORB(Object Request Broker)机制可以使对象间透明地进行通讯和访问。ORB作为联系客户端与服务器端对象的中间件,为产品异构平台和异构系统之间的分布式互操作提供了一个有效途径。不同的ORB之间可以通过IIOP协议进行通信。

     

    任何对象只要用IDL语言(Interface Definition Language)对其接口进行描述,就可以通过ORB访问其它遵循CORBA规范的系统,而不需要考虑这些系统的物理位置、运行平台以及具体实现,这就实现了访问以及互操作的透明性,解决了产品数据分布异构环境所带来的一系列问题。

     

    PDM技术是对工程数据管/里(Engineering Data Management,EDM),文档管理(Document Management,DM),产品信息管理(Product Informa-tion Management,PIM),技术数据管理(Technology Data Management,TDM)、技术信息管理(Technology Informant Management,TIM)、图像管理(Image Management,IM)及其他产品定义信息管理技术的一种概括性的扩展,新一代PDM系统融合了面向对象技术、网络通信技术、客户/服务器结构、分布式数据库技术与图形化用户接口。许多企业都把PDM作为贯穿整个企业的集成框架,是企业保持竞争力的战略决策。

     

    TIPDM作为工程领域的集成框架,具有以下作用:

    ①支持异构的计算机操作系统、数据库与网络;

    ②采用面向对象的机制,提供面向对象的建模方法,具有良好的系统开放性与可扩展性;

    ③具有便捷的集成插件功能,支持异构应用工具系统与PDM的集成,实现对工具的透明调用;

    ④提供产品全生命周期的串并行过程管理;

    ⑤提供对分布式数据的统一管理,支持信息共享。

     

    图1是基于PDM的产品并行设计支持系统的体系结构(图中粗线框部分)。其中,PDM框架是面向网络分布的设计开发团队,由控制层、应用层、应用支持层与基础环境层组成。

     

    (1)控制层:位于系统的上层,它定义产品并行开发的过程模型。并行工程中的数据管理是围绕过程来展开的。过程决定了参与人员(Team)的组织方式、人员的职责和权限、设备资源的分配、应用工具的使用,以及决定何人应于什么时候向什么地方提交什么数据。因此,在确定支持并行工程的产品数据管理框架的体系结构时,把过程作为最上层的控制,它通过相应的软件操作接口定义可执行的设计过程,实现流程的优化。

     

    (2)应用层:是数据的生成器和接收器,它面向不同的应用领域,完成不同的任务(如CAx、DFx等)。它可通过相应的软件应用开发接口,将对象封装在管理框架中,实现应用工具与PDM的封装或集成。

     

    (3)应用支持层:是数据管理的核心层,它一方面提供用户操作接口,使用户实现人员组织、产品结构和过程管理等定义和操作,另一方面它还提供应用开发接口,使用户可以对已经封装过的对象,进行产品数据模型的修改和补充,实现产品结构管理、应用工具封装等用户化任务。利用面向对象技术把所有工业标准模型和用户化的模型,放置于图形化的对象浏览器中进行统一管理,该层把网络、操作系统及数据库屏蔽起来,用户可以直观、方便地操作整个环境中的数据对象。

     

    (4)基础环境层:为上两层提供支持,其中数据库主要对元数据(meta data)进行管理,而网络主要为该框架的客户机/N.务器(C/S)的体系结构提供支持。

     

    为了保证产品全生命周期中上下游信息的畅通、一致与共享,PDM集成框架一方面需要管理与控制产品开发过程中产生的产品信息;另一方面还要实现与不同应用系统的集成,这种集成包括两个层次,其一为PDM系统与CAx/DFx工具的封装与集成,其二为基于PDM系统的设计系统、基于EPR的生产计划管理系统间的信息交换。在此基础上,为IPT中每个成员提供一个协同工作的环境,保证他们在异地环境下互相协作、适时交换信息,加快产品的开发过程。

     

    4结论

    结合上述并行工程体系结构,在一定的软件环境中建立支持多功能并行开发的协同工作环境,对产品进行生命周期全数字化定义,实现信息的完全计算机化管理;定义结构优化的团队组织模式,分层建立信息共享操作的权限;提供与不同应用工具的分层接口,有效管理工具资源信息;在对企业过程模型进行优化的基础上,将其转化为可控的工作流程,实现产品的并行设计。这就是产品数据管理的主要内容。

     

    目前,PDM技术的更高级发展阶段称为产品全生命周期管理PLM(Product Lifecycle Management),它是对产品从用户需求、产品设计、制造装配、维修服务到报废回收的各个环节所涉及的产品、过程、资源进行管理的技术。如果说PDM是集中在产品设计阶段,而PLM则大大扩展了PDM的范围。清软英泰PDM网站:www.plmpdm.cn

     

    展开全文
  • 通过敏捷看板来实现需求、迭代(支持燃尽图)...Scrum是用于开发和维护复杂产品的一个框架。上世纪90年代,Scrum在全球已得到广泛应用,Scrum最初用于产品研发,目前已广泛用于软硬件开发、互联网、人工智能、学校、政府

    通过敏捷看板来实现需求、迭代(支持燃尽图)和缺陷管理;此类型项目提供了单团队敏捷开发和大规模敏捷模板,适用于Scrum敏捷项目管理及产品研发。

    本场景描述的是针对10以下小型产品研发团队或小型项目的敏捷应用场景。Leangoo单团队敏捷开发项目模板是基于Scrum模型定义的,所以这里所说的单团队是指只有一个Scrum团队的场景。

    Scrum是用于开发和维护复杂产品的一个框架。上世纪90年代,Scrum在全球已得到广泛应用,Scrum最初用于产品研发,目前已广泛用于软硬件开发、互联网、人工智能、学校、政府、市场、管理组织运营等诸多领域。随着技术、市场和环境的复杂度和不确定性持续增长,Scrum在处理复杂性方面的效用日益得到证实。下图是Scrum的框架和流程:

    56sdfasg

     

    Scrum流程

    在Leangoo中建立敏捷项目

    对小型团队来说,在Leangoo中建立一个敏捷项目就可以很好的支持团队的产品或项目研发。如果下图所示:

    5fgd

    项目示例:

    215dbg

    Leangoo的敏捷项目模板会默认创建“产品Backlog”看板,缺陷看板和第一个迭代的迭代看板(在Scrum中,迭代叫做Sprint),您可以根据需要创建后续迭代的看板。您也可以根据产品和项目的特征,判断是否需要通过使用Leangoo脑图工具创建产品路线图规划。

    产品路线图规划和需求管理

    产品路线图是重要的产品管理工具。产品路线图是一个高层次的战略计划,它描述了产品在未来一段时间可能会如何发展和壮大。产品路线图确保整个产品团队持续关注产品的目标,帮助产品负责人把握产品的战略方向,调整产品的优先级和产品规划。通过Leangoo可以帮助您创建价值和目标驱动的敏捷产品路线图。

    以下场景产品路线图规划是可选的 :

    • 已经进入稳定期,处在持续微调阶段的互联网产品、SaaS软件或平台
    • 已经进入维护期的产品,如已经趋于稳定的银行、保险、运营商的业务支持平台
    • 短期定制外包项目
    • 短期小型项目

    产品路线图规划的频率基于产品特征、产品规模和复杂度,以及产品推向市场的频率来决定。

    市场变化较快,响应要求高的产品,可以按照月度进行规划,对于企业级大型产品或解决方案可以按照季度进行规划。

    0fmklf

    多层次的敏捷规划

    1、创建一个产品路线图

    在Leangoo产品中,我们推荐使用共享的Leangoo脑图来进行可视化的产品路线图规划。打开一个Leangoo项目,点击“脑图”Tab页,可以创建一个产品路线图的脑图,下图是一个示例:

    5ghghgfd

    产品路线图规划

    2、管理版本需求

    在基于Scrum的敏捷开发模型下,我们通过产品Backlog(产品待办列表)来管理产品/项目需求。对于使用了版本规划的场景,我们需要为每个版本创建一个产品backlog看板。

    552d2d

    产品Backlog是一个按照商业价值排序的条目化的需求清单,,在产品backlog中需求通常使用用户故事来表达。在Leangoo中提供的产品Backlog模板,根据需求的优先级和规划,把产品Backlog分为了五个列表,通过这五个列表将需求规划到迭代:

    1) 待梳理需求:放还没有经过细化和梳理的原始需求,或者还需要进一步澄清和分析的需求。

     

    2) 以后的迭代:放近一两个迭代不会开发的需求清单,清单中,越是上面的需求,优先级越高。

     

    3) 下个迭代:较高优先级,下一个迭代预计会着手开发的需求。

     

    4) 当前迭代:最高优先级,规划到当前迭代开发的需求。

     

    5) 已交付:以前的迭代已经交付的需求。

    6h7h

    在这个产品backlog当中,越往右,优先级越高,越往上面,优先级越高。需求按照价值高低从左向右流动。

    打开产品Backlog上的故事卡,可以编辑和查看用户故事所有细节,如下图所示:

    234rg

    针对如下场景:

    • 已经进入稳定期,处在持续微调阶段的互联网产品、SaaS软件或平台
    • 已经进入维护期的产品,如已经趋于稳定的银行、保险、运营商的业务支持平台
    • 短期定制外包项目
    • 短期小型项目

    通常产品路线图规划是可选的,不存在多个版本规划的情况,一个项目只需要一个产品 backlog看板,产品backlog的结构和多版本规划情况是一样的。如下图所示:

    6778h

    迭代管理

    Leangoo敏捷开发模板使用的是双层看板结构,第一层看板是产品Backlog看板,用于管理需求清单和需求规划,可视化展示需求的进展情况;第二场看板是Sprint(迭代)看板,用于管理当前Sprint的需求和开发任务,可视化展示每个Sprint的需求和任务进展情况,每个迭代一个迭代看板。两层看板结构如下图所示:

    4gfdndsfg

    我们在产品Backlog中将需求规划到当前迭代后,我们就需要为当前迭代创建迭代看板,迭代看板每个迭代一个,在迭代看板上可以进行迭代计划和任务分解,基于迭代看板跟踪任务进展和进行团队任务协作。

    针对于小型团队,只有一个项目,我们就在项目内为每个迭代创建看板,如下图所示:

    22fff

    每个迭代看板上的需求引用自产品Backlog规划到本迭代的需求,如下图所示:

    586323df

    迭代看板的结构包括4个列表和多个泳道,每个需求(用户故事)一个泳道。

    4个列表分别是:

    1) 用户故事:这个迭代计划完成的用户故事。

     

    2) 待办:用户故事分解得到的开发任务,处于待开发状态

     

    3) 进行中:正在进行的任务

     

    4) 完成:已经完成的任务和故事都放到这个列表

    迭代看板示例如下图所示:

    65856jhdfg

    进展跟踪

    1、迭代进展跟踪

    燃尽图是Scrum中的一个简单实用的团队进展跟踪的工具,能形象地展示当前迭代中的剩余工作量和剩余工作时间的变化趋势。一般在每日站会后团队会根据任务的完成情况对其进行更新。在迭代看板上,点击看板统计图标,即可打开燃尽图。如下图所示:

    23fvsdfgsf

    456ret

    燃尽图

    2、版本进展跟踪

    类似于迭代燃尽图,为了确保某个版本能够按计划准时发布,达成版本发布目标,我们需要跟踪这个版本的进展。在Leangoo中,我们可以通过发布燃尽图来进行跟踪,点击“产品Backlog – v3.1”的看板统计图标,即可打开版本燃尽图。如下图所示:

    9olku

    45fdsfdg

    发布燃尽图

    3、团队速度统计

    团队速率是一个Scrum团队在一个Sprint中实际完成的工作量(通常使用故事点作为团队速度的单位)。每个Sprint结束时,Leangoo可以帮助团队自动记录当前Sprint完成的工作量,并且自动生成团队速率的可视化统计图表,方便团队了解团队效率变化的趋势,以及分析异常。

    34tr5gh

    4、项目进度统计

    在Leangoo项目中,系统也会根据项目需求的总体完成情况,统计项目的总体进度,并进行预计,严重延期的项目红色预警,进度偏差警告黄色预警。预警阀值可以进行项目自定义配置。

    324sdfsdg

    缺陷管理

    1、缺陷看板

    在Leangoo的敏捷项目中,默认创建了“缺陷看板”,用来管理项目/产品缺陷,如下图所示:

    7ygfhdfgh

    当前迭代的缺陷,建议放到本迭代的迭代看板上,在迭代结束前修复完成。“缺陷看板”通常存放发布后遗留的缺陷,客户反馈的缺陷,生产环境发现的缺陷等。

    您可以通过Leangoo看板自定义缺陷修复的流程,跟踪缺陷的修复状态,了解缺陷处理过程中是否存在等待和瓶颈,以便于及时调整,优化团队的工作效率。

    86t5gf5

    2、缺陷卡片

    在缺陷看板上,您可以通过缺陷卡片记录缺陷的详细信息,包括缺陷的类别,负责人,工作量,缺陷的截图,描述等等。您可以跟进需要自定义字段,自定义缺陷卡片需要记录的信息。

    d2d45df

    3、基于缺陷看板进行缺陷分布统计

    Leangoo支持通过不同的维度对缺陷进行分布统计,如下图所示:
    3536df

    展开全文
  • 每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进...

    在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付的系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进和完善。

     

    冲刺流程

    冲刺包括冲刺规划冲刺执行冲刺评审冲刺回顾四大过程。冲刺是从规划开始,团队成员必须就本次冲刺的目标和计划达成共识,全体成员在整个冲刺过程按照既定的计划奔着这个目标前进,每天对取得的成果和面临的问题进行沟通讨论。冲刺结束阶段,在冲刺评审活动中召集相关利益相关方一起演示产品功能并获得反馈,获得的反馈是产品列表和下一阶段冲刺规划内容的重要来源。在冲刺回顾活动中,全部团队成员对冲刺执行过程进行检视和讨论,抓住其中存在的问题并讨论优化方案,在下一个冲刺进行改善和优化,实现冲刺过程的优化和冲刺执行效率的提升。

     

    冲刺规划

    一般情况下,是在每个冲刺的开始阶段进行冲刺规划,因为在这个时间点上,能充分利用已掌握的信息最出最优的决策。冲刺规划过程时间的长度根据冲刺的长度而定,占用整个冲刺的5%左右时间是比较合理的,比如两周的冲刺应该控制在4小时以内,一个月的冲刺应该控制在8小时以内。

     

    冲刺规划过程应该由整个团队协作完成,产品负责人从现有的产品列表清单中选取清单项,提出冲刺的初步目标,并负责解释开发团队针对选取的产品清单项提出的任何疑问。开发团队对冲刺内可交付的工作清单进行评估,并在规划结束时做出最终的承诺。Scrum Master作为教练,参与和观察整个过程,提出可能的风险点,引导和帮助开发团队做出有效的承诺。

     

    在冲刺规划过程中,基本的流程是:

     

    冲刺规划过程结束时,最终获取冲刺目标和冲刺清单,开发团队为此目标和任务清单做出承诺,并在接下来的冲刺执行中为此目标而努力。

     

    冲刺执行

    冲刺执行包括了交付一个增量可发布的产品而必须完成的所有工作,其本身就像一个超小型的项目,冲刺执行过程占用了冲刺大部分时间,比如两周的冲刺中,冲刺执行占用10天中的8天,所以冲刺执行过程对冲刺目标的顺利完成至关重要。冲刺执行包含了规划、管理、执行和沟通等工作:

     

    01 规划

    冲刺执行规划可以对冲刺清单中的重要工作项进行依赖关系的梳理,但不需要做详细的执行计划,比如一个甘特图,因为这可能是在浪费时间。团队不仅仅浪费了制作计划的时间,还浪费了更多时间试图将计划调整为反映真实执行情况。冲刺执行规划的原则是见机行事,逐步明确任务规划,这个活动是一个持续性的,贯穿整个冲刺执行过程。

     

    02 管理

    冲刺执行管理是保证为达成冲刺目标而进行的管理活动。开发团队的特点决定了管理风格。冲刺执行管理具体来说要解决以下几个问题:

     

    • 应该并行几个工作项?并行太多的工作项,团队成员会在不同工作项中切换,造成浪费;并行的工作项太少也会造成资源闲置浪费,适量的并行数量,力求充分利用团队的生产能力,而又不至于过于繁重,达到合理的平衡,这需要每个团队根据自身的能力和特点来实践和探索。

     

    • 从哪个工作项开始?最简单的方法应该是按优先级的排序从高到低依次进行,但是在具体执行过程中可能会碰到各种问题导致优先级高的工作项暂时无法开始,这种情况下也可以开始次高优先级的工作。

    • 由谁来做?最明显的答案是由那个能完成得最好最快的人去做。但是每个团队有自己的考虑因素,比如最合适的人可能在忙于其他的工作抽不开身,或者他可能正在休假中,甚至从团队发展的角度考虑,可以给其他成员锻炼机会,以达到团队成员在各项技能上的重叠,互为补充。

     

    • 每日例会是一个关键的每日检视-调整活动,时间控制在15分钟以内,主要目的是检视、调整和同步每日工作计划,帮助团队把工作做得更好。

     

    03 执行

    进行Scrum敏捷软件开发,团队成员需要熟练一些应用软件开发技术实践,比如持续集成、自动化测试、重构、测试驱动开发等,这些技术实践会给开发团队提出较高的要求,在短期内会对开发团队造成进度或其他方面的压力,但是长期来看,只有积极运用这些良好的技术实践,才能切实体验到敏捷的好处。

     

    04 沟通

    敏捷团队一般是足够小的团队,小团队成员的沟通不需要复杂的图表和报告来沟通工作进展,推荐使用以下方法和工具:

     

    任务板:显示冲刺清单随时间的任务状态.

    冲刺燃尽图:显示未完成任务的剩余工作量曲线。

    冲刺燃烧图:显示达成冲刺目标过程中所完成的工作量曲线。

     

    冲刺评审

    冲刺评审过冲关注的重点是产品,即关注的是结果,对冲刺执行期间完成的工作成果进行检视,参与的人员包括Scrum团队、内部利益干系人和外部利益干系人等。评审开始前的一项重要准备工作是确认冲刺工作完成,这项工作是由产品负责人来做,他最终确认冲刺清单中的工作项是否完成,确认的时机不是等到评审前最后一刻,可以冲刺执行过程中尽早确认,这样会及早发现问题,赢得补救的时间。

     

    冲刺评审过程中采用的方法包括:

     

    01 总结

    通常由产品负责人对本次冲刺的工作进行概括性说明,并展示冲刺目标和冲刺清单,说明完成的产品增量的基本情况。

     

    02 演示

    由开发团队成员演示已完成的系统功能,对于不那么容易演示的功能(比如后台运行的程序)至少要提供一些测试程序来证明已完成的工作满足产品负责人的要求。需要注意的演示本身不是目的,演示的目的是激发团队成员的思维碰撞,提出更有建设性的建议和反馈。

     

    03 讨论

    产品增量演示引导参与者就产品功能或目标等方面进行评论、建立和适当的讨论,如需要更深入的问题方案的讨论,应该另外进行会议独立进行。

     

    04 调整

    通过演示和讨论,会产生一些变更或新增的需求,这些变更和需求会对产品清单和下阶段的冲刺清单带来调整,通过梳理之后,在每次冲刺结束的时候会得到更新后的产品清单,可以在接下来的冲刺中及时响应变化。

     

    冲刺回顾

    冲刺回顾关注的是产品构建过程本身,即关注的是过程。团队一起回顾冲刺过程中发生的事情,分析自己的工作方式,找出可能存在的问题点,提出改进方案和制定改进计划。每次进行冲刺回顾前,可以先定义回顾的重点内容,以免过于分散。在回顾会议中,需要确保营造“对事不对人”的氛围,回顾的目的在于改进过程,而非指责某个人员。回顾结束时,让团队成员跟进并落实改进措施,使得团队在下阶段的冲刺中更加高效。

     

    总结

    冲刺包括了整个产品或项目开发和管理中的多数的时间和活动,是产品功能实现的主要环节。本文尝试从冲刺规划、冲刺执行、冲刺评审和冲刺回顾四个过程的角度,全方位探讨了冲刺涉及的所有活动和工作内容,希望可以对敏捷团队在冲刺过程的执行中有所启发和帮助。

    作者:李灏 

     

    其他优质文章

    从我们多年项目实践中,告诉您企业为什么要做IT运维管理转型?

    Linux | 文件的时间属性

    企业如何规划DevOps落地与演进?

    ZooKeeper | 安装部署、应用场景、开发对接API

    【银行运维】落地平台化管理,大步迈向银行4.0

    展开全文
  • 产品 在这些项目计划之前,应该首先进行项目定义,也就是定义项目范围,其中包括建立产品的目的范围。可选的解决方案技术或管理的约束等...要开发的软件如何应用于大型的系统产品或业务环境?该环境下钥匙加什么约束
  • 最近新的项目中我们改进了产品开发的过程,对于过程改进的效果来谈谈自己的看法。 先说说我们原来的现在的产品开发过程产品Visio画图,表达产品意图。 技术和产品开讨论会确定是否可以技术实现。 技术...
  • 一个需求下来,如果不能很好地理解产品需求,如果不能很好驾驭需求实现的逻辑,肆意根据理解去做技术方面架构编码,等到后来发现了不对了再去修改就特别麻烦。 所以我们在实现产品需求时,每一个功能需求,...
  • 一切伟大产品的实现都是从需求管理开始的。敏捷开发中的需求管理大致分为三个阶段:需求调研,需求分析需求确认。 需求调研阶段 产品立项后,产品经理便开始了需求打交道的漫长过程。第一步就是需求的调研工作...
  • 开发阶段通常还会包含以下几个部分:功能验证 -> 设计文档 -> 编写代码 -> 测试 -> 产品发布 -> 产品升级在整个开发的过程期间,还需要对各种文档、代码、资源进行管理,引入版本控制的概念。功能验证如果产品的功能...
  • PDT经理(LPDT) 职责说明 ...协调市场、工业化、研发、采购、质量、财务等子团队同步工作来满足关键里程碑实现的要求; 保证项目整体性,对该项目成本、进度、质量等方面控制负责,保证其按期、
  • ASP(Active Server Page)是微软公司的产品,由于它编程很容易上手,能快速开发功能强大动态网站,现在很多网站(特别是Intranet/Extranet内部网)采用了NT+IIS+ASP模式,使得ASP成为目前较为...
  • 很多同事都常常说我,你不像一个干技术产品让你干什么你就干什么不就好了,最多就是在技术比较难实现时说一句这个需求做不了就得了,为什么老要去和产品关于交互问题争论呐?我常常争辩道,我认为一个技术不能...
  • 此类型项目提供了单团队敏捷开发和大规模敏捷模板,适用于Scrum敏捷项目管理及产品研发。 本场景描述是针对多个Scrum团队/敏捷团队,开发同一款大型产品,或者大型项目敏捷应用场景。Leangoo多团队大规模敏捷...
  • 一个需求下来,如果不能很好地理解产品需求,如果不能很好驾驭需求实现的逻辑,肆意根据理解去做技术方面架构编码,等到后来发现了不对了再去修改就特别麻烦。 所以我们在实现产品需求时,每一个功能需求,不管...
  • 软件开发过程和文档

    2019-11-08 15:49:57
    项目的实现在技术上、经济上社会因素上的可行性,可供选择的可能实施方案,实施方案的利弊。  项目开发计划    产品经理   实施方案制订出具体计划,应该包括各部分工作的负责人员、...
  •  Microchip先进单片机架构部副总裁Mitch Obolsky表示:“Microchip的开发工具包可帮助iPodiPhone配件设计人员更迅速地将创新产品推向市场。随着数以千计潜在iPodiPhone新应用涌现,这些工具包将简化整个...
  •  Microchip先进单片机架构部副总裁Mitch Obolsky表示:“Microchip的开发工具包可帮助iPodiPhone配件设计人员更迅速地将创新产品推向市场。随着数以千计潜在iPodiPhone新应用涌现,这些工具包将简化整个...
  • 一个需求下来,如果不能很好地理解产品需求,如果不能很好驾驭需求实现的逻辑,肆意根据理解去做技术方面架构编码,等到后来发现了不对了再去修改就特别麻烦。 所以我们在实现产品需求时,每一个功能需求,...
  • 开发过程遇到问题

    2017-01-06 16:48:02
    开发过程遇到问题 1.数据库先从缓存中读取,没有再从数据库中读取。 2.会变化数据尽量从数据库中获取,不要固定写到程序中,方便不改化码情况下实现更新。 3.产品最好区分控制方式(APP、面板)。 4....
  • Webrtc是一个很大工程,包括视频音频,到现在TSINGSEE青犀视频需要开发Webrtc实现本地录音,并在浏览器使用video标签播放音频,为后期的产品研发做准备。 通过之前研究,我们已经实现了webrtc视频推流,即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,836
精华内容 1,534
关键字:

产品和过程开发的实现