写点什么

阴阳学说与项目管理

  • 2009-01-21
  • 本文字数:1152 字

    阅读完需:约 4 分钟

Jann P. Thomas 在 Scrum 联盟的网站上最近发了一篇很有趣的文章,名为阴阳与项目管理。她应用阴阳学说对敏捷宣言进行了阐述。

阴阳学说的基本内容包括阴阳对立、阴阳互根、阴阳消长、阴阳转化四个方面。Thomas 认为,敏捷宣言中的原则也体现着对立、互根、消长、转化。

正如阴阳必须并存,敏捷实践者所提倡的价值(可以工作的软件、协作、变化、交互)也都无法脱离对立的阳面(文档、合同、计划、过程)而存在。

Thomas 详细解释道:

敏捷并不是反过程(anti-process)。举个例子来看,人们常常会碰到没法按照迭代伊始的计划做事,要在迭代中间对产品做出改动的情况。为了保证 透明、高效,项目经理就要创建一个过程,用于引入未经计划的新任务。这个过程必须记录下来哪些任务要从迭代中挪走,好给新任务腾出空间;然后包括客户在内 的整个团队就不但可以知道发生了哪些变化,还能清楚这些变化所带来的成本。敏捷项目经理需要做到自省。好的敏捷项目经理应当审视组织中现有或是正在构建的过程,继而提出质疑。这个过程适用于敏捷环境吗?这个过程对团队的交付能起到助益么?另外,透过敏捷回顾,整个团队也有机会评估他们自己对过程所做出的改进——保留有用的,扔掉没用的。

……

敏捷团队和敏捷项目经理并不排斥文档……在要用到需求的时候才把需求整理好(准时化生产——Just In Time),其结果通常都是一些架构图、用例、功能说明。只有那些对开发有用的文档才会被制作出来,加以维护(够用就好——Just Enough)

……

所有的软件项目都有合同,不管是显式还是隐式的……大多数项目经理都很熟悉限制三角形(constraint triangle)的三条边:范围、时间、质量。如果时间(完成日期)固定,质量也有高要求,那就只剩下范围可以妥协。跟客户或者产品负责人进行范围的谈判也是敏捷项目管理的一个关键环节。

可能在一些人的眼中,Thomas 的这篇文章只不过是老生常谈,早已变成敏捷实践者的常识、共识,只是冠上了“阴阳”之类的帽子增加了神秘感而已。比如多年前,在《平衡敏捷与规范》一书中,作者便提到过:

值得注意的是,宣言中的价值观都是相对的陈述,而非绝对。也就是说,它们代表的是两种选择方法的权重,不是非此即彼的二元选择。

而 Thomas 对“响应变化胜过遵循计划”这一条的解释也显得有些片面,强调“变化”的文字多,而讲“计划”的文字少,只这样提了一句:

敏捷原则是对立的:做事情必须要有计划,但计划会发生变化。

倒不如来看看 Martin Fowler 和 Kent Beck 在《规划极限编程》中说的:

需要做计划的原因有如下几条:

  • 我们需要确保始终在做最重要的工作。
  • 我们需要和其他人通力合作。
  • 当意外事件发生时,我们需要了解前两项的因果关系。

读者朋友,你对 Thomas 的文章是何看法?是帮助你加深了对敏捷原则的认识,还是觉得更像是扯“阴阳”的淡,扯文化的淡?欢迎留下你的观点。

2009-01-21 19:081604
用户头像

发布了 197 篇内容, 共 62.2 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
发现更多内容

【Flutter 专题】65 图解基本 TextField 文本输入框 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

JavaScript 的 null 和 undefined 判断

HoneyMoose

kafka - 基础介绍

旺仔大菜包

kafka

vue入门:组件概述

小鲍侃java

8月日更

Nginx可观测最佳实践分享,一篇文章带你快速入门!

观测云

nginx 云计算

Compose 列表

Changing Lin

8月日更

又翻车了?列表点击事件采集那些你不知道的坑!

神策技术社区

数据库 大前端 后端 代码

从字节码探索代理模式

4ye

Java 后端 字节码 代理模式 8月日更

手撸二叉树之从根到叶的二进制数之和

HelloWorld杰少

数据结构与算法 8月日更

JVM集合之开篇点题

阿Q说代码

JVM hotspot 8月日更 栈式架构 寄存器架构

富文本及编辑器的跨平台方案

vivo互联网技术

跨平台 编辑器 富文本

Java双刃剑之Unsafe类详解

码农参上

Java unsafe 8月日更

计算机字符编码的前世今生

vivo互联网技术

Unicode utf-8 编码 ASCII 字符集

后Kubernetes时代的虚拟机管理技术之Virtual-Kubelet篇

谐云

k8s 虚拟机

MaxCompute执行引擎核心技术DAG揭秘

阿里云大数据AI技术

架构训练营模块5-作业

sophiahuxh

Python代码阅读(第11篇):展开嵌套列表

Felix

Python 编程 Code Programing 阅读代码

高可用架构演进之单元化

华为云开发者联盟

物联网 IoT 华为云

浅谈在探索数分之路上“数据思维”培养

小飞象@木木自由

数据分析 数据思维

架构实战营模块五作业 -微博评论高性能高可用架构

hello

架构训练营

什么是强化学习?

华为云开发者联盟

机器学习 强化学习 智能体 环境 动作空间

基于昇腾CANN的卡通图像生成可在线体验啦!十分钟带你了解CANN应用开发全流程

华为云开发者联盟

ai框架 CANN 昇腾 昇腾AI应用 图像生成

Rust从0到1-高级特性-不安全的Rust

rust unsafe 高级特性 不安全

浪潮云IBP机器学习平台通过中国信通院可信云评估 荣获“先进级”认证

云计算

Pulsar Manager - Use Docker

ZHOUWEI

Apache Pulsar

从0搭建在线聊天室,只需4步!

网易云信

SpringBoot dockerfile生成镜像

Rubble

8月日更

【Vue2.x 源码学习】第三十八篇 - 组件部分 - 组件的编译

Brave

源码 vue2 8月日更

索信达控股: 银行对公业务数字化营销进阶攻略

索信达控股

Regan Yue带你一起学习微软AZ-900认证的有关知识「 第Ⅲ章」

Regan Yue

云计算 微软 8月日更

细数浅拷贝和深拷贝

苹果看辽宁体育

Java 后端

阴阳学说与项目管理_研发效能_李剑_InfoQ精选文章