传统项目管理与敏捷项目管理
价值理念
首先来看看在理念方面,两者有何不同。
项目管理的铁三角是围绕着范围、成本和时间展开的。传统项目管理的特点是强计划驱动,需求范围固定下来后才可分配人员和时间,并在项目推进过程中积极跟踪和控制风险。
敏捷项目是价值驱动的,在敏捷项目管理中,先固定了成本与时间,需求在交付期间频繁细化,在固定的时间盒中优先交付高价值的需求。
传统项目管理和敏捷项目管理的背后,也是预定义过程和实验性过程的理念差异。预定义过程更注重计划,控制变化。实验性过程更加拥抱变化,通过快速实践获得反馈后调整前进。
PMBOOK 将项目的开发生命周期可分为预测型(计划驱动型)、适应型 (敏捷型)、迭代型、增量型或混合型。
一个项目可能具备上述一个或者多个阶段,在一家企业当中的不同团队可能使用着一到多种项目
管理模式,比加对于企业核心系练外句式顶目、交付性质强的项目会以传统项目管理的方式
进行,这些系统要么需求变化少,要么需要详细的项目计划和业务承诺。针对互联网产品,其需
求和用户往往都不稳定,采用敏捷模式可以更快地获得市场反馈,这种情况下无法也不适合进行
长期细致的计划。
研发模型
01-瀑布模型
业界普遍认为瀑布模型是由温斯顿·罗伊斯(Winston Royce)于1970 年提出的 。瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,以便于协作。瀑布模型将软件生命周期分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
另外,瀑布模型非常强调文档,前一个阶段的输出就是下一个阶段的输入,文档是各阶段衔接的唯一信息。从瀑布模型角度出发,在设计和记录不充分的情况下,如果团队成员在项目完成之前离开,知识就会丢失,项目可能很难从损失中恢复过来。如果存在可以正常使用的设计文档,新
团队成员甚至是全新团队都应该能够通过阅读文档来接手项目。
02-Scrum框架
Scrum 是一个解决复杂多变问题的框架。基于经验主义和精益思维,采纳了一种迭代和增量的方法来优化对未来的预测性并控制风险,帮助团队和组织创造价值。
Scrum的生命力在于面对多变的市场时,它提供的小步快跑思路。产研团队通过“把手弄脏”来得到产品的快速反馈,从而改进产品。为了能够保持紧凑的迭代节奏,Scrum 框架对项目管理过程当中的信息和流程的“透明度“要求很高。
透明使检视成为可能,经常性的”检视”可以快速发现项目中存在的问题。
检视使适应成为可能,针对发现的问题,可以快速地调整。Scrum 实践可以让组织拥有应对变化的能力
敏捷宣言
01-四条核心价值观
个体和互动 高于 流程和工具
可用的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
02-敏捷十二条原则
我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
。欣然面对需求变化,即使在开发后期也一样
。为了客户的竞争优势,敏捷过程掌控变化。
。经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
。业务人员和开发人员必须相互合作,项目中的每一天都不例外
。激发个体的斗志,以他们为核心搭建项目
。提供所需的环境和支援,辅以信任,从而达成目标。
。不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
。可工作的软件是进度的首要度量标准敏捷过程
开友人员和用户要能够共同维持其步调稳定延续。
坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
。以简洁为本,它是极力减少不必要工作量的艺术。
最好的架构、需求和设计出自组织团队。
。团队定期地反思如何能提高成效,并依次调整自身的举止表现
敏捷管理仍然需要流程和工具、详尽的文档、针对合同的谈判以及遵循开发计划。并且事实上,一个敏捷的冲刺周期,就是一个小型的瀑布。
03-敏捷误区
敏捷开发不是极限开发,上下班或者工作量随意;
敏捷开发拥抱变化不是随意变化,策划往往看了效果再改一版;
敏捷开发不是忽略质量,每个迭代的质量仍然需要保证通过验收;
敏捷开发不会缩短开发周期 (相反因为频繁修改还会拉长)。
相关文章:
传统项目管理与敏捷项目管理
价值理念 首先来看看在理念方面,两者有何不同。 项目管理的铁三角是围绕着范围、成本和时间展开的。传统项目管理的特点是强计划驱动,需求范围固定下来后才可分配人员和时间,并在项目推进过程中积极跟踪和控制风险。 敏捷项目…...

只要掌握Win32应用程序错误的来龙去脉,就没必要惊慌失措
也许你遇到了一个问题,你试图运行的程序已损坏甚至丢失。在这种情况下,Windows将无法正确运行该文件,因此,操作系统将生成一个错误——文件不是有效的32位应用程序或文件不是无效的Win32应用程序。 错误通常是因为可执行文件不是有…...

ABB机器人关于重定位移动讲解
关于机器人如何重定位移动,首先来看一下示教器上的重定位移动是在哪。 从图中所示的坐标位置和操纵杆方向得知,重定位的本质是绕X、Y、Z轴的旋转。那么实现跟摇杆一样的操作,就可以通过改变当前位置的欧拉角来实现,参考Rapid指令…...

Ceph介绍与部署
Ceph介绍与部署 一、存储基础1.1、单机存储设备1.1.1、单机存储的问题 1.2、商业存储解决方案1.3、分布式存储(软件定义的存储 SDS)1.3.1、分布式存储的类型 二、Ceph 简介三、Ceph 优势四、Ceph 架构五、Ceph 核心组件5.1、Pool中数据保存方式支持两种类…...
sklearn 机器学习基本用法
# # 科学计算模块 # import numpy as np # import pandas as pd # # 绘图模块 # import matplotlib as mpl # import matplotlib.pyplot as plt # from sklearn.linear_model import LinearRegression # from sklearn import datasets # from sklearn.model_selection import t…...
Ionic4 生命周期钩子函数和angular生命周期钩子函数介绍
1、Ionic4 生命周期钩子函数 Ionic 4(以及之后的 Ionic 版本)使用了 Angular 生命周期钩子,因为 Ionic 是基于 Angular 构建的。因此,Ionic 4 中的生命周期与 Angular 组件生命周期非常相似。以下是一些常见的 Ionic 4 生命周期钩…...
Hive+Flume+Kafka章节测试六错题总结
题目2: EXTERNAL关键字的作用?[多选] A、EXTERNAL关键字可以让用户创建一个外部表 B、创建外部表时,可以不加EXTERNAL关键字 C、通过EXTERNAL创建的外部表只删除元数据,不删除数据 D、不加EXTERNAL的时候,默认创建内…...

【随笔】论多线程CPU离线渲染器的实现:A CPU BASED OFFLINE RENDERING ENGINE
前言 小熊挺喜欢玩游戏的,对于游戏画面有所追求,记得高中第一次玩战地的时候,惊叹于画面细腻的表现,并且还能开坦克车,这样的事情深深吸引了我。我是一个画面党,为了追求更好的画质表现我开始研究设置面板…...

多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测
多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测 目录 多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果…...

Ubuntu:Arduino IDE 开发环境配置【保姆级】
物联网开发学习笔记——目录索引 本章主要介绍在Ubuntu系统搭建Arduino IDE 开发环境,windows系统请移步:Windows:Arduino IDE 开发环境配置【保姆级】 参考官网:Arduino - Home 有关更多详细信息,请参阅 Arduino I…...

Kafka 开启SASL/SCRAM认证 及 ACL授权(三)验证
Kafka 开启SASL/SCRAM认证 及 ACL授权(三)验证。 官网地址:https://kafka.apache.org/ 本文说明如何做client验证ACL是否生效,我们之前开启了无acl信息不允许访问的配置。涉及的client有以下几个场景:shell脚本、python脚本、java应用、flink流。 kafka shell script验证…...

Pycharm 2023 设置远程调试
pycharm 版本 : 2023.2.1 整体流程参考:https://blog.csdn.net/xuanhaolaile/article/details/128293254 首先确定远程服务器上已经安装好 requirements.txt 中所需的依赖包。 1、SSH Configurations 添加远程服务器 2、Python Interpreter 注意&…...
asp.net core在其他程序集获取HttpContext
首先在Program.cs中,注册 builder.Services.AddHttpContextAccessor();Program.cs完整代码: using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Text.Encodings.Web; using System.Text.Unicode; us…...
UWB NI框架嵌入式实现——Qorvo示例
在Qorvo提供的DW3000示例代码中,实现了与Apple的NI框架的互通的示例,本文中针对其示例程序进行简要的分析。测试中使用Qorvo提供的模块,该模块为nRF52833DW3000的架构。 1. Qorvo相关库文件 Qorvo在提供示例时,仅提供了相关的库文…...
Linux OS源的问题记录
场景 安装了一台Linux虚拟机充当服务器,准备搭建一个elk环境,我使用命令安装docker的时候,报错提示 YumRepo Error: All mirror URLs are not using ftp, http[s] or file.Eg. Invalid release/repo/arch combination/ removing mirrorlist…...

数据库:Hive转Presto(五)
此篇将所有代码都补充完了,之前发现有的代码写错了,以这篇为准,以下为完整代码,如果发现我有什么考虑不周的地方,可以评论提建议,感谢。代码是想哪写哪,可能比较繁琐,还需要优化。 …...

SQL中for xml path 的用法
1. 用法 是一种将查询结果转换为 XML 格式的方法。它可以将查询结果中的每一行转换为一个 XML 元素,并且可以指定元素的名称和属性。 2. 应用示例 有一张学生选修课程的表,如下图所示 希望整合成下图所示效果 --建表 if object_id(StudentInfo,u) is…...

【TensorFlow2 之014】在 TF 2.0 中实现 LeNet-5
一、说明 在这篇文章中,我们将展示如何在 TensorFlow 中实现像 \(LeNet-5\) 这样的基础卷积神经网络。LeNet-5 架构由 Yann LeCun 于 1998 年发明,是第一个卷积神经网络。 数据黑客变种rs 深度学习 机器学习 TensorFlow 2020 年 2 月 29 日 | 0 …...

【2023】redis-stream配合spring的data-redis详细使用(包括广播和组接收)
目录 一、简介1、介绍2、对比 二、整合spring的data-redis实现1、使用依赖2、配置类2.1、配置RedisTemplate bean2.2、异常类 3、实体类3.1、User3.2、Book 4、发送消息4.1、RedisStreamUtil工具类4.2、通过延时队列线程池模拟发送消息4.3、通过http主动发送消息 5、dz…...

飞书应用机器人文件上传
背景: 接上一篇 flask_apscheduler实现定时推送飞书消息,当检查出的异常结果比较多的时候,群里会有很多推送消息,一条条检查工作量会比较大,且容易出现遗漏。 现在需要将定时任务执行的结果记录到文件,…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...