|
刚刚接触CMMI的人在研究Requirement Management这个PA的时候,对SP 1.4 Maintain Bidirectional Traceability of Requirements可能会比较疑惑,足以让国内大多数的没有真正软件工程开发管理的软件工程师,开发管理者不知所云了。
所谓的&ldquoTraceability of Requirements&rdquo即&ldquo需求跟踪矩阵(Requirements Traceability Matrix)&rdquo,用比较通俗的话来说,就是不要将需求遗漏了,虽然听来简单,但是真正能够实施此活动的并不多,通常来做的多为&ldquo纵向跟踪(Vertical traceability)&rdquo,也即生命周期内的跟踪,再说的明白一点就是沿着&ldquo用户需求――软件需求――概要设计――详细设计――编码实现――单元测试――集成测试――集成测试――系统测试――验收测试&rdquo进行需求的跟踪。
What is bidirectional traceability?
In the Requirements Management (REQM) process area, specific practice 1.4 states, ?Maintain bidirectional traceability among the requirements and the project plans and work products.? Bidirectional traceability primarily applies to vertical traceability and at a minimum needs to be implemented both forward and backward (i.e., from requirements to end products and from end product back to requirements).
Vertical traceability identifies the origin of items (e.g., customer needs) and follows these same items as they travel through the hierarchy of the Work Breakdown Structure to the project teams and eventually to the customer. When the requirements are managed well, traceability can be established from the source requirement to its lower level requirements and from the lower level requirements back to their source. Such bidirectional traceability helps determine that all source requirements have been completely addressed and that all lower level requirements can be traced to a valid source.
Horizontal traceability is also important and is mentioned in subpractice 3, but it is not required to satisfy bidirectional traceability. Horizontal traceability identifies the relationships among related items across work groups or product components for the purpose of avoiding potential conflicts. It enables the project to anticipate potential problems (and mitigate or solve them) before integration testing. For example, horizontal traceability would follow related requirements across two work groups working on two associated components of a product. The traceability across these two work groups enables the work groups to see when and how a change in a requirement for one of the components may affect the other component. Thus, horizontal traceability enables the project to anticipate potential problems (and mitigate or solve them) before integration testing.
纵向跟踪是最普遍的一种跟踪方式,也是CMMI进行SCAMPI最低要求。即针对此PA,或者说这个SP,做到纵向跟踪后,一般的主任评估师就认为已经满足条件了,可以打及格分数了。
CMMI V1.1版本中的要求是:RM SP 1.4 Maintain Bi-directional Traceability of Requirements.
其具体要求是:Maintain bi-directional traceability among the requirements and the project plans and work products.
CMMI V1.2版本中的要求是:RM SP 1.4 Maintain Bi-directional Traceability of Requirements.
其具体要求是:Maintain bidirectional traceability among the requirements and work products.
大家从描述上就能看到区别了。
《CMMI® Version 1.2 and Beyond》中的描述如下:
v1.2 SP 1.4 practice statement now reads, &ldquoMaintain bidirectional traceability among the requirements and work products.&rdquoProject plans are no longer mentioned in this SP statement.
Bidirectional Traceability description is improved in the notes and Glossary.
这个也证明了SEI发现了此SP的描述或者要求和实际的有出入,难以执行;但是为什么呢?
其实大家在google上搜索一下关键字&ldquobidirectional traceability &rdquo就会发现很多的资料在解释&ldquobidirectional traceability &rdquo,即所谓的&ldquoVertical
traceability &rdquo和&ldquoHorizontal traceability &rdquo时,概念并不统一,而且对于&ldquoVertical
traceability &rdquo和&ldquoHorizontal traceability &rdquo的概念解释甚至是相反的。
话说了这么多,其实归根到底的原因是:什么是&ldquo横向跟踪&rdquo(Horizontal traceability )?
SEI的Tim Kasse(CMMI模型制定者之一)在其著作《Practical Insight into CMMI》中曾经对&ldquo横向跟踪&rdquo(Horizontal traceability )进行了如下解释:
Horizontal traceability refers to the traceability from the requirements to the associated plans such as the project plan, quality assurance plan, Configuration Management plan, risk management plan, and so forth.
即横向跟踪是需求到计划的跟踪。 |
|