写点什么

渐进式敏捷:由下而上的敏捷推行策略

  • 2007-08-25
  • 本文字数:1375 字

    阅读完需:约 5 分钟

BJUG 的创始人李默在一篇题为“敏捷的弱点”的文章中指出,“当你没有办法改变你周边的人、部门、公司做事方式的时候”,敏捷方法的适用性会降低。他进一步举例说: > 在某些公司,由于各种原因,一个团队的敏捷程度完全取决和他们合作的部门或公司的敏捷程度。在一个项目中,我的一个同事所在的团队需要和数据库部门以及另 一个开发部门协作,从而完成一个系统集成应用,然而,他们没有数据库的操作权限,同时另一个部门的 API 尚未就绪。他们很快就开发完毕自己所分配的部分功 能,在等待中不断的催促和协调另外的部分。一个几周的工作,硬生生的被拖到了三个月。

敏捷的效果需要在合作各方都采用敏捷方法时才能得以充分发挥。正因为如此,一种广泛存在的看法认为:敏捷的推行必须由组织高层由上而下地进行。在“敏捷中国”用户组的一个讨论中,网名 photoman 的网友这样说道:

要想实行某种制度,首先必须要取得从上至下的一致看法,获得得到大多数人的同意并从公司行政角度加以制度化。如果敏捷实践只是一个人或者一个小组的试验性的工作,那首先不能不考虑公司利益,不向上级请示就开干,这样做有违职业操守,如果无人作主不论如何不应该启动,至少你没有理由说服领导层决策,这样的做法只能算蛮干。

但这样一来,敏捷的推行者们往往陷入一个两难境地:要实际推行敏捷,需要首先得到高层的支持;但没有实际推行敏捷之前,又拿不出证据来说服高层。面对这种情况时,网友“咖啡屋的鼠标”意识到没有证据很难说服同事和领导,于是采用了一种渐进式、由下而上的敏捷推行方法: > 我现在就在用敏捷的思想做一个号称 CMMI4 级的小项目(只有四个人)。我始终没对上面说要用敏捷(不过以我对敏捷的热衷,上面也猜的到,只是不说罢了)。我只是说要先写单元测试用例(这不是问题,CMMI 也认可),要自动化测试,要大家都坐的近一点,早晨开个晨会,写用户故事当成测试用例,使用 Mingle 管理我们的项目,慢慢的现在已经有些像 Scrum 了。公司那边还是会要 CMMI 文档,还是会按照公司的制度运行,我这边也并行不悖。等我的故事够多了之后,详细设计也就有了。操作手册也有了,每个周的周报也不缺,很多本来是瞎填的文档最后肯定是能填的更好了。有了第一个成功的案例,再说话分量就不一样了。空口白牙能说通那真的是很难。

来自 ThoughtWorks 的李晓也曾有过类似的经历:

最容易,最有成效的应该是 TDD,或者就是补一些测试也是非常有价值的,至少我以前就这样做过,周围没有一个人做敏捷相关的实践,我就只是尝试 TDD,效果是非常好的,即使没有人跟着你走敏捷的路,其他人其实也是非常认同你的能力的。

正如李默在他的文章所指出的,要说服别人、改变别人并不容易,更多的时候敏捷的推行者们只能靠自己小范围的实践来影响周边的人,让别人看到这些实践的价值。

改变一个人虽然困难,但我们可以去影响他们。只要从基本的实践处做起,逐渐的,周边的人会被带动,从而可以推动整个部门的改变。一个部门改变了,公司领导会很快意识到这种变化,变化也有可能影响到其他部门。只要我们坚持去做。

老话说临渊羡鱼不如退而结网。如果组织高层领导大力推行敏捷那当然是好事,但很多时候敏捷的主要推行者还是技术人员和中层技术型管理者,老板们还在等着看他们实践的成果。在这种情况下,有计划、有技巧地采用渐进式的、由下而上的推行方式,可能就是让敏捷在企业中扎根的第一步。

2007-08-25 22:521437
用户头像

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

关注

评论

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

猿灯塔:spring Boot Starter开发及源码刨析(三)

猿灯塔

Java 猿灯塔

无价值人生记录.0:浪费1000%时间去做一个用来节省1%时间的“轮子玩具”(上:因缘)

八苦-瞿昙

C# 程序员 随笔 随笔杂谈 aop

啃碎并发(九):内存模型之基础概述

猿灯塔

Java 猿灯塔

图说前端-内存管理(1/3)

梦见君笑

大前端 内存

ARTS 打卡 第2周

Scotty

Git 常用操作汇总-cheat sheet

多选参数

git GitHub gitlab gitee

刘华:上云还是不上云,这是一个问题

刘华Kenneth

架构 敏捷

给 Spring Boot 项目减减肥!18.18M 到 0.18M 是如何做到的?

给你买橘子

Java 程序员 Spring Cloud 编码 SpringBoot 2

分布式系统的一些基础理论

俊俊哥

分布式事务 CAP Base

那些让程序员目瞪口呆的Bug

Java小咖秀

程序员 bug

计算机的时钟(一):NTP协议

ElvinYang

DOM 树的构建

法正

html 大前端 DOM

如何基于 BitMap 进行海量数据分析

GrowingIO技术专栏

互联网 数据分析 科技互联网 数据化

游戏夜读 | 如何分析游戏体验?

game1night

如何搭建一个HBase集群

Rayjun

HBase

redis里的数据结构

流沙

redis

计算机操作系统基础(十七)---进程同步之Unix域套接字

书旅

php laravel 线程 操作系统 进程

如果你想写自己的Benchmark框架

程序那些事

JVM 性能调优 GC benchmark

架构师必须知道的架构知识

Chank

架构 架构师 Architecture Architect

图说前端-ArrayBuffers 和 SharedArrayBuffers(2/3)

梦见君笑

大前端 内存管理

玩转Redis高可用 - 哨兵(Sentinel)模式

Man

高可用 redis高可用 中间件

图说前端-使用Atomics避免SharedArrayBuffers中的race conditions(3/3)

梦见君笑

大前端 内存管理

Java 线程的生老病死

武培轩

Java 线程 多线程 并发 线程状态

图解:深度优先搜索与广度优先搜索

淡蓝色

Java 数据结构 算法

使用 Dockerfile 创建镜像 | Docker 系列

AlwaysBeta

Docker 容器 镜像 Dockerfile

《精益思想》读后感分享

zhongzhq

高效工作 精益 精益思想 精益生产方式

redis系列之——Redis为什么这么快?

诸葛小猿

Java redis 程序员

基于Kubernetes实现的大数据采集与存储实践总结

岿然独存5

Docker Kubernetes S3 EFK Fluentd

RESTful 架构及实践

Geek_z9ygea

Java 大前端 RESTf

java 后端博客系统文章系统——No3

猿灯塔

架构师训练营第六周作业

张明森

渐进式敏捷:由下而上的敏捷推行策略_研发效能_Jeff Xiong_InfoQ精选文章