撰文:Owocki
第一条:盖尔定律 (Gall’s Law)
盖尔定律指出,一个有效的复杂系统总是从有效的简单系统演变而来。( 而非一开始就是一个庞杂且有效性未知的系统 )。如何使用此定律:在设计最小可行产品时利用它。
第二条:帕累托原则 (The Pareto Principle)
帕累托原则 ( 或八二定律 ) 认为,大约 80% 的有效结果来自 20% 的关键努力。如何使用此定律:在设计最小可行产品时利用它。
第三条:帕金森定律 (Parkinson’s Law)
帕金森定律指出,工作的延展是为了填补完成工作的时间或预算。如何使用这条定律:用它来设定足够远的最后期限(但不要太远)。
第四条:古德哈特定律 (Goodhart’s Law)
古德哈特定律指出,当度量成为目标,它就不再是一个好的度量。如何使用这条定律:在构建旨在完成困难任务的系统(如公共产品募资或抵制虚假身份)时,坚决遵守这条定律。
第五条:布鲁克斯定律 (Brooks’ Law)
在 Fred Brooks 在其著作《The Mythical Man-Month》中指出,为延期的软件项目增加人力会使延期更为严重。如何使用这条定律:保持较小的团队规模。
第六条:摩尔定律 (Moore’s Law)
摩尔定律是英特尔联合创始人戈登·摩尔(Gordon Moore)在 1965 年提出的一项观察,即芯片上的晶体管数量大约每两年翻一番,但其成本反而减半。如何使用这个定律:我们都在有机地驾驭摩尔定律的浪潮。这是在科技领域创造巨额回报的一部分!
第七条:梅特卡夫定律 (Metcalfe’s Law)
梅特卡夫定律认为,电信网络的价值与系统连接用户数的平方成正比(n^2)。如何使用这个定律:为指数级价值创造而构建!
第八条:邓巴数 (Dunbar’s Number)
邓巴数表明,可以与之保持稳定社会关系的人数存在认知极限。如何使用此定律:除非另有必要,否则保持较小的团队规模!如果需要扩展团队,请注意每个级别的最佳信任模式。
第九条:Unix 哲学 (The Unix Philosophy)
Unix 的理念是:1) 让每个程序做好一件事,2) 让每个程序的输出成为另一个程序的输入,3) 编写程序让其协同工作。如何使用此定律:构建模块化软件!
第十条:康威定律 (Conway’s Law)
康威定律认为,组织设计的系统会反映出其自身的通信结构。如何使用此定律:使用类似于软件开发的方式设计你的组织。请注意,整体结构不能扩展!