第一个主题软件产品开发和设计。
首先软件产品是一种商品。多数情况下我定义其为非针对特定个体,也就是多数情况下我更多的是在说产品而非项目。当然很多情况下产品和项目是很类似的,当我确定其内容只是与产品相关,我将明确加以提示。
第一部分是要建立一个系统,用以衡量你的方式和方法。然后是梗概的介绍全局的情况。随后阐述应该使用一种结构化的方法来进行工作,并说明结构化方法的优势。
第二部分将首先介绍此种结构化方法中是由工作流与其操作者安装某种逻辑顺序构造而成的。所谓工作流就是某种有输入和输出的过程,而操作者则为具备某种能力的角色。
然后我们会具体的介绍各个工作流的内容,以及其对输入和输出的要求。然后结合第一部分提出的判别系统,解释应该如何判别这个工作流的成效。
随后分析各个角色所具备的特征,并且分析这些角色可以由何种人员担任,以及一个人担当多种角色时候的组合方式。然后结合第一部分的系统对这些人员进行逻辑定义。
将前面的工作流和角色进行组合,从而形成一个顺序化的流程,并且给出流程控制的合理方法。
随后将上面的流程按照里程碑进行阶段划分,并且给出衔接的原则与过渡的方法。
接着对各个阶段进行角色和工作流的进一步分析,并且指出重点和可能遇到的问题以及权衡的原则。
最后是总体回顾这个结构化方法,并且将在前面所阐明过的分散在各处的原则行内容进行归纳总结。
第二个主题是关于软件开发管理过程方面的。
其实这个方面的书籍和文章已经很多了,而我不认为我能比别人在这个方面论述的更好。因此我将采取另外的方式和角度来解释问题,并且提出一些独立与方法论的原则或者叫构造方法论的时候应该明确的世界观问题。
首先我将强调可见性的重要。明确的,可以被观察的,可以被认识理解的内容,才可能被充分的交流。而很多误解无疑是由于可见性太低从而造成人们认识的分歧。并且可见性在不同的人标准是不同的,达成一个平衡且成本合理的共识需要加以讨论。
对软件开发中的各个指标的可见性进行各自的分析,并且在其中解释几种方法论的各自做法,以及各自的优势和缺点。首先可以从进度这个元素开始。然后依次展开其他元素的讨论。
最终是总结在各个元素的讨论中,所涉及的原则的整体论述。