首页 项目管理信息系统敏捷开发双向迭代模型及其应用

项目管理信息系统敏捷开发双向迭代模型及其应用

举报
开通vip

项目管理信息系统敏捷开发双向迭代模型及其应用项目管理信息系统敏捷开发双向迭代模型及其应用 项目管理信息系统敏捷开发双向迭代模型 及其应用 张跃坤,程铁信,孙月峰 5 (天津工业大学管理学院,天津 300387) 摘要:随着现代信息技术的发展,项目管理信息化成为了项目管理研究领域的热点。本文建 立了适用于项目管理信息系统开发的敏捷开发过程模型——双向迭代模型。此模型将项目管 理的九大管理领域分模块并行开发,在模块间进行不同阶段的横向迭代开发,在模块内进行 功能的纵向迭代开发,开发过程中坚持敏捷原则和结对编程、测试驱动等敏捷实践。最后, 10 结合曹庄泵...

项目管理信息系统敏捷开发双向迭代模型及其应用
项目管理信息系统敏捷开发双向迭代模型及其应用 项目管理信息系统敏捷开发双向迭代模型 及其应用 张跃坤,程铁信,孙月峰 5 (天津工业大学管理学院,天津 300387) 摘要:随着现代信息技术的发展,项目管理信息化成为了项目管理研究领域的热点。本文建 立了适用于项目管理信息系统开发的敏捷开发过程模型——双向迭代模型。此模型将项目管 理的九大管理领域分模块并行开发,在模块间进行不同阶段的横向迭代开发,在模块内进行 功能的纵向迭代开发,开发过程中坚持敏捷原则和结对编程、测试驱动等敏捷实践。最后, 10 结合曹庄泵站项目管理信息系统敏捷开发实例,应用该模型不仅可以快速适应用户需求的不 断变化,而且能及时地开发出高质量的项目管理信息系统。 关键词:软件工程;项目管理信息系统;敏捷开发;双向迭代模型 中图分类号:TP311 15 An Agile Development Bidirectional Iteration Model for Project Management Information System and its Application ZHANG Yuekun, Cheng tiexin, Sun yuefeng 20 (Management School,Tianjin Polytechnic University,Tianjin 300387) Abstract: With the rapid development of the IT, project management information was focused widely. In this paper, an agile development model based on bidirectional iteration for Project Management Information System(PMIS) was set up, in which the 9 modules of project management can be developed concurrently. Among the different development phases of the modules, the vertical iteration was used, and among the different functions in one module, the 25 horizontal iteration was used. Finally, the model was applied to the PMIS of the Caozhuang pumping station project, which illustrated that with the model the constantly changing demands of the user can be satisfied and the high quality PMIS can be developed in time. Key words: Software Engineering; Project Management Information System(PMIS); agile development; bidirectional iteration model 30 0 引言 2001 年 2 月,Fowler 和 Highsmith 等 17 位著名的软件开发专家齐聚在美国犹他州雪鸟 滑雪圣地,举行了一次敏捷方法发起者和实践者的聚会。在这次会议上,他们正式提出了 Agile(敏捷开发)这个概念,并共同签署了《敏捷宣言》。自从敏捷宣言建立以来,许多 研究团体都对敏捷软件开发投入了巨大的精力。大量的遵循敏捷宣言的开发方法开始出现, 35 它们包括极限编程(XP, eXtreme Programming)、SCRUM、功能驱动开发(FDD, Feature-Driven Development)和水晶方法(Crystal Methodologies)等[1]。 Agile 方法对软件生产率高度重视,主要适用于需求模糊或快速变化下的、小型项目组 的开发[2]。国内外学者对 Agile 方法在不同程度上进行了 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 研究。Drury 和 Conboy 采用混 基金项目:国家自然科学基金青年基金项目(基金编号:71101104) 作者简介:张跃坤(1985-),男,硕士研究生,主要研究方向:项目管理,企业信息化 通信联系人:程铁信(1973-),男,教授,主要研究方向:项目管理,城市交通组织管理. E-mail: tiexincheng@vip.sina.com -1- 合方法对敏捷开发团队中决策制定的障碍进行了研究,并分析了这些障碍的影响,包括:决 40 策缺乏长期战略重点;先前的迭代延迟,工作日益积压;缺乏团队精神[3]。Vlaanderen 和 Jansen 以敏捷需求提炼为案例,研究了在软件开发管理中应用 SCRUM 的过程,说明敏捷方法能让 软件产品经理应付复杂的需求[4]。孙丽萍,王云光和诸敏结合 XP、FDD 等敏捷软件开发, 提出了适用于中小型软件企业的敏捷软件开发方法——FXP,FXP 以 XP 为框架,通过把项 目管理维度、软件工程维度、质量保证维度 3 个维度有效地融合在一个整体协作环境,解决 45 了传统软件过程进度跟踪、需求跟踪、质量跟踪 3 个层面的断层[5]。 随着现代信息技术的发展及其在工程项目管理中的广泛应用,工程项目管理的信息化成 为了工程项目管理研究领域的热点[6]。项目管理信息系统(Project Management Information System,PMIS)是由收集、整合和传播项目管理过程成果的工具和技术所组成的信息系统[7]。 项目管理信息系统在我国应用经历了从无到有、从简单到复杂、从局部应用向全面推广、从 50 单纯引进或自行开发到引进与自主开发相结合的过程。项目管理信息系统对项目的成功非常 重要, Caniëls 和 Bakens 认为当前的商业环境是复杂的,PMIS 为项目经理提供了项目计划、 组织和控制的决策支持[8]。Lee 和 Yu 认为 PMIS 的使用即使不足以确保项目的成功,对于 项目的管理也是必需的[9]。 传统项目管理信息系统的开发模型有瀑布模型、原型模型、增量模型和螺旋模型等,多 55 重视文档,属于文档驱动开发,是重型开发过程。这些开发模型,已经很难适应现代项目管 理信息系统的需求模糊并快速变化、时间紧迫、用户定制的特点。而敏捷开发主张简单、拥 抱变化、快速反馈、高质量的工作,随时给用户提供可用的软件版本。本文以 XP 敏捷开发 模型为基础,为项目管理信息系统的开发构建了双向迭代模型。 1 项目管理信息系统敏捷开发双向迭代模型 60 本文设计的适用于项目管理信息系统开发的敏捷软件开发过程模型最显著特点是同时 拥有两个互相独立的并行迭代过程,因此我们称之为“双向迭代模型”。 双向迭代模型将项目管理的九大管理领域分模块并行开发,在模块间进行阶段的横向循 环迭代开发,在模块内进行功能的纵向迭代开发。双向迭代模型将项目管理信息系统的开发 过程分成三个主要阶段,分别为系统架构简单设计阶段、项目管理模块双向迭代开发阶段和 65 系统整体验收阶段,详见图 1。 -2- 系统架构简单设计阶段 项目管理模块双向迭代开发阶段 系统整体验收阶段 九 大 模 需求 设计 迭代开发 版本发布 项目整合管理功能集 块 功 能 集 合 需求 设计 迭代开发 版本发布 项目范围管理功能集 需求 设计 迭代开发 版本发布 项目时间管理功能集 项目成本管理功能集 , 项目质量管理功能集 , „„ „„ „„ „„ 项目人力资源管理功能集, 项目沟通管理功能集 , 项目风险管理功能集 , 模块间横向迭代 需求 设计 迭代开发 版本发布 项目采购管理功能集 时间 模块内纵向迭代 新用户需求 缺陷反馈 用户需求 新版本 验收通过 功能版本 单元测试通过 制定功能 功能拟像 迭代开发 验收测试 发布 版本计划 系统隐喻 模块架构探索 下一个迭代 不确定需求 用户参与 确定需求 难、重点分析 需求阶段 设计阶段 迭代开发阶段 版本发布阶段 图 1:项目管理信息系统敏捷开发双向迭代模型 Fig.1 The agile development model based on bidirectional iteration for PMIS 系统架构简单设计阶段 70 1.1 系统架构简单设计阶段是整个项目管理信息系统开发的第一个阶段,这个阶段主要是运 用敏捷开发的系统隐喻实践来简单设计系统的未来景象,使得所有单独模块的位置和外观变 得明显直观,使得开发人员和客户可以从不同的侧面和高度来理解分析归纳并交流客户领域 和技术领域的专业知识和过程。 项目管理模块双向迭代开发阶段 75 1.2 模块双向迭代开发阶段是本模型的重要阶段。在本阶段项目管理信息系统模块内采用纵 向敏捷开发过程,将一个模块作为一个完整的系统来迭代开发;模块间进行阶段的横向循环 -3- 迭代开发,将不同模块间的相同阶段之间的联系与互相影响作为向上向下循环迭代的依据。 模块内纵向迭代开发 1.2.1 模块内开发分为需求、设计、纵向迭代开发和版本发布四个阶段。 80 (1)需求阶段 开发团队中需求测试人员和最终用户进行交流,获取对开发目标的基本需求,同客户建 立沟通的方式和渠道,确定最终用户参与开发过程的代表,用户代表可以随时增加模块功能 需求。 需求测试人员根据系统隐喻和客户的交流创建最初的产品拟像。这里的“产品拟像”并 85 不是指软件产品原型,而是极为快速和低开销的能够在外观和用户交互,示意性地“模拟” 开发目标的某种演示。 (2)设计阶段 开发团队在客户对产品拟像试用通过,且编程人员对模块大致规模、技术上存在的风险 进行测试评估和完成单元测试后,做出最初的设计,之后根据用户代表标明的优先级、模块 90 功能的开发周期等制定功能的交付版本计划。 (3)纵向迭代开发阶段 开发团队根据交付的版本计划进行第一次迭代。开发采用结对编程的方式,两个程序员 并排坐在一起在同一台机器上开发代码,这种方式提供了实时解决问题和实时质量保证的机 制,同时也使得开发者能集中精力于手头的问题。 95 第一次迭代完成立即进入用户代表参与的验收测试过程,从中找出新版本的缺陷,反馈 给编程人员,之后小版本发布可以使用的功能。 第一个发行版本交付之后,开发团队计算模块的功能开发速度,用于?帮助估计后续发 行版本的发布日期和进度安排;?确定是否对整个开发项目中的所有需求有过分承诺。一旦 发生过分承诺,则调整软件发行版本的内容或者改变最终交付日期。 100 在开发过程中,客户可以增加需求,改变需求的优先级,分解或者去掉某个需求。接下 来,由开发团队重新考虑所有剩余的发行版本并相应修改计划,至此进入下一个迭代开发阶 段。 (4)版本发布阶段 对于持续发布的小版本功能,测试需求人员和用户代表周期性地运行功能测试确保开发 105 团队没有引入新的、导致整个模块不再满足特定用户需求的缺陷。当缺陷率下降到可以接受 的比例时,发布最终的项目管理功能模块。 模块间横向迭代开发 1.2.2 项目管理经典的九大管理领域为:项目整合管理、项目范围管理、项目时间管理、项目 成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目采购管 110 -4- 理。本模型集成了这九大管理模块,不同模块采用并行开发方式,各模块阶段间循环迭代进 行开发。 对于需求测试人员,第一个模块的需求分析完成后即可进入下一个模块需求阶段,不必 等待编程人员的迭代开发完成。当第一个模块进入测试过程后需求测试人员随即从其他模块 某个阶段迭代回第一个模块的测试过程。当测试完成,需求测试人员迭代进入其他模块的需 115 求阶段或测试过程。 对于编程人员,第一个模块进入测试过程,即可迭代进入其他模块开发阶段;第一个模 块进入下一迭代,随即迭代进入第一个模块的迭代开发。 在项目管理信息系统敏捷开发过程中,开发团队的日程是饱满的,不同职责的开发人员 在模块内或模块间双向迭代,直到项目交付。 120 1.3 系统整体验收阶段 项目管理信息系统经过双向迭代过程后,各模块的小版本发布以及各版本的持续集成, 为整个模块的成功开发奠定了基础。各个模块的顺利验收也为系统整体验收做好准备。此阶 段中用户代表全程参与整体验收,并及时反馈缺陷和改进到双向迭代阶段,直到系统整体验 收通过。 125 2 系统开发实例 实际应用此模型,应根据项目特点选择通用模型相应的功能模块,本项目管理信息系统 实例根据实际需求对模型进行了模块合并开发。 2.1 曹庄泵站项目管理信息系统开发背景 天津市南水北调中线滨海新区供水一期工程曹庄供水加压泵站工程(以下简称“曹庄泵 130 站工程”)是滨海新区供水工程的起点及重要枢纽。该工程项目工期长、参与方众多、需求 变化大,为确保曹庄泵站工程质量及建设管理水平,实现项目建设管理的程序化、 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化和 精益化,运用本文提出的敏捷开发双向迭代模型设计开发了本项目管理信息系统,作为科学 管理项目、辅助决策的平台和工具。 2.2 系统架构设计 135 很多项目都会在前期消耗过多时间,只有等所有的需求完成后才开始设计工作。本系统 采用敏捷开发模型,只需进行短时间的需求分析就开始系统架构设计工作。由于用户代表是 同开发团队一起工作,在我们经过一周多的架构需求分析和探索之后,曹庄泵站项目管理信 息系统的几个主要功能模块就基本确定了;此系统功能模块的设计并未局限于通用模型,而 是将项目管理九大管理领域融合在本系统功能模块中。简单设计系统架构后快速构建的系统 140 主界面如图 2 所示。 -5- 图 2:系统主界面 Fig.2 The main interface of the system 2.3 系统双向迭代开发历程 145 (1)版本发布计划 敏捷开发双向迭代模型要求系统在模块内和模块间并行迭代开发,为此开发团队结合业 务和技术情况,根据用户代表确定的模块中功能的优先级,制定了初始版本发布需要实现的 内容,详见表 1。 为配合双向迭代开发,将开发团队分成两个工作组,一个是需求测试组(3 人),一个 150 是编程组(2 人)。需求测试组对第一次发布功能的用户需求进行细化,并探索模块架构, 对不确定的需求重点分析;编程组快速构建功能拟像,加上编程组对需求的时间估算,定下 初始版本发布计划的时间是 10 周。在进行初始版本的开发过程中,开发团队在用户代表全 程参与下继续制定了第二个版本和第三个版本要实现的内容,开发过程的初始发布计划如表 1 所示。 155 表1 初始版本发布计划 Tab1 The initial version release plan 版本发布计划 实现时间 主要实现内容(用户确定的优先级排序) 投资管理模块进度款材料自动生成功能 1. 质量管理模块用户管理功能 2. 质量管理模块单元工程评定功能 3. 版本1 第1-10 周 投资管理模块用户管理功能 4. 质量管理模块图形化界面显示 5. 质量管理模块分部工程验收功能 1. 变更管理模块实现变更工作流 2. 版本2 第11-20 周 安全管理 企业安全管理考核细则加油站安全管理机构环境和安全管理程序安全管理考核细则外来器械及植入物管理 模块用户学习功能 3. 月报周报模块上报材料功能 4. -6- 合同管理模块合同跟踪功能 5. 工程概览模块系统宏观展示 6. 投资管理模块实现审批工作流 1. 变更管理模块变更材料自动生成功能 2. 安全管理模块上报安全文件功能 3. 月报周报模块审阅功能 4. 版本3 第21-30 周 文档管理模块单位用户权限分配 5. 知识交流模块 6. 现场展示图片功能 7. 在第一个版本交付之后,开发团队计算模块功能的开发速度,根据用户需求的变化和验 收测试中对功能缺陷的反馈,调整后续的版本发布计划。每次版本交付后均迭代调整版本发 布计划。 160 (2)横向迭代过程 系统的一个版本被分解为很多个功能,每一项功能的开发过程被分解为需求分析、功能 拟像、单元测试、迭代开发和验收测试五个相互衔接的任务。每个任务的完成时间长度不一, 其中迭代开发时间最长。每项功能的累计开发时间不超过两周。 需求测试组和编程组随时间在功能模块内和功能模块间转移工作内容。需求测试组完成 165 某个功能任务的需求或测试后,编程组随即转入该功能任务后续的任务,即某版本的开发过 程由需求测试驱动,并以优先级最高的功能为选择完成任务的第一要素。第一次版本迭代计 划如图 3 所示。 投资管理 模块进度 需求 功能 单元 验收 迭代开发 需求测试组开发迭代 款材料自 分析 拟像 测试 测试 动生成功 能 编程组开发迭代 质量管理 需求 功能 单元 验收 模块用户 迭代开发 分析 拟像 测试 测试 管理功能 质量管理 模块单元 需求 功能 单元 验收 迭代开发 工程评定 分析 拟像 测试 测试 功能 投资管理 需求 功能 单元 验收 模块用户 迭代开发 分析 拟像 测试 测试 管理功能 质量管理 模块图形 需求 功能 单元 验收 迭代开发 化界面显 分析 拟像 测试 测试 示功能 时间 170 图3 第一次版本迭代计划 Fig.3 The iteration plan for the first system version (3)纵向迭代过程 -7- 在某个功能模块中,进行纵向迭代开发,下面就以投资管理进度款材料自动生成功能为 例来说明该过程。用户需求为根据当月工程项和工程数量系统自动生成进度款材料。需求测 175 试组根据与用户代表详细沟通,提炼系统隐喻为有一台智能机器人,它根据用户选择的工程 项和填写的工程数量自动计算总价款并汇总,之后打开 Word 文件,将数据项一条条写入; 经测试需求组分析,将难、重点锁定在:Word 文件模板定义和系统后台打开 Word 进程并 判断文件中 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 行数是否足够,并自动添加表格行。再次与用户代表沟通后快速构建了功能 拟像,如图 4: 180 系统根据用户填写内容自动生成工程价款材料 用户选择工程项并填写工程项数量 自动生成的工程价款材料内容 图4 投资管理模块进度款材料自动生成功能拟像 Fig.4 The simulacra of the function of the monthly payment statement generation 用户代表认同快速构建的功能拟像,编程组对功能拟像的每个单元功能进行测试,并要 求用户代表在场,单元测试的关键功能点有:VBA 对 Word 文件格式自检,C#自动添加 Word 185 表格行,系统后台调用 Word 模板,C#指定数据表中数据写入 Word 文件等。在与用户代表 一起进行单元测试过程中,用户代表新增需求:修改生成的 Word 文件名为指定格式。 编程组在单元测试完成后,根据功能耦合需求,制定了功能版本计划,如表 2: 表2 投资管理模块进度款自动生成功能版本迭代计划 Tab2 The iteration plan for the monthly payment version of the investment management module 190 迭代次数 第一次迭代 第二次迭代 第三次迭代 1.制作Word 文件模板; 1.用户勾选工程项; 1.后台打开Word 文件并写 入指定数据项; 2.添加VBA 对文件格式自检代 2.填写工程项数量并启动 码; 生成材料界面; 2.自动添加Word 表格行; 实现的功能 3.添加表格标记书签; 3.自动计算工程总价款; 3.关闭Word 并修改文件 名。 4.调整Word 文件页面格式。 4.后台调用Word 模板。 每一次功能迭代完成后都交由用户代表,与测试需求组一起验收测试,并及时将缺陷反 馈至功能版本计划,对于验收测试通过的功能,发布用户代表可使用的小版本。 投资管理模块进度款自动生成功能经过 3 次迭代开发,已基本实现了用户的需求,在功 能开发过程中用户代表一直在试用功能的不同版本,增强了功能的可用性。 -8- (4)开发实践 195 本系统在开发过程中运用了敏捷开发的结对编程实践,编程组的 2 个人在同一台电脑上 共同编写解决同一问题的代码,其中一个人负责写代码,另一个负责保证代码的正确性和可 读性。这样系统的重要设计决策至少由两个人决定,不容易出现大的失误;有两个人同时熟 悉系统的结构功能,保证了系统开发的延续,也减少了文档编写的需要,两个人很好地交流 技术问题,共同协商解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 200 测试驱动也是敏捷开发的重要实践,本系统在实现功能代码之前,先编写单元测试,从 测试的角度来验证功能拟像,待功能拟像测试通过后再进入迭代开发阶段。测试驱动开发保 证了更好的代码质量,也为快速确定功能缺陷的位置提供了便利。 在编程组对功能进行第一次迭代开发后,及时地反馈功能缺陷,以便在下一次迭代中将 缺陷修正,并同用户代表一起进行功能验收测试。 205 实际用户和开发人员看问题的角度是有所不同的,尤其在需求不完善的情况下,每次的 迭代完成后的用户测试使得意见反馈迅速而高效,减少了错误积累带来的项目失败风险,返 工的工作量也不至太多。 2.4 系统整体验收 整个曹庄泵站工程项目管理信息系统经过 30 周的迭代,到最后第 3 个版本发布时,系 210 统已经稳定地为企业服务,同时因为开发过程比较严谨地遵守代码规范,很大程度减少了后 期开发人员不愿意写的技术文档。在迭代周期,用户需求制定得比较适合,使得需求测试组 合编程组的工作环境松紧有度,大大提高了系统开发的效率。 3 结论 敏捷软件开发与当前其他的软件开发不同之处在于,它是一种更加以适应式、更加面向 215 开发人员而非面向过程的软件开发方式。本文在详细分析敏捷开发原则实践基础上,对 XP 敏捷开发模型进行了灵活的修剪补充,为项目管理信息系统的开发建立了双向迭代开发模 型,使得在项目管理信息系统的开发过程中,可以应对不断变化的需求和不断膨胀的过程, 及时开发出用户满意的、高质量的项目管理信息系统。 220 [参考文献] (References) [1] Torgeir Dingsøyr, Sridhar Nerur, VenuGopal Balijepally.etc. A decade of agile methodologies: Towards explaining agile software development[J]. Journal of Systems and Software, 2012,85(6):1213-1221. [2] 张敬周,钱乐秋,朱三元. Agile 方法研究综述[J]. 计算机应用与软件,2002,06. [3] Meghann Drury, Kieran Conboy, Ken Power. Obstacles to decision making in Agile software development 225 teams[J]. Journal of Systems and Software, 2012,85(6):1239-1254. [4] Kevin Vlaanderen, Slinger Jansen, SjaakBrinkkemper.etc. The agile requirements refinery: Applying SCRUM principles to software product management[J]. Information and Software Technology, 2011,53(1):58-70. [5] 孙丽萍,王云光,诸敏. 敏捷软件过程的研究与实践[J]. 计算机工程,2007,17: 105-107. [6] 张振军.对工程项目管理信息化的发展趋势研究[J]. 中国建设信息,2010,14:48-51. 230 [7] PMI, A Guide to the Project Management Body of Knowledge, fourth ed[M]. Pennsylvania:Project Management Institute (PMI), 2008. -9- [8] Marjolein C.J. Caniëls, Ralph J.J.M. Bakens. The effects of Project Management Information Systems on decision making in a multi project environment[J]. International Journal of Project Management, 235 2012,30(2):162-175. [9] Seul-Ki Lee, Jung-Ho Yu. Success model of project management information system in construction[J]. Automation in Construction, 2012,25:82-93. - 10 -
本文档为【项目管理信息系统敏捷开发双向迭代模型及其应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_212655
暂无简介~
格式:doc
大小:97KB
软件:Word
页数:18
分类:生活休闲
上传时间:2017-11-11
浏览量:26