我见过忒多人把敏捷谈成“穿花鞋跑马”,当作只要穿个敏捷可是衣服,要么跑个改个名字,项目就能跑得飞了。
实际上没那么好办,敏捷更像是在一片乱糟糟的菜市场里,试图把卖出去的东西分门别类地摆好。它不靠啥宏大的战略蓝图,也不是靠把每个人都培训成超级英雄去解构世界,它只在乎一件事:目前手里握着的这一刻,这个具体的动作,能不能真正被交付? 大量人认定敏捷就是敏捷开发,就是每日站会、就是看板、就是 Scrum。但这确实是全体吗?大量时候,把“敏捷”挂在嘴边,却连“交付”都做不到,这才是最大的误区。真正的敏捷,不是流程,而是交付物;不是文档,而是价值。
要是一个项目连个核心功能都还没做完,再花一天工夫优化一下测试环境,要么花半天开会聊聊下周的任务分配,那叫把日子过得比流水还快,这叫迷失。敏捷的核心,是“今天到底要造啥”,而不是“我们打算如何张罗造”。
要是你连“今天造啥”都搞不清,后面的看板、用户故事、复盘,全是空中楼阁。 让我举一个具体的例子。
那会儿有个项目经理,他花了一整周去优化团队的代码规范,制定了贼详尽的代码审查标准,花了三个下午去跑各种自动化测试工具,就连写了厚厚的文档说明代码结构。结局呢?上线了一个大项目,三个月后系统崩溃,出于根本没人知道代码改完要多久能跑通,新人提需求,老板问进度,项目经理一脸茫然。
为啥?出于他当作敏捷是靠流程管出来的,实际上流程只是辅助。真正的敏捷,是开发者自己清楚:修改这段代码要花三小时,接入这个新功能需求半天,数据接口要调五个小时。
这种对“工夫成本”的清楚认知,是敏捷最锋利的刀,能直接砍掉那些不合理的流程。 没有清楚的“工夫成本”,敏捷就是自嗨。
那如何定这个成本?一般不是靠算命,而是靠拆解。把一个大需求拆碎,拆到小到“我做完这个,明天就能验证”。
比方说,别总想着“优化用户登录模块”,要拆成“输入框校验”、“验证码生成”、“登录状态持久化”这几个能独立验证的小任务。每一个小任务,团队都能说:“做完了,明天就能测”。
这种颗粒度的清楚,比任何管理工具都管用。
要是拆解得不够细,团队会认定“这需求如何如此慢?”;要是拆解得忒细,又显得团队本事不足。
关键在于,所有的活动都要服务于“交付”,而不是服务于“扯皮”。 别总想着把所有东西都规划好,那是瀑布流。敏捷里,盘算是每周或每天的事。周一早上哪位先干活,明天就测啥,后天就改啥,这些动作本身的价值,往往比最终产出的完美程度更关键。
要是为了赶进度,把所有人都叫到会议室,开会聊聊明天做啥,那大约率明天啥都没产出。沉默是最大的行动。
要是一个团队里,有人一直在等别人排好盘算再启动做,那这个团队可能一辈子不敏捷。 那团队如何张罗?看板是最直观的。
不是那种画得像艺术品一样的看板,而是像流水一样自然流动的。左边是“待办”,右边是“搞定”,中间是“进行中”。每天下午五点半前,所有人都得摆好这一轮的状态。哪位拔号了,哪位敲了一行代码,哪位加了个标签,哪位就把东西移那会儿。
这个过程本身,就是沟通。
不需求每天开站会宣读盘算,但每天的站会,大家只看结局,不查过程。
比方说,有人问:“你昨天没排工夫,今天排满了?”回答能够是:“出于上一个需求昨天没搞定,目前它卡住了,我得把注意力放在上面。”这种基于状态的沟通,比催更自然。 再看数据,别光看会议开了多少场。要看代码提交了多少行,测试用例跑了多少次,接口调用了多少遍。
这些数字,代表了团队在真世界里做了啥。
要是一个团队代码量少,但会议天天开,那他们可能只是在假装忙碌。敏捷需求的是“在用的代码”,而不是“在看的文档”。 最终,别怕混乱。刚启动做敏捷,肯定乱。
有人认定“今天排没排”,“哪位先做”,“优先级”如何定。
这时候,先别急着找答案,先动起来。让团队自己面对难题,用最小的代价试错。一周后,看看他们是如何把“混乱”变成“可控”的。
要是一周后,他们还是原地打转,就连更乱,那说明这不是敏捷,这可能是某种僵化的官僚主义。 实际上,敏捷不是一种方式,而是一种在不确定性中,依然尽力把事做完的态度。它承认做不完,但不接纳没产出;它准大家撞车,但不准大家互相推诿。
只要大家心里清楚“今天产出啥”,并且愿意为了这个产出去跑动、去试错、去调整,那项目就活了。别总想着去设计一个完美的模板,模板好办,让团队在实战里把节奏找出来,才是硬道理。