这是人月神话:软体专案管理之道(20周年纪念版)的第六章:意念的传达,这一章的开场白:‘他将会坐在这儿,说:“做这个!做那个!”然后什么事都不会发生。’—杜鲁门.《总统的权力》,繁体中文版的有个译注解释这句开场白的由来,简体中文好像没有这个解释,但是如果你去Google还是可以找得到‘More quotes by Harry S. Truman’的一些引用,这是一场总统大选时杜鲁门揶揄艾森豪这个军人当上总统会是怎样,我想很多的台湾的选举,很多竞选人也多会运用这样的批评对头吧!
但是如果把它运用在本章的话,有另外一个诠释了,一个专案经理如何指挥实作人员来落实架构设计的决策呢?ㄚ琪觉得这一章一言以蔽之,应该就是沟通吧,如何做好沟通,以下介绍了一些工具:
书面规格–手册
‘手册载明的是产品的外部(external)规格,用来描述并制定出使用者从外观上将会看到的所有细节,而撰写手册便是架构设计师的主要工作。’
‘架构设计师为了造福实作人员,将修改的程度予以量化(quantize)是很重要的–在时程上应该要有载明日期的版本资讯。’
‘架构设计师应该提出一种实作方式…但不应硬性规定采用特定的实作方式。’
秉持不流于琐碎(not trial)的原则。
正式定义
采用正式标记法(formal notation),这个标记法有优缺点,所以也需另外有个散文式的定义,以便让人看懂,有一些工具,Backus-Naur Form(巴科斯范式,即 BNF)、抽象语法(abstract syntax)、APL(APL语言)以及新型注记法。
避免拿现成的实作来当作正式定义,虽然这样开法比较快,但是后续还是会发生问题。
将定义直接融入实作
开会
这里附上一段简体文的引用:‘
1. 数月内,相同小组——架构设计师、用户和实作人员——每周交流一次。因此,大家对专案相关的内容比较了解,不需要安排额外时间对人员进行培训。
2. 上述小组十分睿智和敏锐,深刻理解所面对的问题,并且与产品密切相关。没有人是“顾问”的角色,每个人都要承担义务。
3. 当问题出现时,在界线的内部和外部同时寻求解决方案。
4. 正式的书面建议集中了注意力,强制了决策的制订,避免了会议草稿纪录方式的不一致。
5. 清晰地授予首席系统架构设计师决策的权力,避免了妥协和拖延。’
总之,开会是必要且重要的,虽然我一直很讨厌开会。
多重实作
电话纪录
还记得以前当兵时候,在安官室站哨最重要的就是电话纪录,我一直很向往这种方式,真的是好啊!
产品测试
有谁认为这不用做的,应该没有人说不用,继续保持!