• [图解]“敏捷”染色和“额勒金德” 数学


    1
    00:00:00,120 --> 00:00:02,760
    今天我们来说一个有趣的话题

    2
    00:00:04,020 --> 00:00:05,200
    “敏捷”的染色

    3
    00:00:05,210 --> 00:00:10,200
    一开始我先说一下

    4
    00:00:11,240 --> 00:00:12,880
    印象很深的一个经历

    5
    00:00:13,050 --> 00:00:16,940
    有一次我评点客户开发人员

    6
    00:00:16,950 --> 00:00:21,260
    提交的工件,评点的时候

    7
    00:00:21,270 --> 00:00:22,620
    顺便批评了他们

    8
    00:00:23,730 --> 00:00:27,750
    一些打着敏捷,实际上就是不思考、偷懒的做法

    9
    00:00:30,100 --> 00:00:32,130
    我评点完了,一位女生就问我

    10
    00:00:32,140 --> 00:00:35,660
    老师,难道希望敏捷一点不好吗

    11
    00:00:37,580 --> 00:00:40,970
    我看得出来,她的表情是很真诚的

    12
    00:00:41,470 --> 00:00:43,330
    她是真的希望这样的

    13
    00:00:45,890 --> 00:00:48,010
    所以你看,一个褒义的口号

    14
    00:00:48,760 --> 00:00:50,070
    它是很难抵挡的

    15
    00:00:51,750 --> 00:00:53,270
    就算你把事情做砸了

    16
    00:00:54,340 --> 00:00:57,330
    但是我的这种初衷是好的

    17
    00:00:57,340 --> 00:01:00,910
    我希望敏捷一点

    18
    00:01:01,550 --> 00:01:02,500
    难道不好吗

    19
    00:01:03,280 --> 00:01:04,610
    我事情虽然做砸了

    20
    00:01:05,130 --> 00:01:05,500


    21
    00:01:07,220 --> 00:01:10,490
    就像我又抽烟又喝酒又纹身又干嘛

    22
    00:01:10,890 --> 00:01:12,560
    但我还是好女孩

    23
    00:01:13,700 --> 00:01:15,200
    我们开发团队也是一样

    24
    00:01:15,210 --> 00:01:16,520
    我需求做得很烂

    25
    00:01:17,400 --> 00:01:18,440
    我设计做得很烂

    26
    00:01:18,450 --> 00:01:21,180
    但是我特别希望敏捷

    27
    00:01:21,190 --> 00:01:23,990
    你看,褒义词

    28
    00:01:24,000 --> 00:01:28,060
    做口号是非常棒的

    29
    00:01:28,070 --> 00:01:33,220
    帮我们掩盖很多问题的一个做法

     

    1
    00:00:01,690 --> 00:00:04,170
    从这里,我们就可以看到

    2
    00:00:04,670 --> 00:00:06,510
    有一条这样的创新路线

    3
    00:00:06,520 --> 00:00:11,990
    我们先挑一个褒义词,宣传它

    4
    00:00:12,710 --> 00:00:15,940
    我们发动圈子的能量宣传它

    5
    00:00:17,050 --> 00:00:18,590
    宣传了之后

    6
    00:00:19,140 --> 00:00:20,540
    大家就觉得这个褒义词好

    7
    00:00:22,290 --> 00:00:24,200
    但是你得有内容对不对

    8
    00:00:25,600 --> 00:00:26,570
    内容怎么来的

    9
    00:00:27,090 --> 00:00:31,300
    我们通过染色得来,宣传之后

    10
    00:00:31,630 --> 00:00:35,230
    染色,我们来看敏捷的做法

    11
    00:00:37,750 --> 00:00:40,920
    2001年2月敏捷宣言

    12
    00:00:41,950 --> 00:00:42,340
    发布

    13
    00:00:43,720 --> 00:00:44,820
    好,口号喊出来了

    14
    00:00:46,650 --> 00:00:51,250
    那么在几年之内,它就开始染色了

    15
    00:00:51,580 --> 00:00:52,520
    你看,敏捷这个这个

    16
    00:00:53,090 --> 00:00:54,840
    2001年这样下来

    17
    00:00:55,230 --> 00:00:56,710
    这些都是非常直接的

    18
    00:00:56,720 --> 00:00:57,930
    书名非常直接的

    19
    00:00:58,840 --> 00:01:01,900
    直截了当的,还有很多比较隐蔽的书名

    20
    00:01:02,300 --> 00:01:05,040
    我这里都是挑的比较直接的

    21
    00:01:05,050 --> 00:01:07,520
    而且这些大多数都有中译本

    22
    00:01:10,130 --> 00:01:12,040
    如果你只是说项目管理

    23
    00:01:12,050 --> 00:01:14,640
    说什么团队建设什么还可以

    24
    00:01:15,170 --> 00:01:18,980
    但是你看,它是跟具体的某个技术

    25
    00:01:18,990 --> 00:01:23,120
    Java、web数据库等等

    26
    00:01:24,620 --> 00:01:25,540
    也挂上钩了

    27
    00:01:27,790 --> 00:01:29,790
    染色的面积是非常大的

    28
    00:01:31,690 --> 00:01:34,650
    而且染色一直持续到今天

    29
    00:01:36,230 --> 00:01:38,250
    我们看,最近几年

    30
    00:01:38,900 --> 00:01:40,460
    你看,大数据

    31
    00:01:40,470 --> 00:01:42,460
    你看,有敏捷大数据

    32
    00:01:44,520 --> 00:01:46,320
    人工智能,你看,机器学习

    33
    00:01:46,330 --> 00:01:48,630
    你看,有敏捷机器学习

    34
    00:01:49,400 --> 00:01:50,520
    敏捷人工智能

    35
    00:01:51,040 --> 00:01:56,530
    敏捷AI,万事万物都可以敏捷

    36
    00:01:56,540 --> 00:01:59,270
    都可以用这个褒义词去染色

    37
    00:02:00,290 --> 00:02:02,200
    染完之后就可以变成他的了

    38
    00:02:04,580 --> 00:02:05,330
    那么这个时候

    39
    00:02:06,430 --> 00:02:07,620
    圈子里面的人

    40
    00:02:07,630 --> 00:02:08,740
    需要引用的时候

    41
    00:02:09,030 --> 00:02:10,780
    大家就把引用的范围

    42
    00:02:11,730 --> 00:02:12,640
    就缩小到

    43
    00:02:13,660 --> 00:02:15,060
    已经被敏捷过的

    44
    00:02:15,840 --> 00:02:17,780
    那些文档、文献里面去

    45
    00:02:19,550 --> 00:02:21,420
    相当于建立了一个屏蔽墙

    46
    00:02:22,670 --> 00:02:24,540
    这是我之前批评

    47
    00:02:24,550 --> 00:02:26,490
    这个领域驱动设计的时候

    48
    00:02:26,500 --> 00:02:27,850
    已经说过好几次了

    49
    00:02:28,370 --> 00:02:29,880
    封闭式的引用

     

    1
    00:00:01,020 --> 00:00:03,250
    其中最典型的就是

    2
    00:00:03,850 --> 00:00:04,960
    Robert C. Martin这个

    3
    00:00:06,380 --> 00:00:07,710
    敏捷软件开发

    4
    00:00:08,440 --> 00:00:10,270
    原则、模式和实践

    5
    00:00:11,420 --> 00:00:13,280
    2003年出版的

    6
    00:00:15,900 --> 00:00:18,820
    这本书里面,他讲了一些面向对象的

    7
    00:00:18,830 --> 00:00:22,110
    设计的思想,一些做法

    8
    00:00:26,520 --> 00:00:29,080
    实际上跟敏捷不敏捷没有关系的

    9
    00:00:30,730 --> 00:00:32,090
    而且很多也不是

    10
    00:00:32,100 --> 00:00:33,340
    Robert C. Martin

    11
    00:00:33,350 --> 00:00:35,320
    提出来的

    12
    00:00:36,140 --> 00:00:39,510
    第二个这些原则是不是非常的基础

    13
    00:00:39,870 --> 00:00:43,520
    很本质,这也是Robert C. Martin说的

    14
    00:00:44,270 --> 00:00:46,510
    但是通过圈子的宣传

    15
    00:00:47,550 --> 00:00:50,210
    就变成了这些是敏捷原则

    16
    00:00:50,730 --> 00:00:52,990
    这些是软件设计的基础

    17
    00:00:55,510 --> 00:01:01,120
    没有证据去论证说这个是本质

    18
    00:01:01,130 --> 00:01:03,950
    而我就受到这种困扰

    19
    00:01:03,960 --> 00:01:05,240
    是很多的

    20
    00:01:05,700 --> 00:01:08,390
    经常有人找我去讲这几个原则

    21
    00:01:08,400 --> 00:01:10,270
    什么OCP、SRP

    22
    00:01:11,830 --> 00:01:13,430
    我说这个不是不可以讲

    23
    00:01:13,440 --> 00:01:16,630
    问题是光讲不够,这个很简单

    24
    00:01:16,640 --> 00:01:19,720
    就是一个泛化(继承)的应用就完了

    25
    00:01:20,210 --> 00:01:21,480
    然后说那么一大堆废话

    26
    00:01:21,490 --> 00:01:24,610
    你还有很多要学的

    27
    00:01:27,340 --> 00:01:31,670
    然后他说,不是说学会这几个原则

    28
    00:01:31,680 --> 00:01:34,920
    不就面向对象设计就有了吗

    29
    00:01:35,610 --> 00:01:35,860


    30
    00:01:37,680 --> 00:01:41,650
    这是被圈子的宣传给忽悠的

    31
    00:01:43,880 --> 00:01:45,760
    这里面,我们来说染色的问题

    32
    00:01:45,770 --> 00:01:50,240
    你看,这本书,它来源是什么

    33
    00:01:50,250 --> 00:01:52,480
    来源是Robert C Martin

    34
    00:01:52,490 --> 00:01:56,260
    写的一篇文章

    35
    00:01:56,930 --> 00:02:00,220
    2000年的一篇文章

    36
    00:02:01,580 --> 00:02:05,890
    在他自己网站上发布的,一共有几十页

    37
    00:02:08,180 --> 00:02:10,680
    大家可以去下载,搜这个就可以了

    38
    00:02:11,080 --> 00:02:13,150
    搜这个可以下载

    39
    00:02:13,160 --> 00:02:15,150
    它网站现在域名已经没有了

    40
    00:02:15,160 --> 00:02:18,380
    但是网络上还有别的地方有保存的

    41
    00:02:19,690 --> 00:02:20,960
    那么这几十页内容里面

    42
    00:02:21,270 --> 00:02:25,670
    没有一处提到agile,很正常

    43
    00:02:25,840 --> 00:02:28,490
    因为2000年口号还没喊出来

    44
    00:02:29,780 --> 00:02:32,030
    但是也没有一处提到light

    45
    00:02:32,870 --> 00:02:35,050
    lightweight process

    46
    00:02:35,350 --> 00:02:35,720
    或者methodology,没有

    47
    00:02:42,530 --> 00:02:43,110
    也就是说

    48
    00:02:44,440 --> 00:02:46,680
    Robert C. Martin在写这篇文章的时候

    49
    00:02:47,220 --> 00:02:49,640
    他很清楚自己写的内容是什么内容

    50
    00:02:50,690 --> 00:02:56,300
    实际上是面向对象的一些实践的想法

    51
    00:02:56,930 --> 00:03:01,070
    一些归纳,跟什么敏捷过程、轻量过程

    52
    00:03:01,390 --> 00:03:02,190
    没有关系

    53
    00:03:02,650 --> 00:03:05,950
    敏捷的这些过程以前叫什么

    54
    00:03:06,280 --> 00:03:09,890
    轻量过程,一般是叫轻量过程

    55
    00:03:09,900 --> 00:03:13,400
    这还是比较客观的

    56
    00:03:14,730 --> 00:03:17,330
    轻量,就跟我们说一个公司是小公司一样

    57
    00:03:17,420 --> 00:03:17,810


    58
    00:03:19,310 --> 00:03:21,150
    小公司,这是客观的,为什么

    59
    00:03:21,420 --> 00:03:22,930
    你的营业额

    60
    00:03:22,940 --> 00:03:24,480
    你的注册资本

    61
    00:03:24,490 --> 00:03:26,730
    你的公司的员工数量

    62
    00:03:28,260 --> 00:03:29,700
    说你是小公司,没问题吧

    63
    00:03:30,900 --> 00:03:31,740
    这是客观的

    64
    00:03:33,640 --> 00:03:35,750
    但如果他觉得小公司不好听

    65
    00:03:35,760 --> 00:03:37,390
    他把它改成敏捷公司

    66
    00:03:38,690 --> 00:03:39,840
    那就非常主观了

    67
    00:03:40,780 --> 00:03:41,200


    68
    00:03:41,840 --> 00:03:43,030
    所以为什么轻量

    69
    00:03:43,440 --> 00:03:46,230
    他们不喜欢,硬要改成敏捷

    70
    00:03:46,740 --> 00:03:49,140
    就是因为这个词的煽动性是不够的

    71
    00:03:49,900 --> 00:03:52,160
    所以必须要有一个比较主观的口号

    72
    00:03:57,510 --> 00:04:02,880
    这篇文章本身没有一处提到这些内容

    73
    00:04:03,180 --> 00:04:06,960
    说明Robert C. Martin他很清楚

    74
    00:04:07,550 --> 00:04:09,570
    这个文章的内容是什么

    75
    00:04:11,430 --> 00:04:13,900
    但是当他写书的时候

    76
    00:04:14,890 --> 00:04:16,600
    2003年写书的时候

    77
    00:04:17,240 --> 00:04:18,690
    他就把这些称为

    78
    00:04:19,080 --> 00:04:21,710
    敏捷软件开发的原则和模式

    79
    00:04:24,360 --> 00:04:25,950
    这个做法就不是很好了

    80
    00:04:29,310 --> 00:04:30,580
    关于Robert C. Martin的

    81
    00:04:30,590 --> 00:04:32,100
    一些其他的做法

    82
    00:04:32,850 --> 00:04:33,780
    也不是很好的做法

    83
    00:04:33,790 --> 00:04:36,020
    我在其他的文章视频里面也提到

    84
    00:04:36,400 --> 00:04:40,240
    故意歪曲某些文章的意思

    85
    00:04:41,380 --> 00:04:44,070
    我之前也在别的地方也说过了

    86
    00:04:47,850 --> 00:04:51,760
    如果这种做法把它滥用的话

    87
    00:04:52,460 --> 00:04:54,530
    比如说,我们设想一个褒义词

    88
    00:04:55,080 --> 00:04:57,870
    我们拿相声里面经常提到的额勒金德

    89
    00:04:59,430 --> 00:05:01,090
    把它应用到数学里面去

    90
    00:05:01,890 --> 00:05:02,880
    那就可以创新了

    91
    00:05:02,890 --> 00:05:08,480
    我就可以先宣传额勒金德怎么好

    92
    00:05:10,300 --> 00:05:11,170
    具体内容怎么办

    93
    00:05:11,500 --> 00:05:13,250
    我把现在的教材

    94
    00:05:13,980 --> 00:05:15,590
    都额勒金德一遍

    95
    00:05:17,870 --> 00:05:19,770
    把它改个名

    96
    00:05:20,060 --> 00:05:22,170
    伪创新的圈子不是喜欢造词吗

    97
    00:05:22,590 --> 00:05:22,700


    98
    00:05:22,710 --> 00:05:24,700
    我把这里面的词全部造一遍

    99
    00:05:25,900 --> 00:05:27,590
    但是是我额勒金德的

    100
    00:05:29,790 --> 00:05:31,220
    我就得到了创新了

  • 相关阅读:
    Bio-Helix 艾美捷IRIS11预染蛋白Markers基参及相关研究
    学C还是学C++?
    RabbitMQ--基础--7.2--工作模式--工作队列
    【STM32】Cortex_M4 GPIO口概述知识总结
    python--gdal:tif图像坐标/投影坐标/经纬度转换(理清i和j的顺序)
    休息时间c++
    LayUI之增删改查
    饮用水中磷超标的解决方法
    NSSCTF做题(8)
    小张刷力扣--第二十二天
  • 原文地址:https://blog.csdn.net/rolt/article/details/138118749