3.3 CMMI3级——技术解决方案(Technical Solution)

项目工期紧,常常成为很多事情的理由。因为赶时间,拿到需求后,不考虑哪种设计方案更合适,想到什么办法就用什么办法来做,甚至是没有设计可言,直接编码,写设计文档变成了浪费时间的一个事情。

我面试过很多应聘我们公司软件设计师职位的人,不少人进行设计的时候,眼光都放得不够开,不知道可以从很多途径找到可重用的代码,直接自己编码实现数据操作、日志处理、权限认证等事情,结果浪费了时间,而且还不能保证自己的代码是没有问题的。不少可重用的代码都是经过严格测试的,设计架构良好的,可直接使用或者稍加修改则可以为自己所用。

不知道您的工作中,在设计方面是否有这样的一些问题:
1)无设计文档
2)有设计文档,但形同虚设
3)设计时没有考虑可以重用以前项目或者第三方的代码或组件
4)没有用需求来驱动设计
5)设计没有考虑多过一个的方案
6)没有考虑清楚设计的原则和标准
7)设计的弹性不够、架构落后?
8)代码与设计脱节?
9)到处都是面条式代码
......

 

下面我们来看看TS这个PA,能对软件开发带来多大的帮助。

技术解决方案这个PA,主要讲述的是设计、开发、实施方面的问题。在CMM中,对设计、开发、实施方面的要求是比较简单的。

SG1: Product or product-component solutions are selected from alternative solutions.
从候选方案中选择产品或者产品组件的解决方案。这个目标的主要内容就是制定选择的标准,设计候选方案,针对产规格依据选择标准,从候选方案中选出合适的方案。

SP1.1 Develop detailed alternative solutions and selection criteria.
开发详细的候选方案及选择的标准。

SP1.2 Evolve the operational concept,scenarios,and environments to describe the conditions,operating modes,and operating states specific to each product component.
针对每个产品组件描述操作概念、场景、环境、操作模式和操作状态等。

SP 1.3 Select the product-component solutions that best satisfy the criteria established.
选择最符合要求的产品组件设计方案。

SG1讲述的是如何找出最合适的设计方案,我们很多开发人员,做编码之前都不太喜欢认真思考设计方案,迫于时间压力,不仔细考虑设计方案是否合适,就直接开展工作,这样做的风险是非常大的。
SP1.1讲述的是先考虑好我们设计方案的选择标准,并找出可能的候选方案。
SP1.2要求我们对产品的规格进行详细的表述,因为我们的方案是要满足这些规格的,也只有这样,我们才能更好地找出合适的解决方案。
SP1.3讲述的就是根据选择标准选出最佳方案。

有人可能有这样的疑问,有些项目很简单,或者设计方案很明确,没有必要搞什么候选方案和选择标准,直接设计就可以了。设计方案除了针对整个项目的大的设计方案,还包括组成产品的各个组件的设计方案,绝大部分情况下,一个项目肯定会有部分地方技术不太明确需要仔细分析的。另外,不管怎样,都应该根据项目的实际情况,定出这个项目的设计标准,就算只有一个方案,也需要用该设计标准来检验该方案。大部分情况下,认为不需要考虑多个设计方案、不考虑设计标准,都是“懒惰”思想作怪,不做这样的考虑,项目的风险是比较大的。

 

SG2: Product or product-components designs are developed.
开发产品或者产品组件设计。
最佳候选方案确定后,就可以开展具体的设计工作了。

SP2.1 Develop a design for the product or product components.
开发产品或者产品组件的设计。

SP2.2 Establish and maintain a technical data package.
建立和维护技术数据包。这个Practice的字面意思比较难理解,其实意思很简单,就是要建立和维护一套管理所有设计文档、数据的方法或者体制,对设计过程的数据、文档进行有效的管理。

SP2.3 Design comprehensive product-component interfaces in terms of established and maintained criteria.
根据所建立和维护的标准,设计合适的产品组件接口。

SP2.4 Evaluate whether the product components should be developed,purchased,or resued based on established criteria.
根据制定的标准评估哪些产品组件需要开发、购买或者重用。

 

SG3: Product components,and associated support documentation,are implemented from their designs.
实施产品设计并开发相应的支持文档。

SP3.1 Implement the designs of the product components.
实施产品组件的设计,简单地说就是依据设计进行编码活动了。

SP3.2 Develop and maintain the end-use documentation.
开发和维护最终用户文档,如用户手册、安装手册、管理员手册等。

 

 

请看下一文……

 

作者:张传波

创新工场创业课堂(敏捷课程)讲师

软件研发管理资深顾问

CMMI首席专家

《火球——UML大战需求分析》作者

www.umlonline.org创办人


 

你可能感兴趣的:(软件设计,cmmi,过程改进,技术方案,CMMI3级)