我主张在系统设计中,概念完整性应该是最重要的考虑因素。也就是说为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计
AI时代,有人焦虑失业,有人偷偷变强,不写代码不烧脑~
相关语录
-
概念完整性的确要求系统只反映唯一的设计理念,用户所见的技术说明来自少数人的思想。实际工作被划分为体系结构、设计实现和物理实现,但这并不意味着该开发模式下的系统需要更长的时间来创建。经验显示恰恰相反,整个系统将会开发得更快,所需要的测试时间将更少。同工作的水平分割相比,垂直划分从根本上大大减少了劳动量,结果是使交流彻底地简化,概念完整性得到大幅提高。
-
软件开发是熵减的过程,所以它是处于亚稳态的,软件的维护是处于熵增的过程,只是放缓了系统退化到亚稳态的过程。
-
因为软件开发本质上是一项系统工作棗错综复杂关系下的一种实践棗沟通、交流的工作量非常大,它很快会消耗任务分解所节省下来的个人时间。从而,添加更多的人手,实际上是延长了,而不是缩短了时间进度。
-
简化Brooks的法则:向进度落后的团队增加人手,只会让进度更加落后。
-
非正式途径:电话…会议:常规项目会议工作手册:在项目的开始阶段应该准备正式的项目工作手册。
-
在开发第一个系统时,结构师倾向于精炼和简洁。他知道自己对正在进行的任务不够了解,所以他会仔细谨慎地工作。一种普遍倾向是过分的设计第二个系统,向系统添加很多的修饰功能和想法,他们曾在第一个系统中被小心翼翼地放在次要位置。
-
乐观主义所有的编程人员都是乐观主义者。…“这次她肯定会运行的”“我刚刚找到了最后一个错误”人月第二个谬误是在估计和进度安排中使用的工作单位﹣人月。暗示着时间和人员可以相互替换。
-
首先,苦恼来自追求完美。其次,苦恼来自他人来设定目标、供给资源和提供信息。最后一个苦恼,有时也是一种无奈——当投入了大量辛苦的劳动,产品在即将完成或者终于完成的时候,却已显得陈旧过时。
-
它们挣扎得越猛烈,焦油就纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。表面上看起来好像没有任何一个单独的问题会导致困难,每个问题都能获得解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢。对问题的麻烦程度,每个人似乎都会感到惊讶,并且很难看清问题的本质。不过,如果我们想解决问题,就必须试图先去了解问题。
-
双赢者把生活看作一个合作的舞台,而不是一个角斗场。一般人看事情多用二分法:非强即弱,非胜即败。其实世界之大,人人都有足够的立足空间,他人之得不必就视为自己之失。人际交往的六种模式双赢不是什么技巧,而是人际交往的哲学,是六个交往模式之一,这六个模式分别是:◎利人利己(双赢)◎损人利己(赢/输)◎舍己为人(输/赢)◎两败俱伤(输/输)◎独善其身(赢)◎好聚好散(无交易)“我认输,你赢了。”“就这样吧,

