分享
 
 
 

目标驱动的软件度量(选译)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1 介绍

1.1 目的

这本指导书讲述了如何识别和定义软件度量来支持你们自己组织的商业目标。我们要讲解的这个过程会提供深入对于你们来说最重要的管理的洞察力。这些度量能够追溯到你们的商业目标,因此你们的数据收集活动会更好地集中在他们既定的目标上。

我们把这个过程称之为"目标驱动度量"。在目标驱动度量中,首要的问题不是"我应当运用什么指标?",而是"什么是我想要知道的或要学习的?"[引自R ombach 89]

2 基础

2.1 为什么度量

度量软件过程,产品和资源有四个理由:

为了提取特征 to characterize

为了评价 to evaluate

为了预测 to predict

为了提高 to improve

我们提取特征,来获得对过程,产品,资源和环境的理解;来建立可供未来评估作比较的基线。

2.2 度量元素

通过度量这个过程,数值或象征信号被分配到现实中的实体的属性上,按照清淅定义的规则得到这些属性的特征[Fenton95]。度量要求:

实体(所关心的对象)

属性(实体的特征)

标识属性值的尺度(和计量单位)

总之,属性的分类或数量是我们要度量的东西。

这意味着,在我们开展度量之前,我们必须清淅地识别实体,下文要讲述属性和我们用于标识属性值的计量单位。

Figures 2-1 through 2-3 显示了软件企业产生、使用或管理的实体的例子。

2.3 客观和主观的度量

在一些圈子中有这样一种趋势,认为所有的度量都应当是客观的。我们强烈表示不同意。坚持客观会遗失这一点,就是客观和主观度量经常表述基本的不同需要。而且,实际情况是不客观的,而是主观的,一致,可重复的,最小化度量的错误和噪声。

3 一个识别和定义软件度量的过程模型

本章提供了目标驱动度量模型的概况和实施路径,详细的说明会在第四章。在目标驱动的度量中要强调的是,当收集有助于达到商业目标的信息时,和当保持度量与商业目标一致的跟踪能力时,度量本身的工作量是不能够不清不楚的。

This chapter provides an overview and roadmap for the goal-driven measurement process

that we describe in Chapter 4. The emphasis throughout goal-driven measurement is on

gathering information that helps you achieve your business goals-and on maintaining

traceability from measures back to business goals, so that measurement efforts do not

wander astray.

目标驱动度量过程的结构来自于由Victor Basili and Dieter Rombach [Basili 88, Basili 89, Rombach 89].报告的想法和经验。

这个过程的动力学和几个图解来源于由ami ESPRIT project [ami 92, Pulford 96]开发的度量过程指南。

The structure of the goal-driven measurement process draws extensively on ideas and

experience reported by Victor Basili and Dieter Rombach [Basili 88, Basili 89, Rombach 89].

The process dynamics and several of the illustrations that we use have their origins in

measurement process guidelines developed by the ami ESPRIT project [ami 92, Pulford 96].

The goal-driven measurement process also incorporates experience that we have gained at

the Software Engineering Institute in designing and using checklist-based frameworks for

defining software measures and communicating measurement results [Florac 92, Goethert

92, Park 92, SEI 96].

3.1 总览:概念和过程步骤Overview: The Precepts and the Process Steps

CMU/SEI-96-HB-002 15

目标驱动的度过程基于三个概念,包括10个步骤。

这三个概念是

度量目标是来自于商业目标

由模型来获得度量的环境和焦点

GQ(I)M把非正式的目标变成可操作的度量结构。

GQ(I)M是目标(Goal)问题(Question)(指标)(Indicator)-度量(Measure)的首字母缩写。这个插入的"I"使得这与相近的GQM区别开来。

The goal-driven measurement process is based on 3 precepts, and it consists of 10 steps.

The three precepts are

o Measurement goals are derived from business goals.

o Evolving mental models provide context and focus.

o GQ(I)M1 translates informal goals into executable measurement structures.

十个步骤是:

1, 识别商业目标

2, 识别你要学习或知道的东西

3, 识别你的子目标

4, 识别与子目标相关的实体和属性

5, 公式化你的度量目标

6, 识别量化的问题和相关的指标,这些会用于实现你的度量目标

7, 识别用于获得指标的要收集的数据元素,这些个指标是可以帮助你回答上述问题

8, 定义度量的使用,使得这些定义具有可操作性

9, 识别你使用度量的行动

10, 准备一个计划来实施度量

The 10 steps are

1. Identify your business goals.

1 GQ(I)M is an acronym for goal-question-(indicator)-measure. The "I" in parentheses distinguishes

this from the closely related GQM methodology introduced and described by Basili and Rombach

[Basili 88, Basili 89, Rombach 89]. Our use of GQ(I)M is described in Sections 4.5-4.8.

2. Identify what you want to know or learn.

3. Identify your subgoals.

4. Identify the entities and attributes related to your subgoals.

5. Formalize your measurement goals.

6. Identify quantifiable questions and the related indicators that you will use to

help you achieve your measurement goals.

7. Identify the data elements that you will collect to construct the indicators

that help answer your questions.

8. Define the measures to be used, and make these definitions operational.

9. Identify the actions that you will take to implement the measures.

10. Prepare a plan for implementing the measures.

4 实施目标驱动过程

4.1 识别你们的商业目标

4.2 识别你要学习或知道的东西

A prudent question is one-half of wisdom.

- Francis Bacon

一个明确的问题就是一半的智慧

-------培根

识别了商业目标之后,下一步就是开始识别你为了理解,评估,预测或提高与你目标相关的活动,想知道什么。通过提出类似这样的问题:"什么活动我要管理或执行?","我要实现什么,提高什么",并完成这样的描述"为了做这个,我需要做…"。

With your business goals identified, the next step is to begin identifying what you would like

to know in order to understand, assess, predict, or improve the activities related to achieving

your goals. By asking questions such as

"What activities do I manage or execute?"

and

"What do I want to achieve or improve?"

and by completing statements such as

"To do this, I will need to…",

你能够开发识别你可能需要的量化的信息。你应当几次重复这些问题,把顶级的目标分解到具体的事情和条目上,这些事情是你想要完成的,这些条目是你要表达阐述的。

you can begin identifying the quantitative information that you would like to have. You

should repeat these questions several times as you break top-level goals down into specific

things that you want to accomplish and issues that you will need to address. The ellipse in

Figure 4-4 highlights this part of the process and shows how it draws upon your mental

model of the processes you manage.

Scenario

4.2.1 场景

我们在这份材料中使用几个例子,来显示给你实体,属情和涉及的概念模型是如何来帮助指导和关注目标驱动的过程。为了后续的例子,我们提供了如下的场景:

你的组织刚刚完成了一次软件过程评估。

其中的一个发现是你们的项目能够准时的发布软件功能和文档,但是客户并不象你想象中的那样满意。

相关的行动是提高客户满意度。

你的过程改进小组已经识别了这个行动为它们首要的目标。

你是一个项目经理,你需要一系列的度量来帮助你的项目向这个目标前进。

We use several examples in the materials that follow to show you how entities, attributes,

and evolving mental models help guide and focus the goal-driven process. To give

substance to these examples, we offer the scenario shown in Figure 4-5.

Scenario

o Your organization has just completed a software process

assessment.

o One of the findings was that your projects are delivering

software functions and documentation on time, but

customers are not as satisfied as you would like them to be.

o The related action item is: Improve customer satisfaction.

o Your process improvement team has identified this action

item as one of its primary goals.

o You are a project manager, and you need a set of measures

that will help your project make progress toward this goal.

Figure 4-5: Scenario

4.2.2 实体问题列表

我们推荐的用于识别和构勒问题的工具被称为"一个实体问题列表"

使用这个工具的一个例子就在ami Handbook中有相似的阐述。任务排列如下:

1. 从一个在第一步中发现顶级目标开始

2. 识别你的小组要涉及的人或小组,这可能是你或你的组织的领导。这个定义了你的处景以及你和你的小组所扮演的角色,这会在任务3到任务6中以及下面的目标驱动过程步骤中用到。

3. 建立一个你这个角色的相关过程草图(概念模型),当你做这个,应当由你想要实现的,和你要表达的条目来指导你。

28 CMU/SEI-96-HB-002

The Entity-Question List-A Template for Framing Questions

The tool we recommend to help identify and frame questions is called an entity-question list.

Our example of the use of this tool is patterned after a similar illustration in the ami

handbook [ami 92]. The sequence of tasks is as follows:

1. Start with one of the top-level goals that your team identified in Step 1.

2. Identify the persons or groups whose concerns your team will address.

(This may be you or the organization you lead.) This defines your

perspective and the roles that you and the team will assume in Tasks 3

through 6 here and in the remaining steps of the goal-driven measurement

process.

3. Create rough sketches (mental models) of the relevant processes that you,

in your role, manage or affect. As you do this, be guided by what you want

to achieve and the issues you will have to address to achieve it.

4. 列出受你或你的角色管理或影响的重要的事物(实体),确认你对每个事物表述了下列过程实体的四个方面:

输入和资源

产品和副产品

中间工件,例如过程目录和工作

活动和流程

5. 对每个实体,列出问题,如果回答了,这些问题会帮助你或你的角色向着你的目标来计划和管理过程。例如:

它有多大?

多少?

有多个个组件?

它有多快?

它持续多久?

它值多少钱?

4. List the important things (entities) in your processes that you, in your role,

manage or influence. Make sure that you address each of the four kinds of

process entities below:

- inputs and resources

- products and by-products

- internal artifacts such as inventory and work in process

- activities and flowpaths

You may also want to list some of the environmental entities outside your

processes that affect your work.

5. For each entity, list questions that, if answered, would help you, in your

role, plan and manage progress toward your goals. For example:

- How big is it?

- How much is there?

- How many components?

- How fast is it?

- How long does it take?

- How much does it cost?

6. 然后回顾一下,总体看看你的过程是否你遗漏了什么,通过询问如下问题:

这个过程稳定吗?

运行的如何?

什么限制了我们的能力?

什么决定了我们的能力?

什么是决定性的成功因素?

什么东西我们能够控制?

我们的客户想要什么?

什么限制了我们的性能?

什么可能引起错误?

什么可能是早期的警告信号?

我们的订货有多少?

订货在哪里发生?

最重要的

我们要如何才能知道?

你可能发现其它的实体,它的属性也值得度量。

6. Then step back and look at your process as a whole to see if you have

missed anything. By asking questions such as

- Is the process stable?

- How is it performing now?

- What limits our capability?

- What determines quality?

- What determines success?

- What things can we control?

- What do our customers want?

- What limits our performance?

- What could go wrong?

- What might signal early warnings?

- How big is our backlog?

- Where is backlog occurring?

and most importantly

- How will we know?

you may discover additional entities whose properties may be worth

measuring.

7. 为了你的其它的目标,重复1~6

7. Repeat Tasks 1-6 for your other goals.

当把与实体相关的问题列出,不必花费更多的时间来试图寻找构勒出完美的问题,进行问题构勒是下一步的事。这时的问题应是很通用的或描述性的。

When listing questions related to entities (Task 5 above), do not spend excessive time trying

to frame the perfect question. Precise framing of questions will come later-you are still early in the goal-driven process. Your questions at this point can be either very general or quite specific.

最重要的是把你所关心的放到这张表中去,你可以利用它们来提练你的模型,因此他们能够形成这个阶段,为了第三步--识别和明确子目标。注意第二步中任务7并没有在任务5,6后立即执行。

The important thing is to get your concerns on the table so that you can use

them to help elaborate your mental model, and so that they can set the stage for identifying

and articulating subgoals in Step 3 of the goal-driven process (Figure 3-1).

Note that Task 7 of Step 2 does not have to be performed immediately after Tasks 5 and 6.

Usually it is best to continue on through Step 7 of the goal-driven measurement process, to

the point where you have clearly identified the data elements that address one or two of your

business goals, before branching off on additional goals. This helps keep the goal-driven

process manageable. Ultimately, though, you will want to give priority to measures that

address more than one goal. This is especially true when you begin to reduce the large set

of potential measures to the ones that are most valuable to you. There are no universal

guidelines for when to address additional goals-it all depends on the situation. You and

your team will have to judge this for yourselves.

Examples

例子

4-6到4-9是场景例子所关心的实体和问题列表。

Figures 4-6 through 4-9 on the following pages list some of the entities and questions that

might concern the project manager in our example scenario when he or she is trying to

improve customer satisfaction. Your lists for your own organizations or projects will likely be

more encompassing.

4.3 识别你的子目标

4.3.1 把相关问题放在一组中,有利于识别子目标

第三步就是把你的顶级目标分解为子目标,这个子目标与你管理或执行的活动有关系。

问题会提升,当考虑你的操作过程的模型,无论是明确的还是不明确的,与实体和属性结合,来达到2你的目标。你现在要识别与实体相关的问题,然后给他们分组,你能够把结果转化成可管理的子目标。

Grouping Related Questions Helps Identify Subgoals

The third step in the goal-driven process is to translate your top-level goals into subgoals

that relate specifically to activities that you manage or perform. You can use the entityquestion

lists from Exercise 2 to help you do this.

The ellipse in Figure 4-11 shows where we are in the process. The questions that were

prompted by the evolving mental model of your operational process(es) point, either

implicitly or explicitly, to entities and attributes associated with achieving your goals. You

now need to identify the questions that you have about the entities, then group them and

identify the issues they address. You will then be able to translate the results into

manageable subgoals. (If you are familiar with team-based problem-solving processes, you

will recognize this as a convergent step that organizes and structures the results of the

divergent process we used to generate the entity-question lists.)

Examples

Figure 4-12 shows some results for our example scenario. Here, the groupings are easily

identified. For example, the first four questions listed for products and by-products address

documentation. This issue is grouped already, since we generated the questions by

focusing on the document entities we produce.

As we scan down the entity-question list, we see that the next five questions relate to the

quality and performance of the software product. This concern continues in Figures 4-13

and 4-14. Since this seems to be a consistent theme, we elect to collect these questions as

group #2.

As we continue identifying principal themes or issues, we collect the questions related to

each issue and transfer them to a new list, sorted by issue. Figure 4-15 shows the results

for our scenario. Keep in mind that the groupings will always be somewhat arbitrary, since

they are based on the team's perceptions of central themes. Moreover, it is perfectly

appropriate for a question to be repeated in more than one grouping.

CMU/SEI-96-HB-002 37

The groupings of issues and questions then translate naturally into candidate subgoals,

which can be prioritized. The results for our scenario are illustrated in Figure 4-16. In the

real world, you would want to validate these subgoals with your customer(s) to ensure that

you are addressing their true concerns. This would also help you assign priorities to your

subgoals.

Derived Subgoals

Subgoal #1 Improve readability and traceability of documents.

Subgoal #2 Improve reliability and performance of released code.

Subgoal #3 Improve monitoring of plans and budgets.

Subgoal #4 Improve performance of the change management process.

Subgoal #5 Improve communications with the customer.

Figure 4-16: Derived Subgoals-A Project Manager's Perspective of the Goal "Improve Customer Satisfaction"

The issues in the training scenario we have been using have mapped nicely, one-to-one,

into subgoals. This will not always happen in real life. In your work, you may find several

issues mapping into a single subgoal, or single issues mapping into several subgoals.

There is nothing wrong with this-formal decomposition of business goals is not what we are

after. The point is simply to arrive at rational subgoals that

o can be addressed by managerial or technical actions

o point us toward focused measurement goals

If your list of groupings is long and you perceive it leading to many measures, your teams

may want to assign priorities to the issues and sort them into rough priority order. This will

help them focus on first things first in the steps that follow.

4.4 识别与子目标相关的实体和属性

4.5 公式化你的度量目标

4.6 识别量化的问题和相关的指标,这些会用于实现你的度量目标

4.7 识别用于获得指标的要收集的数据元素,这些个指标是可以帮助你回答上述问题

4.8 定义度量的使用,使得这些定义具有可操作性

4.9 识别你使用度量的行动

4.10 准备一个计划来实施度量

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有