过去几十年的大型系统开发就犹如一个焦油坑,很多大型和强壮的动物在其中剧烈地挣扎。他们中大多数开发出了可运行的系统——不过,其中只有非常少数的项目满足了目标、时间进度和预算的要求。各种团队,大型的和小型的,庞杂的和精干的,一个接一个淹没在了焦油坑中。表面上看起来好像没有任何一个单独的问题会导致困难,每个都能被解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢。对问题的麻烦程度,每个人似乎都会感到惊讶,并且很难看清问题的本质。
编程系统产品的演进过程:
编程的乐趣:
(1)一种创造事物的纯粹快乐;
(2)开发的产品对他人有用,达到内心的满足;
(3)来自于整个过程体现出的一种强大的魅力;
(4)持续学习的快乐(三天不读书,感觉像头猪)
(5)来自于易于驾驭介质(计算机)上的工作,可以打印出结果、绘制图形、发出声音等。
编程的苦恼:
(1)来自于追求完美,需要一个字符、一个停顿等与正确的形式相一致;
(2)来自于有他人设定目标、供给资源和提供信息;
(3)持续的bug搜索,不断的测试;
(4)投入大量的劳动,产品即将完成的时候,却已经显得陈旧过时。
前车之履,后车之鉴!