基于敏捷开发下的协同创新管理服务平台能力提升
2019-06-30覃琳杨程孙卫宁覃宏秋
覃琳 杨程 孙卫宁 覃宏秋
【摘 要】文章探讨了在协同创新平台上引用敏捷开发模式,帮助孵化器的中小型企业在创新创业路上,从需求管理、计划管理、迭代任务管理、测试管理、代码库管理、自动化测试工具等方面对项目研发的全生命周期进行跟踪,改善原有研发流程,规范项目开发文档,提升研发团队的项目管理能力、软件开发能力,提高工作效率,降低研发的成本和风险。敏捷开发模式进一步提升了孵化器的管理能力和服务能力。
【关键词】创新创业;敏捷开发;项目管理;流程管理
【中图分类号】TP3 【文献标识码】A 【文章编号】1674-0688(2019)02-0009-02
科技创业活动日益活跃,科技型中小企业大量涌现,科技企业孵化器在总体上发展良好,但是自身团队在软件研发过程的初期普遍存在软件需求和定位不清晰,具体功能不确定,团队的分工不明确等问题,导致研发效率低,时间长,过程反复,研发出来的软件偏离客户需求等,因此,我们引入敏捷开发模式,从项目需求管理、计划管理、迭代任务管理、测试管理、代码库管理、自动化测试工具等方面,帮助中小企业提升软件研发的能力,让开发中各个环节更紧凑、可控,实现工作过程的流程化,项目管理的正规化,以便提高软件质量,按期交付。
1 敏捷开发模式与传统开发模式比较
敏捷开发作为一种新的软件工程方法,是一种与传统瀑布流开发相反的软件开发过程,与传统相比更加注重人的因素,注重开发者之间的互动及开发者和用户之间的互动,同时因为增加了交流和协作使得开发的项目更加灵活和易于修改。
2 敏捷开发模式特性
敏捷开发的核心是用户的需求变化。在敏捷开发中,项目一开始就被分切成多个相互联系,但也可以独立运行的子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。
3 协同创新管理服务平台能力提升
3.1 需求管理
需求管理可以分为客户需求管理、产品开发需求管理等,客户需求管理属于原始的需求,是客户的业务流程或是产品应用场景;产品开发需求是站在客户的角度去记录和思考,包括使用场景、业务流程的划分,用户想让系统实现什么,如何去执行等,把收集到的信息进行汇总,通过对客户需求进行分析和梳理之后,然后形成产品的需求目录,产品的需求目录和客户的需求是相互关联,并且可以进行跟踪管理。
3.2 计划管理
计划管理,在产品开发需求管理的基础上,制定一个交付计划,包括任务分解、研发进度和资源分配等方面,每一个计划尽可能的小,计划的划分要有独立性,可协商性、可预测和测试性,并对计划进行估算和排序,形成迭代任务。
3.3 迭代任务管理
在敏捷开发中,迭代任务分为Sprint计划、Sprint开发、Sprint回顾、Sprint跟踪等4个部分。
(1)Sprint计划,根据计划管理的任务进行划分,确定需要完成的任务量,对任务的时间、难度进行估算和排序,团队人员进行任务领用。
(2)Sprint开发,采用可视化的任务看板形式,展示迭代任务的开发状态和进度,团队开发人员可以实时地了解到迭代任务的消耗时间、剩余时间,任务是在构建过程还是在测试过程还是已经发布等。
(3)Sprint回顾,对迭代的任务进行总结分析,统计任务的完成情况。
(4)Sprint跟踪,在Sprint中通过燃尽图来跟踪整个迭代计划的进展,燃尽图记录了迭代任务完成情况和变化趋势。
3.4 测试管理
测试管理贯穿整个项目的全过程,从需求规划开始,一直到项目交付。在敏捷开发模式中集成了测试用例、测试用例设计、缺陷跟踪、缺陷管理等4个功能。测试管理给项目团队人员提供高效、便捷的测试平台。通过测试管理功能,项目团队可以实时了解项目的质量情况。
(1)建立测试类别,测试人员根据测试的方案,选择测试的类别,也就是需要进行哪一类的测试,如性能测试、安全测试和功能测试等。
(2)建立测试库,测试人员根据所需要测试的内容,建立测试中所需要的用例,这是后期进行测试的基础。
(3)建立测试周期,测试人员根据测试的方案来制定测试的周期,在每一项功能可能需要反复多次的测试,如功能测试、回归测试等。
(4)建立测试用例,测试人员可以根据系统的测试内容建立测试用例,包括测试用例的数据、添加操作、修改操作、删除操作等。也可以通过已存在的模板进行相应修改后,进行测试。
(5)执行测试用例,测试人员使用测试用例进行测试,并且记录测试数据,如各功能模块执行的结果数据、缺陷数据等。
3.5 代码库管理
中小企业在团队开发过程中,因为客户需求不断变化,软件也在不断地迭代,软件在不断修改和升级过程中,代码质量可能会变差,比如,软件的版本混乱、代码冲突、代码分散,阅读性变差、代码修改变得复杂,以及耦合度过高使得测试变得越来越繁琐。因此,为了提高研发人员在软件开发和维护的效率,减少开发和维护成本,对软件代码质量进行实时监控,以及时了解代码质量变化和及时修正,采用代码库进行管理。
代码管理工具是软件开发中重要的工具,能让开发人员有效地管理自己的代码,能够清晰地记录代码文件的修改内容及历史版本,每个开发人员在自己的版本库上可以任意地执行提交代码、创建分支等行为。采用代码库,不仅能保证代码安全,还可以让团队成员异地同步开发,不影响项目进度,提高发开效率。
(1)代码库管理的基本功能。开发人员使用开发工具将代码同步到库管理中,在库中可以设置访问策略,是否允许浏览、克隆、下载和查看库中各分支的差异。
(2)代码库管理的代码分析功能。库管理能提供源代码的行数、有效代码行数等质量分析,一方面集成了自动化代码度量工具进行软件代码的评估,如耦合度、方法长度等,另一方面通过版本库和BUG库中的数据对比,进行缺陷预测,让开发人员关注容易出错代码,帮助开发人员及时找到原因,改善代码质量。
3.6 自动化测试工具
软件测试是验证软件的正确性、完整性、安全性的过程,是验证软件的质量是否能满足设计要求的评估过程。软件的测试可分为单元测试、集成测试、系统测试等,单元测试一般是对象的单项功能,测试内容一般包括局部数据结构、覆盖条件、边界条件等,集成测试主要是测试接口之间的问题,系统测试是将被测软件相关联的外部设备结合,实际环境下对系统的测试。软件自动化测试主要是通过测试工具、脚本等来实现,易操作、可重复测试、效率高。在平台上,引入了一些自动化工具,提供中小企业使用,提高用户的研发效率。
(1)QTP自动化工具。QTP是功能自动化测试工具,应用于软件的回归测试中,它不仅可以测试传统的windows应用软件,还可以测试在WEB上的应用,同时也提供多种插件支持,可以应用于多个类型产品[2]。
(2)WinRunner功能测试工具。WinRunner功能测试,主要是检查软件是否能正常运行,能否达到预期的功能。WinRunner通过录制、检测和回放用户的应用操作,有效地帮助测试人员在不同的版上进行反复测试,提高人员的工作效率,确保软件所有功能的正常运行[3]。
(3)LoadRunner性能測试。LoadRunner是一个自动负载测试工具,用于预测系统行为和优化软件性能测试工具,LoadRunner可以模拟千万用户进行访问,并且实时记录软件的负载情况,帮助用户更快地查找问题和发现问题,能有效地避免系统上线后,因为用户访问量过大,造成系统缓慢或是崩溃等问题。
参 考 文 献
[1]伊华,王志坚.基于Scrum敏捷开发的软件实训设计[J].计算机教育,2016(6):65-69.
[2]彭贤生,张花萍.自动化测试工具QTP在软件项目中的应用[J].中国高新技术企业,2014(12):291.
[3]李明泽.浅谈软件自动化测试技术[J].科教导刊,2016(31):171-172.
[责任编辑:邓进利]