从格力高事件谈SAP项目质量管理

2024-05-02 15:36

本文主要是介绍从格力高事件谈SAP项目质量管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近我相信大家都听说了格力高SAP项目上线后因为某些原因系统不能出货的事故,对于格力高这么一家著名的食品公司来说,无疑是非常严重的问题。对于本次事件的解读,大家可以参考各路业内人士的文章或者视频。今天我想借这个话题,聊一下SAP项目中的质量管理。

从事过软件开发工作的人都知道在软件开发领域一直在追求把软件开发作为一项系统工程来看待,也就是可以把开发一款软件比作建造一座房子,如果房子的使用年限是100年,那么建造标准、建造方法、材料等级等都需要围绕这个目标来制定,并且需要有一套严格的质量标准来控制。所以在软件开发领域有CMMI评级,来检验软件开发公司的软件能力成熟度,这其中就包括了软件质量评估。

很可惜我在SAP项目管理领域并没有看到类似的评估标准,所以造成了在实施SAP项目过程中出现了很多质量问题,除了像格力高这种上线后不能出货这种典型问题外,还有比如数据迁移后财务报表不平、开发没有注释和文档导致后期程序难以理解、测试不完整导致问题没有提前发现等等都是SAP项目中的典型质量问题。

那我们如何能最大程度的避免这些质量问题的发生呢?我觉得要从以下几个方面着手。

  • 实施范围管理

SAP项目作为实施企业管理流程和SAP系统的项目,实施范围是项目所有工作的基本前提。实施范围管理是一个不断细化的过程, 特别是采用了敏捷项目方法论后,需要逐步把实施范围完善。但是不管采用哪种方式,实施范围必须清晰可见的,以便项目组成员都清楚的知道什么在实施范围内什么不在。实施范围具体体现在1)在项目章程中的基本项目范围2)项目实施范围管理列表或者是用户故事列表,有了明确的实施范围,才能保证项目后续的工作都有明确的目标,从而避免流程或者功能没有实施、有流程完全没有被测试到的情况。

  • 变更流程和技术标准

项目中提出的需求或者用户故事,我们要避免用户和顾问商量一下就可以实施的情况,需要经过一定的变更流程才能开始实施和测试,这也是保证质量的重要手段,因为有了变更流程才可以确保需求描述清楚、审批人有相应的职权和知识、相应文档齐全、经过全面的测试。另外配置、开发、增强等技术工作也需要制定一定的技术标准,比如对命名标准、代码规范、技术文档等,这样可以大大的增加可维护性,出了问题可以快速准确的定位。

  • 知识(文档)管理

对项目中所有的知识都需要进行一定的管理,除了我们常规理解的文档,比如需求说明文档、用户故事、流程说明文档、用户操作手册、技术文档等,还有一些决定、会议纪要等都需要以一定的方式记录,记录的好处是可以查询当初是怎么讨论的、怎么决定的,这样测试的时候出现一些分歧或者上线后出现的非技术问题都有据可循。当然,文档也不是越全越好,文档的内容可以根据复杂程度适当增减,最主要的是保留和传递信息,而不是写冗余和无效的信息。最后,最好对文档还有一定的审核机制,以确保文档的撰写、修订都是规范的。

  • 阶段验收标准

我们知道SAP项目是分为不同的阶段来执行的,上一个阶段中所有任务的完成是下一个阶段的准备和前提,所以为了确保项目按时推进和保质保量的完成本阶段的所有任务,制定阶段的验收标准尤为重要,不管是在ASAP方法论中的里程碑还是在Activate方法论中的质检门都是这个目的。为了使全体项目成员理解每个阶段的工作重点,阶段验收标准必须提前制定并宣布并且在阶段结束前进行评估,如果有标准没有达到,还需要制定相应的应对方案,最严重的情况是需要延迟下一阶段的开始时间,因为如果强行继续,到上线的时候会出现更严重的后果。

SAP Activate方法论中已经制定了非常详细的质检门,大家可以参考以下链接获取信息

质检门定义:https://support.sap.com/content/dam/SAAP/SAP_Activate/PM_210.pptx

质检门检查列表:https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_0271.xlsx

  • 测试和问题管理

SAP项目中测试是质量控制的最后一道关卡,虽然我一直强调SAP项目实施的不仅仅是SAP系统,但是实施的核心或者说最终体现是在SAP系统里面的。如何更好的组织和管理测试是一个比较复杂的问题,为什么往往我们测试的时候没有什么问题,但是一旦上线后就一堆问题?其实道理很简单,测试的用例和范围都太理想化了,只考虑了最简单的流程,现实企业在运营过程中会出现很多问题,或者说有问题是常态,没有问题才是不正常的。简单的例子,质量问题可能出现在采购、生产、仓储、运输过程中的任何环节,但是我们测试的时候会考虑这么多吗?

那么我们如何更好的准备和执行测试呢?首先我们要严格按照项目实施范围来指导我们准备测试用例,当然在范围管理的时候就不能仅仅考虑“最好的情况”,各种异常情况也需要考虑在实施范围以内。其次,测试必须要准备测试脚本,这是规范我们测试步骤的最好方式,如果第一次测试的时候发现脚本的步骤有问题,第二次测试前还可以修改完善。最后就是需要建立一定的问题管理和反馈机制,测试出来的技术和非技术问题都需要一一记录,并且追踪落实解决。我个人最讨厌看到的是,同一个问题在不同的测试中反复出现,这就说明问题并没有得到反馈和解决,这是非常浪费时间的事情。

  • 管理工具

对于以上提到的实施范围管理、测试和问题管理等都需要一定的管理工具来确保项目组成员可以访问一致的信息,最简单的方式当然是使用Excel来管理,不需要太多的成本。如果项目达到一定的规模可能就需要像Azure DevOps中的Boards或者Jira来管理,SAP ALM也提供类似的功能,如果公司购买了云版本的SAP,这个工具是免费的。另外,如果出现了复杂严重的质量问题,推荐使用鱼骨图来层层分析,这也可以避免在找原因过程中相互推诿的好办法。好的管理工具可以帮助我们事半功倍,从纷繁复杂的项目事务中定位当前状态并且发现根本问题。

这篇关于从格力高事件谈SAP项目质量管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/954578

相关文章

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template