沐鸣娱乐


        如何构建混合型(预测+敏捷+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地图