## 软件估算的幻觉 软件行业运作于一种“礼貌的虚构”之上——相信只要付出足够努力,就能实现准确的项目估算。然而,经验丰富的工程师知道这从根本上是错误的。由于大多数项目固有的未知数,准确估算软件几乎是不可能的,研究和探索往往超过可预测的任务。 估算并非驱动计划,而是*定义*工作。团队通常会收到一个目标时间框架,然后确定在这些约束条件下*哪些*功能是可行的,而不是估算预定义功能所需的时间。估算主要是一种政治工具,供管理层用于优先排序和资助项目,而非工程的准确预测。 优秀的工程师通过理解政治背景、专注于识别和评估风险(未知数),以及向管理者提供*选项*——不同风险和可行性水平的方法,并与所需时间框架保持一致——来应对这种现实。 最终,作者认为,试图进行精确估算往往适得其反。信任和务实的风险评估比追求不可能的准确性更有价值。认识到估算的真正目的,可以让工程师*与*管理层合作,而不是对抗他们,并在不确定性面前交付价值。
流行的#FOSS口号“直接fork它”——意味着基于现有代码创建新项目——常常具有误导性。虽然在技术上令人赋权,但它忽略了成功的开源项目至关重要的*社会*因素。复制代码很容易;建立一个繁荣的社区,拥有用户、信任、治理和持续维护却极其困难。
“直接fork它”常常鼓励回避现有项目中的困难对话和问题解决,导致碎片化、重复劳动,并最终导致项目失败。大多数fork失败并非由于糟糕的代码,而是由于不可持续的社会动态。
真正的赋权不是逃避问题,而是*管理责任*——参与冲突解决,为共享基础设施做出贡献,并抵制在遇到第一个问题时就放弃项目的冲动。虽然fork作为最后的手段有其用处,但不应成为默认响应。开放文化应优先考虑协作改进而非无休止的重新发明,认识到持久的变革来自于持续的、常常不引人注目的社会工作。