基于敏捷模式的企业信息化系统管理流程与研发方法研究
2022-05-30刘宇航
刘宇航
【摘 要】信息化建设是企业发展的必要阶段,是增强市场竞争力和实现管理创新的重要措施。企业为了充分把握市场机会,尽快作出正确决策,需要快速推进企业信息化系统的建设,因此,对信息化系统的管理与研发模式提出了更高的期望和要求。采用敏捷模式建立企业信息化系统,能够做到以用户为中心,以需求为导向,快速拥抱变化,高效团队协作,从而实现迭代优化、快速交付。论文以企业信息化建设过程中的实践为基础,提出了一种基于敏捷模式的企业信息化系统管理流程与研发方法,包括一套融合了迭代与并行机制的研发管理流程以及贯穿全生命周期的需求分析方法、产品设计方法、开发实施方法以及产品发布方法,用以提升企业信息化系统研发的敏捷性,从而实现快速交付,辅助企业提高管理效率、降低管理成本、提升市场竞争力。
【关键词】企业信息化;敏捷模式;管理;研发;系统
【中图分类号】F270.7 【文献标志码】A 【文章编号】1673-1069(2022)05-0085-03
1 引言
当下,企业用户对信息系统的需求日益迫切,通过信息化手段辅助企业进行運营管理、数据应用及决策分析,能够全面提高企业的生产运营效率,降低管理成本和运营风险,进而提升市场竞争力。因此,选择适用于企业信息化系统的研发方式,对于快速推进企业信息化建设有着至关重要的作用。
传统的瀑布式研发方式,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护6个基本活动[1],并且规定了它们自上而下、相互衔接的固定次序,且相邻阶段都以文档作为衔接的标志物,因此,瀑布式研发方式能够清晰有序地推进系统建设,但是周期冗长、拒绝变化、效率较低,一旦某个环节卡住,整个计划都会延期,同时也无法应对突发状况,导致最终成果与业务方需求偏离的风险较大。
敏捷模式以用户的需求进化为核心,采用迭代、循序渐进的方法进行研发[2],通过不断交付用户可使用和验证的最小可行性产品,获取反馈后再迭代改进,能够应对研发过程中的不可预测性,关注用户的反馈,快速响应用户的变化,最终打磨出真正符合需求的系统产品。
因此,面向企业信息化系统需求的多样性、逻辑的复杂性,为减少开发过程中的不确定性,基于企业信息化建设的实践,提出了一种基于敏捷模式的企业信息化系统管理流程与研发方法,用以提升系统交付和迭代速度,优化产品质量,从而帮助企业实现商业目的。
2 敏捷企业信息化系统研发管理特点
2.1 持续迭代
对于敏捷企业信息化系统研发管理,在企业信息化系统构建之初,首要步骤是将研发任务和可交付成果切分成多个迭代,各个迭代需要在较短的周期内完成,一般是1周至4周,同时各个迭代的成果都具备可发布、可集成和可运行使用的特征[3]。通过将每个迭代的成果交付至业务方,业务方基于产品的试用和反馈,尽早参与到产品设计和研发过程中。经过多个迭代的持续改进,最终完成整个系统的交付。
2.2 拥抱变化
在敏捷企业信息化系统的全生命周期,都需要将业务方放在首要位置,以持续不断并尽早交付有价值的成果为原则,在每次迭代后收集业务方的反馈意见和当下最新的需求,以此为基础进行下一个迭代的改进。通过短时间内所完成的“成果交付、意见反馈、调整改善”这一系列的步骤,做到响应变化、拥抱变化,使交付成果更加符合业务方频繁变动的需求。
2.3 激发潜能
敏捷企业信息化系统的研发管理团队,包含产品负责人、敏捷教练、设计人员、开发人员、测试人员的角色,团队在多个迭代之间以柔性组织的形式进行管理,使团队人力资源得以高效利用。同时,团队成员举行每日站会,以面对面的形式对当前研发进展进行汇报和交流,有效提高沟通效率,同时有利于团队成员对彼此进度的了解,并在必要时提供资源支持,充分提升团队效能。在各个迭代中,敏捷教练可以由团队成员兼任,在能力得到锻炼的同时,也能促使团队成员全面理解敏捷模式,进而推进产品快速上线,给予团队信心,激发团队更多潜能。
3 敏捷企业信息化系统研发管理流程
企业信息化系统具有业务需求复杂且项目周期长的特点,因此提出了一种基于敏捷模式且适用于企业信息化系统的迭代与并行研发管理流程,有助于把产品开发过程的各种不确定性和风险进行降低,提高开发效率,实现尽早交付。
将产品设计、产品开发、产品测试、产品发布4个阶段的工作内容组成一个迭代周期,把原来整个开发流程中周期较长的阶段分解到若干个相对较短的迭代周期,根据系统整体目标来规划功能模块和优先级,迭代时将根据优先级进行开发。每一次的迭代包含一系列的开发任务,在各迭代结束后,将成果交付至业务方来进行试用及验证,及时获得业务方反馈,并将反馈作为下一次迭代设计和开发的输入,多次重复,进而逐步完善整个系统。
在单个迭代内或者多个迭代之间,均可采用并行研发流程,用以并行推进业务团队、设计团队、开发团队、测试团队相关的工作。通过组织各团队的负责人,共同对各个工作任务进行分析,规划安排可并行推进的工作,在不降低产品质量的情况下,尽可能使各个工作任务并行同步进行,从而充分提高人员的使用率,降低人员的等待率,有效提高产品的研发效率,降低产品研发进度延迟的风险。
4 敏捷企业信息化系统过程管理方法
为实现研发过程的可管可控,充分发挥研发效能,结合企业信息化系统的特点,提出了适用于企业信息化系统的敏捷研发管理方法,包括需求分析方法、产品设计方法、开发实施方法以及产品发布方法,贯穿了企业信息化系统的全生命周期。经过实践表明,该方法有助于推进企业信息化系统的快速开发、降本增效以及质量提升,更好地满足业务方的核心诉求,使系统在企业内部得以广泛应用,发挥更大的价值。
4.1 敏捷业务需求分析方法
4.1.1 业务方需求调研
首先,选择调研对象。对于企业信息化系统而言,同一类业务方具有相似的组织目标和业务逻辑,因此,为了提升调研的敏捷性,无需对全部业务方进行调研,可选择5~8位代表性用户作为调研对象,这类用户作为系统的使用频率最高的业务方,同时也是该业务领域的专家用户,通过多次、深入的访谈,即可获得关于系统的核心诉求和痛点需求。
其次,确认业务相关的干系人。根据调研对象在组织结构中所处的节点和作用,绘制相应的组织关系图谱,用以呈现业务方组织内部以及业务方与系统之间的完整关系,梳理出企业信息化系统中所涉及的业务方角色。
最后,确认各角色的工作目标。根据组织关系图谱,梳理业务流程图谱,用以表示组织内部的业务运作方式、各角色之间的业务联系以及各个角色的业务目标,为企业信息化系统的业务流程、角色权限以及系统功能设计提供必要的输入。
4.1.2 复杂需求拆解分析
企业信息化系统的需求具有业务流程长、覆盖场景多的特点,因此需要化繁为简,将复杂的需求拆解成多个简单的需求,通过不断深入细致分析,理解业务方真正的诉求和痛点。同时,对需求优先级进行排序,进行层层递进式的分步实施,通过多次迭代交付业务方,获得及时的反馈,降低风险。
4.1.3 全员参与需求分析
由产品负责人牵头,带领敏捷团队全员参与需求分析,有助于团队保持对需求理解的一致性,有效规避开发过程中的由于需求理解不一致带来的风险。同时,全员从需求分析环节即加入产品的讨论中,能够帮团队统一目标,提升团队成员的参与感和责任感,激发团队潜能。此外,能够锻炼团队成员特别是研发、测试人员的需求分析能力,提升团队综合素质。
4.1.4 贯穿全生命周期的持续分析
企业信息化系统全生命周期均以满足业务方的需求为目标,因此,需求分析应贯穿系统的全生命周期。基于敏捷模式,每个迭代完成后,都会进行反馈收集,作为后续迭代的输入。敏捷信息系统通过多次迭代和持续集成,获得逐步细化和深入的需求,不断完善和增强系统功能。
4.2 敏捷产品设计方法
4.2.1 产品原型设计
产品原型设计是企业信息化系统产品设计的必要流程,通常在需求分析之后建立,用以呈现系统的设计理念、系统功能架构以及产品框架,是整个系统的雏形,也是开发实施的输入。基于敏捷模式的信息系统产品原型设计包括基础原型设计、交互设计以及视觉设计3个步骤。
首先,由产品经理进行基础原型设计。基础原型是辅助产品经理梳理系统结构以及功能流程的重要工具。首先梳理出全部产品功能,然后提取出必备的核心功能,将核心功能的子功能模块进行归类分析,确定需要独立展示的页面,之后确定各页面内的元素和交互操作,最后输出原型草图。
其次,由交互设计师进行交互原型设计。交互设计师根据功能需求和原型草图,对单个页面进行拆解、重组,综合考虑逻辑性与视觉感来确定页面结构及分块,梳理业务功能的交互层次,提升产品的可用性以及用户体验,最后输出交互原型。
最后,由视觉设计师完成界面视觉设计。视觉设计师在交互原型的基础上,根据使用用户、使用环境、使用方式来确定符合用户的视觉效果,同时要遵循一致性、准确性、可读性原则,将产品的视觉形象传达至用户,完成视觉层面上的产品设计最后输出界面设计稿。
4.2.2 标准化设计
采用標准化的设计,在设计过程中融入组件化和规范化的设计理念,既有助于设计层面和技术层面的双重复用,也有助于保证产品一致性。将通用的组件形成标准化的组件库,在设计和开发时均支持从组件库中进行调用,避免实施过程中的重复劳动,缩短设计和开发时间,进而实现企业信息化系统的敏捷研发。同时,标准化的组件库也将沉淀为公司的设计资产,从而为企业贡献更多的价值。
4.3 敏捷开发实施方法
在企业信息化系统敏捷开发过程中,引入开源分布式版本控制系统Git,采用特征开发、主干集成、分支发布的策略,使研发过程更具敏捷性,保障各个迭代开发的高效性以及代码成果部署的灵活性。
首先,在开发时采用特征开发的策略,对每一项功能创建相应的敏捷特征分支,开发人员可以集中到自己的特征分支进行开发,即使基于相同的代码库,也能保证各个特征分支的独立性,多分支之间可以并行开发,同时,未完成的特征分支也不会影响到主干分支,避免由于存在过多依赖关系而延迟开发进程。
其次,敏捷特征分支需要以较短周期尽快集成至主干分支,完成主干集成,及时将各分支的变更知会其他开发人员,避免出现冲突。同时,能够尽快推进该分支的成果在未来的版本中发挥作用,快速获得反馈,减少需求积压。
最后,通过新建分支的形式完成发布,保证每次发布版本的可追溯性,只需要少量开发人员对发布的版本进行缺陷回归和进一步优化,并持续发布,有效避免主干分支集成的干扰。同时,主干分支不会受到分支发布的影响,可以投入大部分的开发人员进行到下一次迭代的开发中,使人力资源得以高效利用。
4.4 敏捷产品发布方法
4.4.1 快速交付,重视反馈
在敏捷企业信息化系统研发管理中,通过敏捷模式实现迭代成果的快速交付,一方面能够增强团队成员的信心,另一方面能够获得新的需求或者优化建议。
研发过程中每个迭代周期最长为一个月,每次迭代完成后,研发团队获得了可发布的成果并快速看到效果,使团队的士气得到鼓舞,成员的信心得以增强。同时,业务方获得了可试用的产品,根据实际业务应用和系统的试用,能够提出更多的反馈建议,作为后续迭代中最有价值的输入,从而通过多个快速交付成果最终获得完整的系统产品。
4.4.2 及时复盘,不断修正
在每一次迭代成果发布之后,整个团队需要对本次迭代中的需求分析质量、产品设计质量、开发过程质量以及业务方使用质量等方面进行总结,梳理出相关的质量问题,对问题进行定位分析,并提出解决措施或方案,进而完成质量问题的闭环。在此过程中,团队成员可以获得宝贵的经验,避免在后续工作中出现同样的失误。整个团队通过复盘可以获得成长,同时不断提升产品的质量。
5 结语
本文结合企业信息化建设实践中的实际经验,分析了敏捷企业信息化系统的特点,并提出了一种基于敏捷模式的企业信息化系统的管理流程与研发方法,包括一套融合了迭代与并行机制的研发管理流程以及贯穿全生命周期的需求分析方法、产品设计方法、开发实施方法以及产品发布方法。目前该方法已在企业信息化建设中得到了推广和应用,实际成果表明,该方法能够全面提升信息化系统的研发效率和质量,实现了企业降本增效的目标,为国内相同行业、同等规模企业的信息化建设提供一定的借鉴参考。
【参考文献】
【1】王琼.敏捷软件开发过程研究及应用[J].城市建设理论研究(电子版),2015(8):3962-3964.
【2】高俊.Scrum敏捷开发在移动应用开发中的实践[J].信息技术与信息化,2019(12):80-81.
【3】赵爱美.Scrum敏捷开发在软件开发综合实训课程中的研究与探索[J].计算机时代,2015(11):81-83.