本章的内容相当繁杂,涉及社群软件开发过程中的方方面面(除了架构设计)。和本书中的其他章一样,都是在反思中感悟,在批判中立论。对于程序员来说,我推荐他们阅读前两节,对于管理者来说,我推荐他们阅读后三节。 在这一章中,我们充分关注了以人为本的思想。我们希望软件生产的参与者是简单的、快乐的、积极的、负责的。为了做到这些,我们还需要制度和文化。软件生产是一项系统工程,这需要我们不断完善自己的思想体系。机械地运用某些技术方案是无法真正解决问题的。
社群软件开发实现的实践场景两周后。当林峰正在和王蓉讨论问题时,李小兵走了过来。“快下班了,什么时候走?”李小兵打断了他们的谈话。今天是周末,他和林峰约好了几个同事晚上到阳天KTV去Happy的。“快了。下班就走吧。”林峰头也没回地说。“在忙什么呢?看你们讨论了一下午。”李小兵没有要离开的意思,他坐到了林峰的身边,看了看电脑屏幕。“结对开发,呵呵。”林峰笑道:“Ralph说,要把我们的数据模型和ACORD标准之间做个映射。”李小兵看了看林峰,又看了看王蓉,有点纳闷地说:“你们也可以结对?”“照Ralph的说法,两个人一起做事就是结对。”“Ralph说,我看你已经被洗过脑了,哈哈。”李小兵打趣道。“喂,等我们讨论完了,你们再聊好不好。”王蓉有点不耐烦了。
李小兵扭身跑掉了。孔如之做了一个大胆的决定。在TFC项目中,将使用ACORD标准作为领域模型。这意味着,核心系统的数据模型被抛弃了。而为了继续使用核心系统提供的各项功能,必须在这两个模型间做一个映射。孔如之和林峰做了大量的沟通。起初在林峰看来,这件事是多此一举,不但增加了工作量,而且降低了程序的性能。另外,这是一件枯燥乏味的事情,要了解两个模型的业务含义,还要考虑业务含义上的差异。林峰对此一点兴趣也没有。“核心系统的数据模型不能满足TFC项目的要求,所以将来的变化会很频繁。”孔如之是这样解释的:“相比而言,ACORD是一个标准,它已经经过了很多领域专家和实践的检验。这是其一。
社群软件开发标准的领域问题抽象比核心系统的数据模型更加灵活和全面,标准本身也提供了扩展能力。这是其二。我们在ACORD标准上的努力更有可能成为有价值的知识积累。这是其三。最后,管理软件开发标准总是更有利于我们进行数据交换,无论是企业内部还是企业之间。”