敏捷反对敏捷
今天是母亲节,我也是今天才得知母亲节的最初推动者现在正在推动反对母亲节。不用问原因是什么,一定是现在的母亲节的形式或者内容或者两者违背了最初推动的初衷。
我昨天写了《程序员,困在敏捷里》,又大佬注意到了,告诉我,我所描述的这些现象,Bob 大叔在新作《敏捷整洁之道》中也痛斥了。于是我赶紧找到这本书,一口气读完了。
书名原本叫《Clean Agile》,翻译为《敏捷整洁之道》,显然是延续了《Clean Code》的翻译,但是在我看来,这次的 Clean 是一个双关语,不仅是整洁的意思,更有清理门户的意思,这从本书的副标题得到了证实:正本清源。而 Bob 大叔是敏捷宣言的最初起草人之一,所以我觉得有点敏捷反对敏捷的意思。
敏捷的最初推动者们,本来是想解放程序员们的,结果被管理者剥去了核心,故意曲解而变成了进一步压榨剥削程序员的工具,因此 Bob 大叔看不下去了,写了《Clean Agile》来反对各种伪敏捷。注意,Bob 大叔是美国人,因此管理者用敏捷来压榨程序员并非中国特色,只能说是资本家特色。而 Bob 大叔就像是程序员界的马克思,我似乎听到他在《Clean Agile》里怒吼:全世界程序员,联合起来!
敏捷从来无关于快
敏捷是用来戳破幻想的。这个幻想就是,软件开发中存在银弹,虽然《人月神话》里已经讽刺过这种想法,但是没用,于是敏捷想来戳破这个幻想,但是看来失败了。
增加人手只会更慢
同样《人月神话》里已经指出过。
为什么不写测试?
每次质疑团队中的成员,为什么不写测试,为什么有这么多重复代码?得到的回答往往是工期太紧,来不及。这背后隐含的逻辑是盲写烂代码的速度更快,或者说大佬们苦苦追求的高质量,难道是为了更慢?
Bob 大叔再次指出,提高质量是手段,目的正是为了更快。
学会拒绝
否则就只是任人使唤的劳工,而非专业人士。
软件开发中的测不准原理
交付日期越确定,那么能做完的任务范围就越不确定;而如果要做完的功能越没得商量,那么,交付日期就越不确定。
不要做坏事
咳咳,这可是 2020 年 7 月份出版的书,请不要做相关的联想。