隐喻就如同小分队交接的暗号,只有同一阵营中的成员才能明白隐喻指代的是什么。在电影《智取威虎山》中,解放军杨子荣就利用土匪间通用的黑话彻底打消了几个匪徒的怀疑,顺利地混入土匪老巢,最终活捉匪首“座山雕”。

敏捷宣言合著者——Bob大叔就曾分享过这样一个例子:
20世纪70年代初期,他开发了一个分时系统,这个系统可以在有限的内存空间中置换应用程序。当某个应用程序占据内存时,它会把文本加载到缓冲区,里面是要发送到慢速传电打字机的内容。缓冲区满了之后,应用程序将进入休眠状态,并将被置换出来的内存保存在磁盘上,同时缓冲区也被慢慢地清空。Bob的团队将这些缓冲区比喻为垃圾卡车,其在垃圾制造者和垃圾场之间来回穿梭。团队在开发过程中都在用“垃圾”的隐喻,并将客户称为垃圾商人。

因此,一个合格的隐喻不仅需要清楚地描述开发过程,还要遵循以下内容:
- 一个隐喻只涉及一种过程
- 隐喻要得到特定范围内的所有人认可
- 隐喻要与对象有高度相似性
- 隐喻要解决问题而不是产生更多问题
- 隐喻能够为设计提供清晰的指导
总之,隐喻不像算法那样是可预测的、确定的、不可变化的,相反,隐喻具有随意性。同样,系统隐喻不是银弹,因此,在具体实践中不仅需要用形象的隐喻来描述系统或功能模块是怎样工作的,还需要根据不同的实际情况来更新隐喻,以帮助所有相关人员都能清楚地理解要完成的主要需求、要开发的系统功能以及开发的总体流程。