基于流程管理,提高工作质量和效率

简介: 在软件开发领域中,流程协作一直是热门的话题之一,不同的组织架构中,定义不同角色和人员的职责范围,并且通过流程规范来管理不同角色之间的衔接机制,以求不断提高协作效率。

一、背景说明

在软件开发领域中,流程协作一直是热门的话题之一,不同的组织架构中,定义不同角色和人员的职责范围,并且通过流程规范来管理不同角色之间的衔接机制,以求不断提高协作效率。

01-1.png

核心要素

  • 角色:不同的组织架构下,角色配置各不相同,角色与人员对应明确;
  • 职责:对不同角色的责任定义,用来明确介入流程的阶段与时间;
  • 流程:根据场景定义对应的流程中节点顺序,例如开发、测试、部署;
  • 节点:明确不同节点中的负责角色,作为节点有序完成的推动者;

合理的流程管理机制,有利于高效的工作;为了避免流程协作过度复杂,同时还要制定协作规则,例如常说的事不过三(或二),第一责任人等手段。

二、常规流程

01-2.png

产品从需求到发布中间经历多个关键节点,在协作的过程中,任何阶段出现问题,都会对整个流程的上下游产生影响,所以对各个节点输出结果的质量需要有适当的要求,避免出现工作反复的低效率情况。

从如下四个方面看具体细节:产品需求、项目管理、研发管理、项目总结,把握好这几个关键阶段对团队的稳定和效率都有巨大的提升。

三、产品需求

01-3.png

  • 收集:多方需求的接收,可能是业务侧、产品规划、系统优化、架构升级、等多个来源;
  • 整理:对收集的需求分类整理,根据重要紧急的策略做好需求统筹和实现的规划,提供初版文档;
  • 业务评审:给到业务(需求)方流程管理,产品初版的操作示意图,对齐心里上的预期;
  • 技术评审:完善需求的细节规则,技术评估合理性、可实现性、复杂度、风险等相关问题;

产品需求阶段作为软件开发的最上游节点,这个阶段一定要输出需求明确,符合业务预期,技术可实现的产品文档,多方达成共识之后,邮件的方式通知到相关人员,以表示当前阶段工作完成。

四、项目管理

01-4.png

项目管理是一件繁杂的事情,通常分为:启动、执行、监控、收尾四个阶段,以此实现项目的"质量、成本、时间"的把控,在不降低质量的情况下,同时降低时间和成本是多数公司的追求,故而形成现在互联网的内卷态。

01-5.png

  • 启动:启动阶段主要指资源的合理分配,项目工时评估,里程碑节点明确等事项;
  • 执行:在软件开发中即指:UI设计,开发实现,测试,线上部署等一系列流程;
  • 监控:关键点在于进度与风险,对进度的有节奏跟进,以及可能出现的风险判断和解决方案;
  • 收尾:对项目的质量验收,整个流程的复盘总结,以及相关人员的通知;

项目管理作为职场中的基础能力,对于任何人员都是值得用心去积累沉淀的,并且时常思考如何去优化管理策略与方式,以此让做事的效率更加高效和有条理性。

五、研发管理

研发是一个耗时较长且容易出现问题的阶段,所以在这个节点要细致化的管理和推动,对质量的追求要放在绝对首位,避免因为"多-快-好-省"的想法而出现豆腐渣工程,如此返工带来的成本会更加高昂。

01-6.png

  • 准备:即在版本开发初期,要精准的理解需求,完成功能模块拆解,以及对应的工时评估;
  • 设计:UI界面输出,开发前后端设计,测试用例,各个节点完成设计的评审对齐;
  • 编码:前后端代码实现,API对接联调,配置改动、结构脚本、逻辑流程等日常文档记录;
  • 测试:开发自测,专业测试,自动化脚本测试,UI视觉验收,产品功能流程验收;
  • 发布:预发布环境模拟部署,线上灰度环境发布,正式生产环境上线,完成线上验收;

作为一名多年的开发(后端)选手,这里对开发的过程大致细化如下几个节点,当然这里指的是复杂的业务实现,下述流程执行时极少出现意识偏差的情况:

01-7.png

服务端在面对复杂业务时,将需求落实到设计上至关重要,首先就是对需求有全面细致的理解,很多时候流程中的一个细小规则对应的实现成本都是巨大的,其次就是对于开发流程的构思设计并输出,并完成项目组内开发的评审对齐,这样基本能确保开发的顺利完成。

六、项目总结

在复杂的项目中,最后的总结分析很容易被忽略掉,总是感觉版本正常上线没有问题就可以,当然作为一名开发选手我的内心是支持这个说法的。

复杂的业务对应复杂的产品设计,同时也意味着超长的项目周期,即高昂的成本,线上的正常使用只是意味着研发的质量很高,但是对整体业务的需求和产品设计的合理性是需要基于用户的使用去分析:

01-8.png

  • 动作埋点:对业务流程上的各个环节做埋点动作,用来对行为数据的收集;
  • 日志采集:关键API的请求做日志记录,用来对系统及业务做分析判断;
  • 数据分析:分类汇总业务流程中各个核心节点数据,形成一整套的数据分析结果;
  • 总结报告:结合业务的需求,对产品功能做出客观的分析,并输出必要的优化方案;

这里重点说明一下分析报告,在数据分析完成后,给到相应的市场或者业务人员,或者具备专业视角的人员,采集汇总多方的意见或建议,客观的评定落地的产品流程,不管好与差都需要输出关键因素,作为经验的积累和后续的借鉴。

相关文章
|
1月前
|
敏捷开发 测试技术 持续交付
提升软件测试效率与质量的自动化策略
【2月更文挑战第19天】 在快速迭代的软件开发周期中,传统的手动测试方法往往难以满足高效率和高质量的双重要求。本文将探讨如何通过实施自动化测试策略来优化软件测试流程,减少重复劳动,提高测试覆盖率及发现缺陷的速度。我们将分析自动化测试的关键优势,包括时间效率、一致性、可重复性以及其在持续集成环境中的作用,并讨论实施过程中面临的挑战及解决策略。
|
7月前
|
存储 数据采集 数据挖掘
质量追溯系统方案
质量追溯系统方案
107 1
|
15天前
|
jenkins 测试技术 持续交付
提升软件测试效率与质量的策略
【4月更文挑战第11天】在快速迭代的软件开发过程中,确保代码质量和减少缺陷至关重要。本文将深入探讨如何通过自动化测试、持续集成和敏捷测试方法来提高软件测试的效率和质量。我们将分析各种测试策略的优势与局限,并讨论如何根据项目需求定制测试计划。通过案例研究和最佳实践,我们的目标是为读者提供一套实用的工具和方法,以便在不断变化的技术环境中保持软件测试活动的高效性和适应性。
48 0
|
20天前
|
监控 安全 项目管理
项目成功秘诀:高效管理策略确保按时交付
项目成功对企业生存发展至关重要,需要明确目标和范围,运用SMART原则和设计思维确保目标与市场需求相符。通过工作分解、优先级排序管理需求,建立变更和风险管理流程。制定详细项目计划,考虑约束条件、关键节点和风险。优化团队协作,明确角色责任,建立有效沟通机制,激励团队成员。实施PDCA循环控制项目进程,关注交付和复盘,以实现高质量的项目成果。
53 1
|
20天前
|
消息中间件 监控 前端开发
研发人员如何做好日常工作的稳定性保障
本文介绍了一些研发人员如何做好稳定性建设的工作事项
35 0
|
25天前
|
机器学习/深度学习 人工智能 算法
提升软件测试效率与质量的策略分析
在快速发展的信息技术时代,软件产品已成为日常生活和工作的核心组成部分。随着软件系统的复杂度日益增加,确保其功能性、稳定性及安全性的软件测试工作变得尤为重要。本文针对如何提升软件测试的效率与质量进行了深入探讨,分析了当前软件测试面临的挑战,并提出了一系列创新策略。这些策略包括采用自动化测试工具、实施持续集成和持续部署(CI/CD)、利用人工智能进行测试用例生成以及强化测试团队的技能培训等。通过综合运用这些策略,可以显著提高软件测试的质量和效率,减少人工成本,同时加速产品的上市时间。
|
24天前
|
jenkins 测试技术 持续交付
自动化软件测试:提高效率与质量的利器
在当今软件开发领域,自动化软件测试成为提高效率、降低成本、保证质量的重要手段之一。本文将探讨自动化软件测试的定义、优势、实施步骤以及应用案例,旨在帮助读者深入了解并合理应用自动化软件测试,提升软件开发过程中的效率与质量。
|
9月前
|
运维 监控 安全
在运维工作中,自动化是提高效率和减少错误的关键
在运维工作中,自动化是提高效率和减少错误的关键
77 1
|
运维 测试技术
团队交付质量如何评估
团队交付质量如何评估
277 0
团队交付质量如何评估
|
数据采集 监控 供应链
谈谈生产过程数据的质量评估
在制造过程中,数据质量和产品质量一样重要。我们可以将ISO 8000中的数据质量评估应用到IEC62264中的制造过程中。
谈谈生产过程数据的质量评估