沐鸣娱乐


        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        混合型项目管理实践案例

        瀑布 、敏捷和DevOps等等管理方法各有优劣 ,很多公司在推进项目管理体系的时候 ,由于不同的环境选择的方法也各不相同 ,很多时候需要综合运用多种方法的实际上形成了混合型项目管理 ,今天为大家分享一个混合型项目管理实际案例,供大家借鉴参考。

        某主题App业务介绍

        1、产品

        致力于为消费者提供精品原创的个性化手机主题、表盘、字体、壁纸 、AOD、铃声、美化等业务 ,秉持“匠心设计,灵感点亮生活”的品牌理念,助力全球优秀设计师、艺术家 、开发者等内容生产者的优质作品获得全球曝光及丰厚回报。

        2、服务

        能够为用户提供主题商店和主题内容管理服务、会员服务 、造字服务、评论、社区和互动服务、活动及福利服务。

        3、结构

        从设计架构上看 ,该应用可分为服务器端(即云端)和客户端,其中客户端可装在手机 、平板、车机等电子产品上 。

        某主题App项目所处的环境

        1、外部环境(VUCA 乌卡):

        Volatility(易变性) :移动端用户欲望的变化,催生更多的需求变化;

        Uncertainty(不确定性) :市场环境、行业环境和顾客需求的不确定高;

        Complexity(复杂性):项目面临的诸多条件间的相互关系导致的复杂性越来越高 ;

        Ambiguity(模糊性):对现实的模糊 ,是各相关方误解的根源,各种条件和因果关系的混杂;

        2、内部环境:

        组织冲突:制定决策的管理者与受这些决策影响的人之间存在的组织冲突 ;

        利益冲突 :相关方因位置不同导致的利益不一致;

        客户、合作方

        角色:项目经理 、SE(系统设计师) 、开发、测试

        VUCA环境下某主题App项目怎么做?

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        VUCA时代的不确定性和复杂性模型

        不确定性和复杂性,导致不同的项目生命周期类型;

        • 预测型:这是一种更为传统的方法 ,提前进行大量的计划工作 , 然后一次性执行。【瀑布型 、基建工程项目为例】;
        • 迭代型:这种方法允许对未完成的工作进行反馈 ,从而改进和修改该工作。【软件开发、管理咨询】;
        • 增量型 :这种方法向客户提供各个已完成的,可能立即使用的可交付成果 。【地产开发样板间】;
        • 敏捷型:这种方法既有迭代,也有增量,便于完善工作 ,频繁交付 。【软件开发、管理咨询】 ;

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        某主题App项目生命周期的选择

        一、预测模式:

        PMBOK指南(第六版/第七版)(PMI) ;

        在项目生命周期的早期阶段确定项目范围、时间和成本;

        二、敏捷模式:

        敏捷实践指南(PMI-ACP) ;

        需求范围在迭代开始之前就得到了定义、评估和批准 ;

        三 、DevOps模式:

        《DevOps实践指南》;

        基于精益原则 、约束理论 、丰田生产系统、学习型组织等知识体系的集大成者 ;

        DevOps三步工作法 :流动原则、反馈原则、持续学习与实验原则;

        三张模式详解

        1 、预测模式(软件开发生命周期,也称为瀑布模式)

        预测型生命周期:预计会从高确定性的明确的需求 、稳定的团队和低风险中获益。因此项目活动通常以顺序方式执行,如下图:

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        2、敏捷模式

        1)迭代型生命周期

        迭代型生命周期通过连续的原型或概念验证来改进产品或成果。每一个新的原型都能带来新的相关方新的反馈和团队见解 。然后 ,团队在下一周期重复一个或多个项目活动,在其中纳入新的信息 。迭代有利于识别和减少项目的不确定性 。

        2)增量型生命周期

        有些项目优化是为了加快交付速度。许多企业和项目无法等待所有的事情全部完成 ;这种情况下,客户愿意接受整个解决方案的一个部分。这种少量可交付成果的频繁交付称为增量型生命周期。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        3)敏捷型生命周期

        3.1 基于迭代的敏捷

        团队以迭代(相等持续时间的时间盒)形式交付完整的功能。

        3.2 基于流程的敏捷

        团队根据自身能力,从待办事项列表中提取若干功能开始工作 ,而不是按照基于迭代的进度计划开始工作。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        基于迭代和基于流程的敏捷生命周期

        3.3 敏捷方式

        以最小可行性产品,交付给客户,不断的得到客户的反馈 , 不停的迭代 ,改进,完善,最终交付客户的满意成果

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        什么是敏捷?

        一句话概括敏捷:敏捷就是“以人为本→化繁为简→快速迭代→持续交付价值”的过程 。

        2001年,软件行业思想领袖共同发表《敏捷宣言》 ,正 式宣告敏捷开发运动的开始。

        2018年,项目管理协会(PMI )和敏捷联盟携手发布 《敏捷实践指南》 ,敏捷方法的应用逐渐从软件行业向各行业扩展 。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        敏捷宣言、价值观 、原则和通用实践之间的关系

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        敏捷典型实践–Scrum,咱们以前分享过很多可以查阅:

        图解通俗易懂Scrum敏捷项目管理精华

        图解Scrum敏捷项目管理知识地图【附知识地图下载链接】

        Scrum 敏捷项目管理精华PPT【文末可编辑PPT下载】

        一图掌握Scrum敏捷项目管理方法

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        DevOps模式是什么?

        DevOps概念模型

        通过开发(Dev)、IT运维(Ops)和质量保证(QA)的沟通和和协同,使得构建 、测试、发布软件能够更加的敏捷 、频繁和可靠;

        DevOps显著特征:

        1、必须拥有共同的目标 ;

        2、打通用户 、PMO 、需求、设计、开发(Dev)、测试、运维(Ops)等各上下游部门或不同角色;

        3、打通业务 、架构、代码、测试、部署、监控 、安全、性能等各领域工具链 ;

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        关于DevOps咱们也分享过很多相关内容,供大家参考 :

        终于有人把DevOps讲明白了

        TOP30个DevOps面试问题及如何解答?

        学了敏捷,但你还不知道DevOps,就Out了【管理有度5】

        DevOps如何帮助PM构建数字化的项目管理?

        图解DevOps流程体系全景图–构建敏捷 持续交付的体系平台

        一文全面精通DevOps

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        如何构建基于瀑布、敏捷和DevOps混合模式项目管理框架?

        为什么可以在某主题App项目中运用”预测 敏捷 DevOps“方法?

        • 乌卡时代,该App开发需求不确定性和复杂程度增加 ,交付周期变短 ,需要快速做出反应 ,应对变化。
        • 该App项目具备使用敏捷方法的基本条件 ,可以提高开发团队的工作效率 。
        • 该App项目具备使用DevOps方法的技术条件,如架构解耦,系统支持拆分为可DevOps的单元 ,有微服务管理平台支持,平台服务支持和工具链支持等 。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        基于“瀑布” 、“敏捷”和”DevOps”模式 ,以客户(HW)的软件工程能力为支撑,应用混合(也可称为集成)开发生命周期,具体来说就是端到端的项目管理实施框架。

        实施框架:融合预测-敏捷-DevOps

        该框架是以版本(基线或补丁)为最小可实施单元(DevOps单元),分为持续规划 、持续开发、持续部署发布、持续运维、持续反馈等5个阶段 ,每个阶段的主要关键活动和工具如下:

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        全价值流中敏捷理念、工具和技术的应用 :

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        端到端全流程的敏捷DevOps

        1215敏捷项目管理模型 :1个铁三角,2个端到端交付环,15个实践;

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        端到端DevOps框架可以有效实施的前提条件如下:

        1、架构解耦 ,最小可行产品是敏捷的保障;

        2 、系统拆分为颗粒度合适的可DevOps的单元 ,是架构支持DevOps的基础 ;

        3 、全面支持应用的一站式微服务管理平台 ;

        4 、面向云服务/微服务的架构,向敏捷/DevOps全功能团队转型 ;

        5 、重塑角色设置,实现快速自我决策 ;

        6、软件分层、专业聚焦,平台化,避免小团队全栈能力构建,使能DevOps  ;

        7、支持服务/微服务DevOps的工具链及环境;

        8 、工具:自动化运维-基于数据分析的全方位故障监控 ;

        01

        架构解耦 ,最小可行产品是敏捷的保障 ;

        1)架构与系统解耦,做到组件化,乃至微服务化:

        实现松耦合 ,可并行开发 、构建 、测试 、部署 、运行的最小可运行产品/特性 。

        2)需求分解的原则:

        需求分解遵循小步快跑,同一个特性可以由多个迭代Story逐步演进,从简单 可用、到功能完善。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        由横向分层的大系统 ->纵向解耦的小系统演进 / 各个微服务/特性 ,可由独立团队并行开发交付 。

        02

        系统拆分为颗粒度合适的可DevOps的单元,是架构支持DevOps的基础;

        ◼ 尽量垂直划分服务;

        ◼ 比较独立的新业务优先采用微服务架构;

        ◼ 优先抽象通用服务;

        ◼ 优先抽象比较容易识别的,边界比较明显的服务;

        ◼ 优先抽象核心服务;

        ◼ 采用绞杀者模式。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        03

        全面支持应用的一站式微服务管理平台;

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        04

        面向云服务/微服务的架构,向敏捷/DevOps全功能团队转型 ;

        对特性/部件/服务,完整的实施规划/需求/设计/开发/测试并独立部署、交付 、运维(DevOps场景)的项目型团队 。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        05

        重塑角色设置,实现快速自我决策 ;

        由“集团军作战”转变为“班长的战争”,按照特性/微服务组建<10人的全功能团队 ,“Two Pizza团队“ ,实现业务快速开发、决策与上线。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        06

        软件分层、专业聚焦,平台化,避免小团队全栈能力构建,使能DevOps ;

        充分使用云基础设施和平台服务(IaaS/PaaS),基于IaaS/PaaS动态分配资源 。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        分工细化 ,专业团队提供专业云服务;

        自治云服务承载架构复杂度;

        07

        支持服务/微服务DevOps的工具链及环境;

        支持微服务DevOps独立并行开发、测试,经过Gamma类生产环境验证 ,实现灰度发布和频繁快速上线,并持续反馈与演进。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        08

        工具:自动化运维-基于数据分析的全方位故障监控;

        系统能够自动化部署、升级和扩缩容 ,支持自动化监控、告警、故障的定界定位和故障自愈  。

        业务/服务的颗粒度更小 ,交付部署更频繁迫切需要增强对服务、服务所部署的软硬件环境的全方位监控 、评估能力;构建针对各类日志 、KPI数据、告警事件等的数据采集分析平台。

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        某App开发项目的混合敏捷管理实践方案

        1、持续交付:持续交付核心实践

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        2 、持续交付:DevCloud实践 ,每日持续交付流水线

        解读 :

        1. 每天晚11 :00,由流水线触发,从每个服务的代码仓库Release分支获取代码 。进行静态检查、下载代码、编译构建 、归档发布。

        2. 每天凌晨0:00 ,触发自动部署 。流水线调用部署服务实现版本包的自动化部署 。

        3. 每天凌晨3:00,触发自动化RF接口测试。

        流水线的质量控制

        • 源码版本控制

        • 分支策略

        • 静态扫描

        • > 80% 代码覆盖率

        • 漏洞扫描

        • 开源扫描

        • 制品版本控制

        • 自动化环境准备

        • 不可变的服务器

        • 集成测试

        性能测试

        • 每次提交触发自动化构建、部署、测试

        • 自动变更单

        • 低风险发布

        • 特性开关

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        3、持续反馈:灰度发布策略驱动自动化部署与回滚

        一键回滚;在线验收测试 ;A/B测试 ;重要新特性友好用户先体验 ;

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        4、持续反馈 :灰度发布,友好/公测完备流程 ,产品、运营、运维配合

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        5 、持续反馈:VoC 驱动 ,持续规划 ,数据分析,动态调整,有错就改

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        PS:VoC : Voice of Customer 客户声音

        项目实践全景

        如何构建混合型(预测+敏捷+DevOps)项目管理体系及实践案例(敏捷和混合项目管理)

        PMO前沿《一杯咖啡谈项目》专栏

        特约作者介绍:张永彬 ,PMP/PMI-ACP,项目管理专业硕士,某软件科技集团公司质量部总监;15 年消费电子和IT软件两大行业工程实践者,现代项目管理方法的践行者和推广者。

        相关新闻

        联系我们
        联系我们
        分享本页
        返回顶部

          XML地图