Estimation and Measurement wiki http://open-services.net/wiki/estimation-and-measurement Latest changes for the OSLC Estimation and Measurement wiki en webmaster@open-services.net webmaster@open-services.net (Lee Reamsnyder) Copyright 2018 Mon, 16 Jul 2018 17:27:55 EDT <![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1421867067 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms has been moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary has been indicated using the property vs:term_status with the value stable as defined by the W3C Term-centric Semantic Web Vocabulary Annotations specification. That specification emerged from the FOAF project.

The following terms will be finalized:

]]>
Wed, 21 Jan 2015 14:04 EST
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1421867011 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms has been moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary has been indicated using the property vs:term_status with the value stable as defined by the W3C Term-centric Semantic Web Vocabulary Annotations specification. That specification emerged from the FOAF project.

The following terms will be finalized:

]]>
Wed, 21 Jan 2015 14:03 EST
<![CDATA[PromcodeVocabulary]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/PromcodeVocabulary/ http://open-services.net/wiki/estimation-and-measurement/PromcodeVocabulary/#When:1402425134 OASIS OSLC Lifecycle Integration for Project Management of Contracted Delivery (OSLC PROMCODE) Vocabulary

Licensed Materials (See https://www.oasis-open.org/policies-guidelines/ipr) - Property of OASIS.
Copyright OASIS 2014. All Rights Reserved.

The namespace URI for this vocabulary is:

http://open-services.net/ns/promcode#

This page lists the RDF classes, properties, and individuals that make up the OSLC PROMCODE vocabulary. Following W3C best practices, this information is available as HTML (this page) and as RDF.

Details about how this page was generated, and other related material, can be found in the wiki article Publishing RDF Vocabularies on jazz.net.

Description:

The OSLC PROMCODE vocabulary defines scope items, work items, artifacts, issues and other related project management concepts that arise in contracted delivery projects. In contracted delivery, an acquirer specifies work to be performed by a supplier. This is a DRAFT vocabulary. It is under review by the OASIS OSLC PROMCODE Technical Committee.

Prefixes used in this document:

PrefixURI
foaf:http://xmlns.com/foaf/0.1/
promcode:http://open-services.net/ns/promcode#

Classes defined by this vocabulary:

Artifact, Issue, ManagedItem, Measure, Measurement, ScopeItem, WorkItem

Properties defined by this vocabulary:

actualEndDate, actualSize, actualStartDate, actualValue, composedBy, date, measures, observes, phase, plannedEndDate, plannedSize, plannedStartDate, plannedValue, producedBy, relates, representedBy, requiredBy

actualSize

promcode:actualSize is an RDF property.

actualSize is a measurement of the actual size of a scope item. Note that there is no way to specify the unit of measure used for size. This property should be replaced by a term from the OSLC Estimation and Measurement Service vocabulary.

Has domain:

actualValue

promcode:actualValue is an RDF property.

actualValue is a property of measure resources. It is the actual value of a measurement.

Has domain:

Artifact

promcode:Artifact is an RDF class.

An artifact is a work product that is produced in a project. An artifact may be physical or digital.

Is subclass of:
Is domain of:
Is range of:

composedBy

promcode:composedBy is an RDF property.

composedBy is a relation between managed items of the same type. It expresses a composition relation between the subject and object. The subject is part of the object. For example, a child work item is composed by its parent work. This property is used to link managed items to each other. Note that this property is closely related to dcterms:isPartOf. It should be regarded as a subproperty of dcterms:isPartOf.

Has domain:

date

promcode:date is an RDF property.

date is a property of measurements. It is the date on which the measurement was made.

Has domain:

Issue

promcode:Issue is an RDF class.

An issue is a situation that must be resolved in order to meet the objectives of a project. Failure to resolve the situation may result in negative consequences for the project, such as a schedule delay.

Is subclass of:
Is domain of:

ManagedItem

promcode:ManagedItem is an RDF class.

A managed item is a scope item, work item, artifact, issue, or some other entity that is part of a project. Managed item resources use dcterms:type to specify concrete subclasses. This practice is deprecated in OSLC Core 3.0.

Is domain of:

Measure

promcode:Measure is an RDF class.

A measure is an observation of some measurable aspect of an artifact. A measure consists of planned and actual values. The rate of progress in developing an artifact is assessed by comparing the actual value to the planned value. Note that measure resources use dcterms:type to specify what is being measured. This practice is deprecated in OSLC Core 3.0. This class is related to similar classes in the OSLC EMS vocabulary which should be used instead.

Is range of:

Measurement

promcode:Measurement is an RDF class.

A measurement measures some aspect of an artifact at some point in time. This class is related to similar classes in the OSLC EMS vocabulary which should be used instead.

measures

promcode:measures is an RDF property.

measures is a relation between measurements and artifacts. A measurement measures an artifact. Note that this property is related to similar properties in the OSLC EMS specification which should by used instead.

Has domain:
Has range:

observes

promcode:observes is an RDF property.

observes is a relation bewteen measurements and measures. A measurement observes a measure. Note that is property is related to similar properties in the OSLC EMS specification which should by used instead.

Has domain:
Has range:

phase

promcode:phase is an RDF property.

phase is an optional property of work items. Its value is a literal string that names the phase of the project. Typical phase names include Analysis, Design, and Implementation. Note that it is better to represent identify phases as resources. The OSLC EMS vocabulary defines some common phases.

Has domain:

plannedSize

promcode:plannedSize is an RDF property.

plannedSize is an estimate of the planned size of a scope item. Note that there is no way to specify the unit of measure used for size. This property should be replaced by a term from the OSLC Estimation and Measurement Service vocabulary.

Has domain:

plannedValue

promcode:plannedValue is an RDF property.

plannedValue is a property of measure resources. It is the planned value of a measurement.

Has domain:

producedBy

promcode:producedBy is an RDF property.

producedBy is a relation between artifacts and scope items or work items. Artifacts are produced in the course of implementing scope and work items.

Has domain:

relates

promcode:relates is an RDF property.

relates is a relation between issues and managed items. An issue may relate one or more managed items. Note that that property is closely related to dcterms:relation and should be regarded as a subproperty of it.

Has domain:

representedBy

promcode:representedBy is an RDF property.

representedBy is a relation between work items and people. A work item may be represented by a person who acts as the contact for the work item. This person is responsible for the progress of this work item. This person may or may not actually do the required work.

Has domain:
Has range:

requiredBy

promcode:requiredBy is an RDF property.

requiredBy is a relation between work items and managed items. A work item may be required by a scope item or an artifact.

Has domain:

ScopeItem

promcode:ScopeItem is an RDF class.

A scope item defines the work to be included in or excluded from a project. It defines the boundaries of the project.

Is subclass of:

WorkItem

promcode:WorkItem is an RDF class.

A work item describes work to be performed in a project delivery contract. It adds detail to the description of work that is described by a scope item. These details typically include cost, schedule, and resource requirements. The set of all work items in a project form a work breakdown structure.

Is subclass of:
]]>
Tue, 10 Jun 2014 14:32 EDT
<![CDATA[OSLC Estimation and Measurement Vocabulary]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/OSLC-Estimation-and-Measurement-Vocabulary/ http://open-services.net/wiki/estimation-and-measurement/OSLC-Estimation-and-Measurement-Vocabulary/#When:1402424959

OSLC Estimation and Measurement Service (EMS) Vocabulary

The namespace URI for this vocabulary is:

http://open-services.net/ns/ems#

This vocabulary defines estimation and measurement resources and a service for managing them in projects. Some terms of this vocabulary have been finalized for use by OSLC Performance Monitoring 2.0.

Label: OSLC EMS Vocabulary

This document lists the RDF classes, properties, and individuals that are defined by this vocabulary. Following W3C best practices, this vocabulary is available as HTML (this document) and as RDF source.

More details about how this page was generated, and other related material, can be found in OSLC Core URI Naming Guidance.

Individuals defined by this vocabulary(0):

None.

assumes

ems:assumes is an RDF property.

This property links a scenario to the assumed value for some measure, e.g. duration, size. The assumed value is a probability distribution.

Status: testing

Label: assumes

Type: rdf:Property

Has domain:

assumesTable

ems:assumesTable is an RDF property.

This property links a scenario to the assumed value for some fact table of measures, e.g. staffing by week. The assumed fact table contains probability distributions.

Status: testing

Label: assumesTable

Type: rdf:Property

Has domain:

assumesWbs

ems:assumesWbs is an RDF property.

This property links a scenario to the assumed work breakdown structure.

Status: testing

Label: assumesWbs

Type: rdf:Property

Has domain:

Baseline

ems:Baseline is an RDF class.

A baseline is a set of estimates, based on some scenario, that are used to track the performance of a project.

Status: testing

Label: Baseline

Type: rdfs:Class

BaselineList

ems:BaselineList is an RDF class.

A baseline list is a container for baseline resources.

Status: testing

Label: BaselineList

Type: rdfs:Class

Is domain of:

Is range of:

baselineList

ems:baselineList is an RDF property.

This property links a service to its baseline list.

Status: testing

Label: baselineList

Type: rdf:Property

Has domain:

Has range:

CdfPoint

ems:CdfPoint is an RDF class.

This class describes a point on the graph of a cumulative probability function. The cumulative probability at a point is given by ems:probability. The cumulative probability MUST be greater than 0 and less than 1. The measurement value is given by ems:numericValue.

The probability that a measurement gives a value less than or equal to the numeric value is equal to the cumulative probability.

Status: testing

Label: CdfPoint

Type: rdfs:Class

Is range of:

cdfPoint

ems:cdfPoint is an RDF property.

This property links a cumulative probability function resource to one or more points on its graph.

Status: testing

Label: cdfPoint

Type: rdf:Property

Has range:

CumulativeDistributionFunction

ems:CumulativeDistributionFunction is an RDF class.

A cumulative distribution function (cdf) is a probabilty distribution defined by giving the cumulative probability at an increasing sequence of measurement values. The range of possible measurement values may be unbounded. If a lower bound exists, it is given by ems:low. If an upper bound exists, it is given by ems:high.

The graph of the cumulative distribution function is given by a set of measurement values at an increasing sequence of cumulative probabilities between 0 and 1. The cumulative probability values are given by one or more ems:cdfPoint properties.

Status: testing

Label: CumulativeDistributionFunction

Type: rdfs:Class

Is subclass of:

Is domain of:

currentBaseline

ems:currentBaseline is an RDF property.

This property links a project to its current baseline.

Status: testing

Label: currentBaseline

Type: rdf:Property

Has domain:

Has range:

Dimension

ems:Dimension is an RDF class.

A dimension is some aspect of an aggregated quantity which lets the aggregate be analyzed. For example, the total effort expended in a project can be analyzed by week or month. Therefore time (dimension:Time) is a dimension of effort (metric:Effort).

Status: testing

Label: Dimension

Type: rdfs:Class

Is range of:

dimension

ems:dimension is an RDF property.

This property links a resource to a dimension.

Status: testing

Label: dimension

Type: rdf:Property

Has range:

DimensionCell

ems:DimensionCell is an RDF class.

This class describes a dimension cell in a row of a fact table. A dimension cell refers to its column (see ems:inColumn and has a dimension member (see ems:dimensionMember).

Status: testing

Label: DimensionCell

Type: rdfs:Class

Is range of:

dimensionCell

ems:dimensionCell is an RDF property.

This property links a fact row to one or more of its dimension cells.

Status: testing

Label: dimensionCell

Type: rdf:Property

Has range:

DimensionColumn

ems:DimensionColumn is an RDF class.

This class describes a dimension column in a fact table. A dimension column has a dimension (see ems:dimension) and grain (see ems:grain and may refer to a map (see ems:useMap.

Status: testing

Label: DimensionColumn

Type: rdfs:Class

Is range of:

dimensionColumn

ems:dimensionColumn is an RDF property.

This property links the head of a fact table to one or more ems:DimensionColumn resources that define dimension columns. Every fact table MUST have at least one dimension column.

Status: testing

Label: dimensionColumn

Type: rdf:Property

Has range:

DimensionMember

ems:DimensionMember is an RDF class.

A dimension member is some subset of a dimension. For example, work on a project is performed by people in various roles. It is often of interest to break down an effort estimate or measurement by role. Members of the dimension role (dimension:Role) include manager (dimension-member:Manager and programmer (dimension-member:Programmer).

Status: testing

Label: DimensionMember

Type: rdfs:Class

dimensionMember

ems:dimensionMember is an RDF property.

This property links a dimension cell to its dimension member.

Status: testing

Label: dimensionMember

Type: rdf:Property

Has range:

distribution

ems:distribution is an RDF property.

This property links a resource, e.g. ems:MeasureDistribution to a probability distribution.

Status: testing

Label: distribution

Type: rdf:Property

EffortMetric

ems:EffortMetric is an RDF class.

An effort metric is a metric that measures the effort of effort required to perform some task. For example, effort as measured in person-months, person-years, etc. (metric:Effort), average staffing (metric:Staffing), peak staffing (metric:PeakStaffing), and full-time equivalents (metric:FullTimeEquivalent) are effort metrics.

Status: testing

Label: EffortMetric

Type: rdfs:Class

Is subclass of:

Estimate

ems:Estimate is an RDF class.

An estimate is a probabilistic prediction, based on a scenario, for a set of measurements.

Status: testing

Label: Estimate

Type: rdfs:Class

estimate

ems:estimate is an RDF property.

The property links a resource to an estimate.

Status: testing

Label: estimate

Type: rdf:Property

Is range of:

Has range:

EstimateList

ems:EstimateList is an RDF class.

An estimate list is a container for estimate resources.

Status: testing

Label: EstimateList

Type: rdfs:Class

Is range of:

estimateList

ems:estimateList is an RDF property.

This property links a service to its estimate list.

Status: testing

Label: estimateList

Type: rdf:Property

Has domain:

Has range:

extendsScenario

ems:extendsScenario is an RDF property.

This property links a scenario a base scenario that it extends. The base scenario contains assumptions that can be included in several other extended scenarios.

Status: testing

Label: extendsScenario

Type: rdf:Property

Has domain:

Has range:

Fact

ems:Fact is an RDF class.

This class describes a row of a fact table (see ems:FactTable). Each fact row has a set of dimension cells (see ems:DimensionCell) and measure cells (see ems:MeasureCell). These MUST match the description of the columns given in the head of the fact table (see ems:Head).

Status: testing

Label: Fact

Type: rdfs:Class

Is range of:

fact

ems:fact is an RDF property.

This property links a fact table to its fact rows. In general, a fact table will have many fact rows. If the fact table has an ems:tableSource property, then the rows of the fact table MUST be a copy of the data values received in the response of an HTTP GET request of the URL of the remote table source.

Status: testing

Label: fact

Type: rdf:Property

Has range:

FactDistribution

ems:FactDistribution is an RDF class.

A fact distribution is a row of a fact distribution table (see ems:FactDistributionTable). It contains one or more dimension cells (see ems:dimensionCell) and one or more measure distribution cells (see ems:measureDistributionCell).

Status: testing

Label: FactDistribution

Type: rdfs:Class

FactDistributionTable

ems:FactDistributionTable is an RDF class.

A fact distribution table is a fact table that contains probability distributions instead of precise numeric values for its measures. Fact distribution tables are used in scenario assumptions (see ems:assumesTable) and estimate predictions (see ems:predictsTable).

A fact distribution table is similar to a fact table (see ems:FactTable), except that it has fact distribution rows (see ems:FactDistribution) instead of fact rows (see ems:Fact), and they have measure distribution cells (see ems:MeasureDistributionCell) instead of measure cells (see ems:MeasureCell).

Status: testing

Label: FactDistributionTable

Type: rdfs:Class

FactTable

ems:FactTable is an RDF class.

This class is used to represent fact tables.

Consider the work performed on a project. Work may be analyzed according to attributes such as who performed the work, the task or activity that the work accomplished, when the work was performed, etc. These attributes are referred to as dimensions.

Work may be quantified by such metrics as its effort in person-hours, its cost in some currency, its duration in months, its peak staffing, etc. These quantities are referred to as measures.

The term dimension is used because the measures can be regarded as occupying cells in a multi-dimensional array (sometimes referred to as a datacube). It is frequently of interest to summarize the measures along a dimension, for example given the effort by activity, calculate the total effort for all activities. Conversely, given the total effort, it may be of interest to see how it is broken down by activity.

In general, set of related measures, analyzed along a set of dimensions may be organized into a fact table. Each row of a fact table contains a set of measures (e.g. effort and cost) for a given combination of dimension values (e.g. activity and month).

This resource MAY contain the actual measurements, provide a link to the source of the actual measurements, or contain both a link to the source and a copy of the actual measurements obtained from the source (i.e. a cached copy of the source).

Status: testing

Label: FactTable

Type: rdfs:Class

FinancialMetric

ems:FinancialMetric is an RDF class.

A financial metric is a metric that measures the cost of an artifact or work effort. For example, total cost (metric:Cost) and labor cost (metric:LaborCost) are financial metrics.

Status: testing

Label: FinancialMetric

Type: rdfs:Class

Is subclass of:

Format

ems:Format is an RDF class.

A format is a specification of the syntax of an artifact.

Status: testing

Label: Format

Type: rdfs:Class

Has subclass:

from

ems:from is an RDF property.

This property links a mapping to its custom label value. The value MUST be unique within its enclosing map resource.

Status: testing

Label: from

Type: rdf:Property

Has domain:

Grain

ems:Grain is an RDF class.

Dimensions may be aggregated into subsets of various sizes. A grain is a unit of aggregation of a dimension. For example, month (grain:CalendarMonth) and week (grain:CalendarWeek) are grain sizes for the dimension time (dimension:Time).

Status: testing

Label: Grain

Type: rdfs:Class

Is range of:

grain

ems:grain is an RDF property.

This property links a resource to a grain.

Status: testing

Label: grain

Type: rdf:Property

Has range:

ems:Head is an RDF class.

This class defined the columns of a fact table. A fact table MUST have one or more dimension columns, e.g. date or role, and one or more measure columns, e.g. cost or effort. The dimension columns contain dimension values. Dimension columns SHOULD contain standard dimension values when they exist, e.g. for roles. The creator of the fact table MAY use custom dimension dimension values and record how these custom values are mapped to the standard values.

Status: testing

Label: Head

Type: rdfs:Class

Is range of:

ems:head is an RDF property.

This property links a fact table to an ems:Head resource that describes the columns of the table.

Status: testing

Label: head

Type: rdf:Property

Has range:

high

ems:high is an RDF property.

This property gives the high parameter value of a probability distribution.

Status: testing

Label: high

Type: rdf:Property

inColumn

ems:inColumn is an RDF property.

This property links a cell to its column. Dimension cells (see ems:DimensionCell) are linked to dimension columns (see ems:DimensionColumn). Measure cells (see ems:MeasureCell) are linked to measure columns (see ems:MeasureColumn).

Status: testing

Label: inColumn

Type: rdf:Property

isActive

ems:isActive is an RDF property.

This boolean property indicates if a scenario is under active consideration. When a scenario has been ruled out, it is marked as inactive by setting this property to <code>false</code>.

Status: testing

Label: isActive

Type: rdf:Property

Has domain:

isClosed

ems:isClosed is an RDF property.

This boolean property indicates if the project is closed. No further activities or measurements are done on closed projects. The measurements of closed projects can be used to calibrate the estimates for new projects. When a project is completed and all measurements on it have been performed, it is marked as closed by setting this property to <code>true</code>.

Status: testing

Label: isClosed

Type: rdf:Property

Has domain:

lambda

ems:lambda is an RDF property.

This property gives the lambda parameter value of a Poission distribution.

Status: testing

Label: lambda

Type: rdf:Property

low

ems:low is an RDF property.

This property gives the low parameter value of a probability distribution.

Status: testing

Label: low

Type: rdf:Property

Map

ems:Map is an RDF class.

Some key dimensions may define standard dimension member URIs which are used for data interchange. However, users may wish to use custom values. This class lets you define how custom values are mapped to standard URIs. You can include an map resource in the description of a dimension column of a fact table (see ems:useMap).

We make the simplifying assumption that this mapping is many-to-one, that is, one or more custom dimension values may be mapped to the same standard dimension value. A map may contain one or more of these mappings (see ems:mapping), but each custom dimension value must map to exactly one standard dimension value.

Status: testing

Label: Map

Type: rdfs:Class

Is domain of:

Is range of:

map

ems:map is an RDF property.

This property links a fact table head to an ems:Map resource that defines how custom dimension values are mapped to standard values. The scope of this mapping is local to the fact table.

Status: testing

Label: map

Type: rdf:Property

Has range:

Mapping

ems:Mapping is an RDF class.

This class describes a mapping. A mapping maps some custom string label value for a dimension (see ems:from) to a dimension member URI which may be a standard value defined in some vocabulary. (see ems:to).

Status: testing

Label: Mapping

Type: rdfs:Class

Is domain of:

Is range of:

mapping

ems:mapping is an RDF property.

This property links a map to a mapping. A map may have one or more mappings.

Status: testing

Label: mapping

Type: rdf:Property

Has domain:

Has range:

Measure

ems:Measure is an RDF class.

A measure, as in the idiom take the measure of, is the result of observing some numerically quantifiable aspect of a project, system, or thing. For example, a duration of 12 months or a size of 10 KLOC are measures. The aspect being measured, e.g. duration or size, is referred to as the metric and is given by the property ems:metric. The scale of measurement, e.g. months or KLOC, is referred to as the unit of measure and is given by the property ems:unitOfMeasure. The numeric value of an observation, e.g. 12 or 10, is given by the property ems:numericValue.

Status: stable

Label: Measure

Type: rdfs:Class

Is domain of:

Is range of:

MeasureCell

ems:MeasureCell is an RDF class.

This class descibes measure cells. A measure cell refers to a measure column (see ems:inColumn) and has a numeric value (see ems:numericValue.

Status: testing

Label: MeasureCell

Type: rdfs:Class

Is range of:

measureCell

ems:measureCell is an RDF property.

This property links a fact row to one or more of its measure cells.

Status: testing

Label: measureCell

Type: rdf:Property

Has range:

MeasureColumn

ems:MeasureColumn is an RDF class.

This class describes a measure column of a fact table. A measure column has a metric (see ems:metric and a unit of measure (see ems:unitOfMeasure.

Status: testing

Label: MeasureColumn

Type: rdfs:Class

measureColumn

ems:measureColumn is an RDF property.

This property links the head of a fact table to one or more ems:MeasureColumn resources that define measure columns. Every fact table MUST have at least one measure column.

Status: testing

Label: measureColumn

Type: rdf:Property

MeasureDistribution

ems:MeasureDistribution is an RDF class.

A measure distribution is like a measure (see ems:Measure) except that it gives a probability distribution for the numeric value of a measure instead of a precise numeric value. Measure distributions are used in scenario assumptions (see ems:assumes and ems:assumesTable) and estimate predications (see ems:predicts and ems:predictsTable).

Status: testing

Label: MeasureDistribution

Type: rdfs:Class

Is range of:

MeasureDistributionCell

ems:MeasureDistributionCell is an RDF class.

A measure distribution cell is a cell in a fact distribution row. It refers to its column (see ems:inColumn) and contains a measure distribution (see ems:distribution).

Status: testing

Label: MeasureDistributionCell

Type: rdfs:Class

measureDistributionCell

ems:measureDistributionCell is an RDF property.

This property links a fact distribution row to a measure distribution cell.

Status: testing

Label: measureDistributionCell

Type: rdf:Property

Measurement

ems:Measurement is an RDF class.

A measurement is a set of observations of numerically quantifiable aspects of a project, system, or thing.

Status: testing

Label: Measurement

Type: rdfs:Class

Is range of:

MeasurementList

ems:MeasurementList is an RDF class.

A measurement list is a container for measurement resources.

Status: testing

Label: MeasurementList

Type: rdfs:Class

Is domain of:

Is range of:

measurementList

ems:measurementList is an RDF property.

This property links a service to its measurement list.

Status: testing

Label: measurementList

Type: rdf:Property

Has domain:

Has range:

memberBaseline

ems:memberBaseline is an RDF property.

This property links a baseline list to its member baselines.

Status: testing

Label: memberBaseline

Type: rdf:Property

Has domain:

Has range:

memberEstimate

ems:memberEstimate is an RDF property.

This property links an estimate list to its member estimates.

Status: testing

Label: memberEstimate

Type: rdf:Property

memberMeasurement

ems:memberMeasurement is an RDF property.

This property links a measurement list to its member measurements.

Status: testing

Label: memberMeasurement

Type: rdf:Property

Has domain:

Has range:

memberProject

ems:memberProject is an RDF property.

This property links a project list to its member projects.

Status: testing

Label: memberProject

Type: rdf:Property

Has domain:

Has range:

memberScenario

ems:memberScenario is an RDF property.

This property links a scenario list to its member scenarios.

Status: testing

Label: memberScenario

Type: rdf:Property

Has domain:

Has range:

Metric

ems:Metric is an RDF class.

A metric is a procedure or algorithm for quantifying or measuring some aspect of a thing, system, event, etc. For example duration is a metric that measures the amount of time an activity takes.

Status: stable

Label: Metric

Type: rdfs:Class

Is range of:

metric

ems:metric is an RDF property.

This property links a measure to its metric. For example, the measure duration of 12 months has the metric duration.

Status: stable

Label: metric

Type: rdf:Property

Has range:

mostLikely

ems:mostLikely is an RDF property.

This property gives the most likely parameter value of a probability distribution.

Status: testing

Label: mostLikely

Type: rdf:Property

mu

ems:mu is an RDF property.

This property gives the mu parameter value of a probability distribution.

Status: testing

Label: mu

Type: rdf:Property

NormalDistribution

ems:NormalDistribution is an RDF class.

A normal distribution (also known as a Gaussian distribution is a probability distribution that naturally arises as the limit of many random factors. It is symmetric about its mean and has a certain scale. The mean is given by ems:mu. Its scale (also known as its standard deviation) is given by ems:scale.

Status: testing

Label: NormalDistribution

Type: rdfs:Class

Is subclass of:

numberOfQuantiles

ems:numberOfQuantiles is an RDF property.

This property gives the number of quantiles parameter value of a probability distribution.

Status: testing

Label: numberOfQuantiles

Type: rdf:Property

Has domain:

numericValue

ems:numericValue is an RDF property.

This property gives the numeric value of a resource. For example, the numeric value of the measure duration of 12 months is 12. The datatype of this property is typically xsd:double.

Status: stable

Label: numericValue

Type: rdf:Property

observes

ems:observes is an RDF property.

This property links a measurement to the observed value of a measure. In an EMS service, the measurement is a resource of type ems:Measurement which may observe zero or more measures. For example, a measurement at the end of a project may observe a duration of 12 months and a cost of 200,000 USD.

Status: stable

Label: observes

Type: rdf:Property

Has range:

observesTable

ems:observesTable is an RDF property.

This property links a measurement to the observed fact table. The fact table analyzes the measurement along one or more dimensions.

Status: testing

Label: observesTable

Type: rdf:Property

Has range:

observesWbs

ems:observesWbs is an RDF property.

This property links a measurement to the observed work breakdown structure.

Status: testing

Label: observesWbs

Type: rdf:Property

PointEstimate

ems:PointEstimate is an RDF class.

A point estimate is a probability distribution that is concentrated at a single value. The single value is given by ems:numericValue.

Status: testing

Label: PointEstimate

Type: rdfs:Class

Is subclass of:

PoissonDistribution

ems:PoissonDistribution is an RDF class.

A Poisson distribution is a probability distribution that gives the probability that a given number of events will occur in a fixed time period. This distribution is completely specified by a single parameter often denoted by the Greek letter lambda. Lambda is given by ems:lambda.

Status: testing

Label: PoissonDistribution

Type: rdfs:Class

Is subclass of:

Is domain of:

predicts

ems:predicts is an RDF property.

This property links an estimate to the predicted value for some measure, e.g. duration, size. The predicted value is a probability distribution.

Status: testing

Label: predicts

Type: rdf:Property

Has domain:

predictsTable

ems:predictsTable is an RDF property.

This property links an estimate to the predicted value for some fact table of measures, e.g. staffing by week. The predicted fact table contains probability distributions.

Status: testing

Label: predictsTable

Type: rdf:Property

Has domain:

predictsWbs

ems:predictsWbs is an RDF property.

This property links an estimate to the predicted work breakdown structure.

Status: testing

Label: predictsWbs

Type: rdf:Property

Has domain:

probability

ems:probability is an RDF property.

This property gives the cumulative probability. For example, the cumulative probability of the third quartile is 75%.

Status: testing

Label: probability

Type: rdf:Property

ProbabilityDistribution

ems:ProbabilityDistribution is an RDF class.

This class describes probability distributions. A probability distribution gives the likelihood that a measurement of some value (a random variable) will fall within some given range. Probability distributions are used in scenario assumptions (see ems:assumes) and estimate predictions (see ems:predicts).

Status: testing

Label: ProbabilityDistribution

Type: rdfs:Class

Is range of:

ProcessMetric

ems:ProcessMetric is an RDF class.

A process metric is a metric that measures the process used to create an artifact such as software. For example, build (metric:Builds) and test executions (metric:TestExecutions) are process metrics.

Status: testing

Label: ProcessMetric

Type: rdfs:Class

Is subclass of:

ProductivityMetric

ems:ProductivityMetric is an RDF class.

A productivity metric is a metric that measures the rate at which some artifact, such as software, is produced. For example, lines of code per unit time (metric:EslocPerTime) and team velocity (metric:TeamVelocity) are productivity metrics.

Status: testing

Label: ProductivityMetric

Type: rdfs:Class

Is subclass of:

Project

ems:Project is an RDF class.

Within the scope of EMS, a project is any activity, system, or thing that can be the subject of a set of measurements. In practice, a project is often a time-bounded work effort that produces a unique result.

Status: testing

Label: Project

Type: rdfs:Class

project

ems:project is an RDF property.

The property links a resource to a project.

Status: testing

Label: project

Type: rdf:Property

Has range:

ProjectList

ems:ProjectList is an RDF class.

A project list is a container for projects.

Status: testing

Label: ProjectList

Type: rdfs:Class

Is domain of:

Is range of:

projectList

ems:projectList is an RDF property.

This property links a service to its project list.

Status: testing

Label: projectList

Type: rdf:Property

Has domain:

Has range:

Quantile

ems:Quantile is an RDF class.

This class describes a quantile of a quantile function. The cumulative probability of a quantile is given by ems:probability. The cumulative probability MUST be greater than 0 and less than 1. The upper limit of the range of measurement values is given by ems:numericValue. The lower limit of the range of measurement values is given by the upper limit of the preceding quantiles.

The probability that a measurement gives a value less than or equal to the numeric value is equal to the cumulative probability.

Status: testing

Label: Quantile

Type: rdfs:Class

Is range of:

quantile

ems:quantile is an RDF property.

This property links a quantile function resource to one or more quantiles.

Status: testing

Label: quantile

Type: rdf:Property

Has domain:

Has range:

QuantileFunction

ems:QuantileFunction is an RDF class.

A quantile function is a probability distribution that breaks up a range of values into quantiles that each have the same probability. When the number of quantiles is 4, 10, or 100, we refer to them as quartiles, deciles, and percentiles. For example, there is a 25% probability that a measurement will fall within any given quartile. The number of quantiles is given by ems:numberOfQuantiles. The number of quantiles MUST be greater than one.

The range of possible measurement values may be unbounded. If a lower bound exists, it is given by ems:low. If an upper bound exists, it is given by ems:high.

The graph of the quantile function is given by a set of measurement values that correspond to the equally spaced cumulative probabilities between 0 and 1. For example, for quartiles the cumulative probabilities are 25%, 50%, and 75%. The cumulative probability values are given by one or more ems:quantile properties.

Status: testing

Label: QuantileDistribution

Type: rdfs:Class

Is subclass of:

realProjectId

ems:realProjectId is an RDF property.

This property links a project to an identifier of the project as a real-world object.

Status: testing

Label: realProjectId

Type: rdf:Property

Has domain:

ReliabilityMetric

ems:ReliabilityMetric is an RDF class.

A reliability metric is a metric that measures the correctness or absence of failures in a system such as a software system. For example defects (metric:Defects), failures (metric:Failures), and mean time to failure (metric:MeanTimeToFailure) are reliability metrics.

Status: testing

Label: ReliabilityMetric

Type: rdfs:Class

Is subclass of:

scale

ems:scale is an RDF property.

This property gives the scale parameter value of a probability distribution. This parameter is also known as the standard deviation and is often denoted by the Greek letter sigma.

Status: testing

Label: scale

Type: rdf:Property

Scenario

ems:Scenario is an RDF class.

A scenario is a set of assumptions about how a project will be executed. These assumptions are used as inputs to estimates.

Status: testing

Label: Scenario

Type: rdfs:Class

scenario

ems:scenario is an RDF property.

The property links a resource to a scenario.

Status: testing

Label: scenario

Type: rdf:Property

Has range:

ScenarioList

ems:ScenarioList is an RDF class.

A scenario list is a container for scenario resources.

Status: testing

Label: ScenarioList

Type: rdfs:Class

Is domain of:

Is range of:

scenarioList

ems:scenarioList is an RDF property.

This property links a service to its scenario list.

Status: testing

Label: scenarioList

Type: rdf:Property

Has domain:

Has range:

seeAlsoEstimation

ems:seeAlsoEstimation is an RDF property.

This property links a project to a corresponding resource in an estimation application.

Status: testing

Label: seeAlsoEstimation

Type: rdf:Property

Has domain:

seeAlsoPerformance

ems:seeAlsoPerformance is an RDF property.

This property links a project to a corresponding resource in a performance management application.

Status: testing

Label: seeAlsoPerformance

Type: rdf:Property

Has domain:

seeAlsoPortfolio

ems:seeAlsoPortfolio is an RDF property.

This property links a project to a corresponding resource in a portfolio management application.

Status: testing

Label: seeAlsoPortfolio

Type: rdf:Property

Has domain:

seeAlsoProject

ems:seeAlsoProject is an RDF property.

This property links a project to a corresponding resource in a project management application.

Status: testing

Label: seeAlsoProject

Type: rdf:Property

Has domain:

Service

ems:Service is an RDF class.

An EMS service hosts and manages a set of resources that describe projects, scenarios, estimates, measurements, and baselines. Each instance of an service has a set of resource containers that contain resources of a given type.

Status: testing

Label: Service

Type: rdfs:Class

Is range of:

service

ems:service is an RDF property.

This property is used to link a resource to the EMS service instance that hosts it.

Status: testing

Label: service

Type: rdf:Property

Has range:

SizeMetric

ems:SizeMetric is an RDF class.

A size metric is a metric that measures the magnitude, volume, bulk, or capability of some artifact such as software. For example, lines of code (metric:Sloc) and story points (metric:StoryPoints) are size metrics.

Status: testing

Label: SizeMetric

Type: rdfs:Class

Is subclass of:

tableSource

ems:tableSource is an RDF property.

Fact tables contain actual measurements for projects, systems, or things. In practice, there may be many measurements and they may be updated frequently. The measurements may be at a finer level of granularity than the estimates, e.g. a project may estimate total defects found per month, whereas the actual number found may be collected daily. Furthermore, these measurements are often collected automatically by software development tools such as bug tracking systems or source code control systems. It may therefore be useful to simply refer to the source of the measurements rather than copy the actual measurements into the EMS service provider, e.g. a dynamic query on a software tool may generate the fact table on demand.

This property lets you refer to the remote source of the fact table data via a URL. An HTTP GET request on this URL MUST return an ems:FactTable resource whose dcterms:title and ems:head properties match this resource.

Status: testing

Label: tableSource

Type: rdf:Property

Has range:

TimeMetric

ems:TimeMetric is an RDF class.

A time metric is a metric that describes some temporal aspect of a project, system, or thing. For example, duration (metric:Duration), start (metric:Start), and finish (metric:Finish) are time metrics.

Status: testing

Label: TimeMetric

Type: rdfs:Class

Is subclass of:

to

ems:to is an RDF property.

This property links a mapping to its dimension member URI. Many mappings MAY map to the same dimension member URI.

Status: testing

Label: to

Type: rdf:Property

Has domain:

Has range:

TriangularDistribution

ems:TriangularDistribution is an RDF class.

A triangular distribution is a probability distribution that concentrated between high and low values, and that linearly rises to and falls from to an intermediate most likely value. The low value is given by ems:low. The most likely value is given by ems:mostLikely. The high value is given by ems:high.

Status: testing

Label: TriangularDistribution

Type: rdfs:Class

Is subclass of:

UniformDistribution

ems:UniformDistribution is an RDF class.

A uniform distribution is a probability distribution that is evenly spread between a high and a low value. The high value is given by ems:high. The low value is given by ems:low.

Status: testing

Label: UniformDistribution

Type: rdfs:Class

Is subclass of:

UnitOfMeasure

ems:UnitOfMeasure is an RDF class.

A unit of measure specifies a procedure for associating a numeric value with some metric. For example, month (unit:Month) is a unit of measure for duration (metric:Duration).

Status: testing

Label: UnitOfMeasure

Type: rdfs:Class

Is range of:

unitOfMeasure

ems:unitOfMeasure is an RDF property.

This property gives the unit of measure. For example, the measure duration of 12 months has a unit of measure months.

Status: stable

Label: unitOfMeasure

Type: rdf:Property

Has domain:

Has range:

useMap

ems:useMap is an RDF property.

This property links a resource to a map.

Status: testing

Label: useMap

Type: rdf:Property

Has range:

wbsContent

ems:wbsContent is an RDF property.

This property gives the literal XML WBS content of a WBS resource. This content MUST be in the XML format specified by the WBS resource. If this property is absent, then ems:wbsSource MUST be present. If this property and ems:wbsSource are present, then the value of this property SHOULD be the XML document representation returned in the HTTP GET response for the link given in ems:wbsSource.

Status: testing

Label: wbsContent

Type: rdf:Property

See Also:

WbsFormat

ems:WbsFormat is an RDF class.

A WBS format is a format that specifies the syntax of work breakdown structures. For example, http://schemas.microsoft.com/project/2007 is the format for Microsoft Office Project 2007 XML Data Interchange Schema.

Status: testing

Label: WbsFormat

Type: rdfs:Class

Is subclass of:

Is range of:

wbsFormat

ems:wbsFormat is an RDF property.

This property links a WBS resource to the XML format of its content. EMS does not define a format for WBS content. Instead, this property identifies the specification that defines the XML format of the WBS content.

Status: testing

Label: wbsFormat

Type: rdf:Property

Has range:

wbsSource

ems:wbsSource is an RDF property.

This property links a WBS resource to a resource that contains the WBS XML content. This content MUST be in the XML format specified by the WBS resource. When this link is deferenced using an HTTP GET request, the response MUST be the WBS. If this property is absent, then the WBS resource MUST have a ems:wbsContent property.

Status: testing

Label: wbsSource

Type: rdf:Property

WorkBreakdownStructure

ems:WorkBreakdownStructure is an RDF class.

This class describes work breakdown structures. A work breakdown structure (WBS) is a common way to represent the work to be performed in a project. In EMS, a WBS may be used as an assumption in an scenario, as a prediction in an estimate, or as an observation in a measurement.

A WBS has a format (see ems:wbsFormat), and may either include (see ems:wbsContent) or link to (see ems:wbsSource) its content. The included or linked WBS content MUST be in the specified format.

Status: testing

Label: WorkBreakdownStructure

Type: rdfs:Class

]]>
Tue, 10 Jun 2014 14:29 EDT
<![CDATA[PromcodeVocabulary]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/PromcodeVocabulary/ http://open-services.net/wiki/estimation-and-measurement/PromcodeVocabulary/#When:1402424828 Tue, 10 Jun 2014 14:27 EDT <![CDATA[Software Estimation Use Cases]]> OSLC Administrator http://open-services.net/wiki/estimation-and-measurement/Software-Estimation-Use-Cases/ http://open-services.net/wiki/estimation-and-measurement/Software-Estimation-Use-Cases/#When:1393355771 [TOC]

Status

This document is a Draft Specification.

Introduction

Estimation plays an important role at several phases of the software development lifecycle. We’ll focus on the following use cases:

  • Initiating
    • Develop the initial project parameters of scope, cost, schedule, and quality and see if they align with business owner expectations.
    • Ideally base the estimate on similar completed projects.
  • Monitoring and Controlling
    • Capture metrics and compare them with control limits.
    • Take corrective action when an unacceptable variance occurs
  • Reestimating
    • Periodically, e.g. at the end of each iteration, reestimate the project based on the actuals.
  • Closing
    • Capture the final project metrics and record them for use by future projects.
  • Calibrating
    • Analyse past projects to define estimation model parameters that reflect the actual capabilities of a development organization.

Each of these use cases is described in more detail below.

Initiating

A project proposal requires a business case which includes the cost, schedule, and risk estimates for these. The risk estimates are typically provided as a decile step function of the probability distribution of the estimated quanity, e.g. duration, cost, size.


The main actors are business owner and the estimator. For future reference, a business owner is the requestor of the proposed functionality and an estimator is the person responsible for estimating the project. This individual is skilled in the use of estimation models and tools, but may not have detailed domain knowledge of the project being estimated. The estimator will work with individuals who understand the project scope, complexity, architecture, and team capabilties to establish the assumptions upon which the estimate it based. These assumptions, e.g. project duration, peak staffing, new and changed lines of code, etc., become part of the project proposal and are compared to business owner expectations for alignment. Proposal risk can be determined based on the alignment of te estimate and the business owner expectations.

The estimator pulls the project parameters from the proposal, works with an estimation tool, and attaches the estimates to the proposal. The estimate typically provides the time and cost elements of the business case. The uncertainly in these estimates contribute to the overall investment risk of the project. The cost and risk are then used by the portfolio manager judge the desirability of the project. Projects that have high risk must also have a high return on investment (ROI) in order to be attractive.

Monitoring and Controlling

All projects have measurable properties, i.e. metrics, that can be monitored throughout the project lifecycle in order to assess progress, health, and risk. The project plan describes how generic metrics such as labor expense, staffing levels, and task completion are expected to change over the lifecycle of the project. Since these metrics cannot be predicted with complete accuracy, a certain amount of variance is normal. Project managers control projects by monitoring these metrics, detecting unacceptable variances, diagnosing the root cause, and taking corrective action.

Software projects have a large additional set of metrics, such as code size, defect rate, test success, etc., that provide additional insight into the project as it evolves. It is therefore natural to treat the estimates for these software metrics as also being part of the project plan.

A software metric estimate is a time series of values that predict the lifecycle of a metric over some part of the project lifecycle. The estimate includes both the predicted value (most likely) and the error bounds (high and low values) to establish the control limits for the measurement. Project actuals for these metrics are automatically collected from software tool repositories, e.g. defect metrics are collected from change management systems, source code size metrics are collected from software configuration management systems, effort metrics are collected from time accounting systems and schedule metrics are collected from project management tools.

The main actor is the project manager or an analyst in a project office. Here we regard teams leads who are responsible for monitoring and controlling their teams as effectively acting in the capacity of a project manager.

The project manager or analyst periodically compares the actuals to the estimates. They may use business intelligence techniques such as dashboards and charts with automatic alerts to detect unacceptable variances. The control limits can be used to colour dashboard widget ranges as green, yellow, and red to indicate the degree to which the control limits are approached or exceeded. If the actuals diverge from the estimates, then the project manager diagnoses the cause and takes corrective actions.

Business intelligence techniques such as drill down and drill through allow the project manager to explore the metric space and understand the root cause of variances. Drilling down into the data enables the project manager to isolate the source of the variance. Estimates are typically performed using a coarse grained product breakdown structure. In order to establish estimates and control limits below this level of granularity, components could use average values from their parent component. For example, suppose the total defect estimate for a 100 KLOC component is 2000 +/- 200. The average defect density is therefore 20 defects per KLOC. If this component is composed of two child components of sizes 70 KLOC and 30 KLOC, then their defect totals could be estimated at 1400 +/- 140 and 600 +/- 60. If 80 defects were reported for the 30 KLOC component, then an alert would be raised even though the density for the parent component might be within the control limits.

Monitoring and controlling iterative projects have an ongoing need for estimation of the time-to-complete ( TTC). Ideally, each iteration should reduce the uncertainty of ontime delivery. This uncertainty is measured by the variance in the current estimate of the TTC. Iterative programs begin with an intial iteration plan ideally designed to reduce the TTC as rapidly as possible. At each iteration boundary the iteration plan is reset based on the results achieved to-date and the remaining variance in the TTC. Hence, the project team needs to have an ongoing view of the variance in the estimate of the TTC along with the remaining program content (components, work items, …) that most contribute to the variance.

Some large programs, essentially a team of project teams do iteration planning at the program level at a given time frequency. Each team then adopts a higher frequency iteration plan or adopts an agile process to ensure they meet their commitments to the current iteration. In this case, they need to roll-up the team estimate of TTC to the overall program estimate. In particular, the relationship of program estimate variance and the teams’ estimate variances is needed to support the program iterations. In some cases the teams may be adopting bottom-up estimation methods based on their work items, while the program may be using top-down approaches. This calls for a method of relating bottom-up and top-down estimate.

Reestimating

Software metric estimates are not goals – they are simply a tool to make project outcomes more predictable. For example, the estimated defect discovery rate for a project depends on both the defect injection rate and the efficiency of the defect removal processes. If in the course of a project, few defects are discovered, this could be good news or bad news. It’s good news if the development team is injecting fewer defects and bad news if the testing is inadequate. The project manager must determine which is the case. If in fact the testing is good and the defect injection rate is low, then the defect estimates should be redone. Knowing the actual defect rates affects the cost of the project and the downstream support costs.

Estimates should therefore be revised to incorporate actuals so that they reflect reality better.

The main actor is either the project manager, if the project assumptions are still valid, or the estimator if the project assumptions need to be updated. In both cases we need to incorporate the actuals to produce a better estimate to completion.

At selected points in the lifecycle of the project, e.g. the end of an iteration, the project manager or estimator pulls the project parameters and actuals into an estimation tool, produces an updated estimate, and revises the project plan. This new plan becomes the baseline against which future actuals are compared.

As the project progresses it will grow a baseline history. The project manager may also wish to view and compare the baselines to determine if the estimates are converging and the uncertainty is being reduced. If the project is under control, then the estimates should converge. At the end of the project, all the metrics will atain actual values so the uncertainty is zero.

See Reestimation use case description.

Closing

The safest way to estimate a project is to base it on a similar completed project. For example, a quarterly maintenance release of a product will likely be similar to the previous quarterly maintenance release of the same product if it is executed by the same time. Estimation models should therefore incorporate the actual performance of the development organization on past projects.

The main actor is the estimator or metrics analyst since knowledge of estimation models, software metrics and tools is required.

When a project finishes, the project manager formally closes it. This may involve collecting summary data. At this point it may be of interest to analyse the project by benchmarking it against the other projects in the historical database:

  • Did the project perform better than the norm?
  • If the project improved or got worse, what was the cause?
  • Have there been any significant trends?

After the project manager closes the project, the estimator pulls the final project data into a metrics repository and the estimation tool and recalibrates the model. The updated model is now ready for use in estimating future projects.

Calibrating

Estimation models contain parameters that can be selected to more closely describe the actual performance of a development organization. The process of selecting the best parameters is known as calibration. This task is performed by assembling a database of past projects, classifying them into groups that share similar characteristics, and computing the set of model parameters that fit each group best.

The main actor is the estimator since skill with an estimation tool is required. The estimator collects the historical data, loads it into an estimation tools, and performs the classification. The estimation tool then applies algorithms to compute the model parameters that best fit the data. Each group of similar projects will have its own set of model parameters.

Calibration is typically done when a development organization adopts an estimation tool. In the absence of calibrating the tool using the organization’s own data, users of the tool will have to rely on model parameters computed by the tool vendors based on data collected from other organizations, which may not accurately reflect the organization’s capabilities. Calibration is therefore highly desirable.

After the initial bulk calibration, an organization should incrementally update the model parameters when new projects are completed. See the Closing use case.

Comments

Added business owner to the initiating scenario and brought in to other actors like analysts in project offices or metrics analysts to controlling and closing scenarios.

Added Calibrating use case.

]]>
Tue, 25 Feb 2014 14:16 EST
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365617561 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

]]>
Wed, 10 Apr 2013 14:12 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365617524 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

]]>
Wed, 10 Apr 2013 14:12 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365613344 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:Measure
  • ems:Metric
  • ems:metric
  • ems:numericValue
  • ems:observes
  • ems:unitOfMeasure
]]>
Wed, 10 Apr 2013 13:02 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365613211 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 Vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:Measure
  • ems:Metric
  • ems:metric
  • ems:numericValue
  • ems:observes
  • ems:unitOfMeasure
]]>
Wed, 10 Apr 2013 13:00 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365613125 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:Measure
  • ems:Metric
  • ems:metric
  • ems:numericValue
  • ems:observes
  • ems:unitOfMeasure
]]>
Wed, 10 Apr 2013 12:58 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1365613092 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:Measure
  • ems:Metric
  • ems:metric
  • ems:numericValue
  • ems:observes
  • ems:unitOfMeasure
]]>
Wed, 10 Apr 2013 12:58 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1364913476 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:Measure
  • ems:Metric
  • ems:metric
  • ems:numericValue
  • ems:observes
  • ems:unitOfMeasure
]]>
Tue, 02 Apr 2013 10:37 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1363363511 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:observes
  • ems:Measure
  • ems:metric
  • ems:unitOfMeasure
  • ems:numericValue
]]>
Fri, 15 Mar 2013 12:05 EDT
<![CDATA[Finalization of Vocabulary Terms Used by OSLC Performance Monitoring 2.0]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/ http://open-services.net/wiki/estimation-and-measurement/Finalization-of-Vocabulary-Terms-Used-by-OSLC-Performance-Monitoring-2.0/#When:1363363410 The OSLC Performance Monitoring (PM) 2.0 specification depends on a subset of vocabulary terms defined by the OSLC Estimation and Measurement (EMS) 1.0 specification. This subset of terms will be moved to the Finalization phase of the OSLC approval process. The status of each term in the OSLC EMS 1.0 vocabulary will be indicated using the property vs:term_status which was defined by the FOAF project.

The following terms will be finalized:

  • ems:observes
  • ems:Measure
  • ems:metric
  • ems:unitOfMeasure
  • ems:numericValue
]]>
Fri, 15 Mar 2013 12:03 EDT
<![CDATA[index]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/ http://open-services.net/wiki/estimation-and-measurement/#When:1361985852 Estimation and Measurement child topics: [[Meeting Agendas and Minutes | Meetings]], [[Software Estimation Use Cases | Use Cases]], [[Estimation and Measurement Service Version 1.0 Primer | Primer]], [[Estimation and Measurement Service Version 1.0: REST API | REST API]], [[OSLC Estimation and Measurement Vocabulary | Vocabulary]]

[TOC]

Introduction

The goal of this effort is to define a common set of software estimation and measurement resources, their representation formats, and a RESTful Web service API for accessing them for in the context of software project management to enable the collaboration of multiple tools that provide and consume estimates across the development lifecycle.

Status

As of 2013-02-27

  • The Performance Monitoring specification is using a subset of terms from the EMS Vocabulary. We will propose to move this subset of term to the Finalization stage
  • Progress on implementations has been suspended pending resource availability.
  • The mailing list is being used for implementation discussion.
  • Implementation Status is being used to report implementation status.
  • Telecons will be held as required for discussion.
    • See [[Meeting Agendas and Minutes]] for telecon details.
  • Metric Definitions is complete.
  • [[Software Estimation Use Cases | Use Cases]] is complete.
  • [[Estimation and Measurement Service Version 1.0: REST API | REST API]] is in the convergence phase.

Approach

The specifications will be developed by:

  1. establishing [[Software Estimation Use Cases | Use Cases]],
  2. collecting common Metrics Definitions,
  3. developing a [[Estimation and Measurement Service Version 1.0 Primer | Primer]] to illustrate and elaborate the use cases, and
  4. specifying the [[Estimation and Measurement Service Version 1.0: REST API | REST API]] in full detail for implementors.

Working Documents

Refer to Working Documents for the list of working documents and related design considerations.

Document Status
[[Software Estimation Use Cases Use Cases]] | Draft Specification
Metrics Definitions Draft Specification
[[Estimation and Measurement Service Version 1.0 Primer Primer]] | Draft Specification
[[Estimation and Measurement Service Version 1.0: REST API REST API]] | Draft Specification

Milestones

Scenario Introduce Topic Complete Scenario Create Draft Specs Start Convergence Finalize V1.0 Specs
Initiating 2009-04-21 2009-07-17 2009-12-04 2010-06-04 Open
Monitoring and Controlling 2009-04-21 2009-10-16 2010-01-15 2010-06-04 Open
Reestimating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Closing 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Calibrating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open

Feedback

[[Specification comments and issues]]

Mailing List

Metrics
General Open Services

]]>
Wed, 27 Feb 2013 12:24 EST
<![CDATA[index]]> ArthurRyman http://open-services.net/wiki/estimation-and-measurement/ http://open-services.net/wiki/estimation-and-measurement/#When:1361985691 Estimation and Measurement child topics: [[Meeting Agendas and Minutes | Meetings]], [[Software Estimation Use Cases | Use Cases]], [[Estimation and Measurement Service Version 1.0 Primer | Primer]], [[Estimation and Measurement Service Version 1.0: REST API | REST API]], [[OSLC Estimation and Measurement Vocabulary | Vocabulary]]

[TOC]

Introduction

The goal of this effort is to define a common set of software estimation and measurement resources, their representation formats, and a RESTful Web service API for accessing them for in the context of software project management to enable the collaboration of multiple tools that provide and consume estimates across the development lifecycle.

Status

As of 2013-02-27

  • The [[http://open-services.net/wiki/performance-monitoring/ | Performance Monitoring]] specification is using a subset of terms from the EMS Vocabulary. We will propose to move this subset of term to the Finalization stage
  • Progress on implementations has been suspended pending resource availability.
  • The mailing list is being used for implementation discussion.
  • Implementation Status is being used to report implementation status.
  • Telecons will be held as required for discussion.
    • See [[Meeting Agendas and Minutes]] for telecon details.
  • Metric Definitions is complete.
  • [[Software Estimation Use Cases | Use Cases]] is complete.
  • [[Estimation and Measurement Service Version 1.0: REST API | REST API]] is in the convergence phase.

Approach

The specifications will be developed by:

  1. establishing [[Software Estimation Use Cases | Use Cases]],
  2. collecting common Metrics Definitions,
  3. developing a [[Estimation and Measurement Service Version 1.0 Primer | Primer]] to illustrate and elaborate the use cases, and
  4. specifying the [[Estimation and Measurement Service Version 1.0: REST API | REST API]] in full detail for implementors.

Working Documents

Refer to Working Documents for the list of working documents and related design considerations.

Document Status
[[Software Estimation Use Cases Use Cases]] | Draft Specification
Metrics Definitions Draft Specification
[[Estimation and Measurement Service Version 1.0 Primer Primer]] | Draft Specification
[[Estimation and Measurement Service Version 1.0: REST API REST API]] | Draft Specification

Milestones

Scenario Introduce Topic Complete Scenario Create Draft Specs Start Convergence Finalize V1.0 Specs
Initiating 2009-04-21 2009-07-17 2009-12-04 2010-06-04 Open
Monitoring and Controlling 2009-04-21 2009-10-16 2010-01-15 2010-06-04 Open
Reestimating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Closing 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Calibrating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open

Feedback

[[Specification comments and issues]]

Mailing List

Metrics
General Open Services

]]>
Wed, 27 Feb 2013 12:21 EST
<![CDATA[index]]> OSLC Administrator http://open-services.net/wiki/estimation-and-measurement/ http://open-services.net/wiki/estimation-and-measurement/#When:1348519084 Estimation and Measurement child topics: [[Meeting Agendas and Minutes | Meetings]], [[Software Estimation Use Cases | Use Cases]], [[Estimation and Measurement Service Version 1.0 Primer | Primer]], [[Estimation and Measurement Service Version 1.0: REST API | REST API]], [[OSLC Estimation and Measurement Vocabulary | Vocabulary]]

[TOC]

Introduction

The goal of this effort is to define a common set of software estimation and measurement resources, their representation formats, and a RESTful Web service API for accessing them for in the context of software project management to enable the collaboration of multiple tools that provide and consume estimates across the development lifecycle.

Status

As of 2012-01-10:

  • Progress on implementations has been suspended pending resource availability.
  • The mailing list is being used for implementation discussion.
  • Implementation Status is being used to report implementation status.
  • Telecons will be held as required for discussion.
    • See [[Meeting Agendas and Minutes]] for telecon details.
  • Metric Definitions is complete.
  • [[Software Estimation Use Cases | Use Cases]] is complete.
  • [[Estimation and Measurement Service Version 1.0: REST API | REST API]] is in the convergence phase.

Approach

The specifications will be developed by:

  1. establishing [[Software Estimation Use Cases | Use Cases]],
  2. collecting common Metrics Definitions,
  3. developing a [[Estimation and Measurement Service Version 1.0 Primer | Primer]] to illustrate and elaborate the use cases, and
  4. specifying the [[Estimation and Measurement Service Version 1.0: REST API | REST API]] in full detail for implementors.

Working Documents

Refer to Working Documents for the list of working documents and related design considerations.

Document Status
[[Software Estimation Use Cases Use Cases]] | Draft Specification
Metrics Definitions Draft Specification
[[Estimation and Measurement Service Version 1.0 Primer Primer]] | Draft Specification
[[Estimation and Measurement Service Version 1.0: REST API REST API]] | Draft Specification

Milestones

Scenario Introduce Topic Complete Scenario Create Draft Specs Start Convergence Finalize V1.0 Specs
Initiating 2009-04-21 2009-07-17 2009-12-04 2010-06-04 Open
Monitoring and Controlling 2009-04-21 2009-10-16 2010-01-15 2010-06-04 Open
Reestimating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Closing 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open
Calibrating 2009-04-21 2009-10-16 2010-04-02 2010-06-04 Open

Feedback

[[Specification comments and issues]]

Mailing List

Metrics
General Open Services

]]>
Mon, 24 Sep 2012 16:38 EDT
<![CDATA[Estimation and Measurement Service Version 1.0 Primer]]> OSLC Administrator http://open-services.net/wiki/estimation-and-measurement/Estimation-and-Measurement-Service-Version-1.0-Primer/ http://open-services.net/wiki/estimation-and-measurement/Estimation-and-Measurement-Service-Version-1.0-Primer/#When:1348518524 [TOC]

Status

This document is a Draft Specification.

Abstract

This document describes the Open Services for Lifecycle Collaboration (OSLC) Estimation and Measurement Service Version 1.0 (EMS 1.0), a REST API that enables the integration of software estimation tools with other tools used in the software development lifecycle. This document is a non-normative primer which is intended to serve as an easily-read introduction to the normative specification. For full details see [[Estimation and Measurement Service Version 1.0: REST API | REST API]].

Introduction

The goal of EMS 1.0 is to enable integration between software estimation tools and other tools used in the software development lifecycle, especially project management tools. In this context, a project is a time-bounded work effort that produces some unique result. The development of a major or minor release of a product or application is a good example of a project. The job of the software development manager is to steer the project towards completion on time, within budget, with good quality, and delivering the required capabilities.

It is common knowledge within the software industry that managing software projects is difficult. Each project is unique and is often complex. The underlying technology changes rapidly, the business environment is dynamic, and requirements alter during the course of the project. Project managers need to be able to accurately assess the progress and health of projects. Simply asking developers for their status is often insufficient to accurately judge the true state of the project. This is where estimation and measurements come in. Project managers augment the verbal status reports from the development team with quantitative measurements on the project and the artifacts being produced. These measurements are then compared to the estimates to determine if the project is progressing as planned. If the measurements disagree with the estimate, the project manager diagnoses the root cause and takes corrective action to steer the project back on course, or, in the absence of a feasible corrective action, informs the project sponsors that the project is off course and then replans the project.

Architecture

Provider and Consumer Roles

The EMS 1.0 specification describes a REST API that enables collaboration between project and portfolio management (PPM) tools and software estimation tools. The architecture is described in terms of an estimation and measurements service provider that is consumed by both the PPM and software estimation tools. However, PPM and software estimation tools may also provide this service. This specification does not dicate the product architecture, only the REST API. See the discussion of [[EMS 1.0 REST API Architecture | REST API Architecture]] for more deatils.

RDF

The EMS 1.0 specification uses Resource Description Framework (RDF) to describe the data model and to define XML resource representations. RDF/XML is used to define the syntax of the XML request and response bodies of its REST API. However, implementors are free to use any implementation technology, and other resource representations, e.g. JSON, are supported.

Scenarios

The remainder of this primer illustrates the features of EMS 1.0 using project management scenarios. We use personas to make the scenarios more realistic and easier to follow. A persona is a fictious person who plays the role of an actor in one or more scenarios. Personas will be introduced as required to illustrate the scenarios. Refer to [[EMS 1.0 Primer: Personas | Personas]] for a full description of the personas used in this primer.

The examples used are highly simplified in order to convey the underlying concepts as clearly as possible. The full details are described in the normative specification, [[Estimation and Measurement Service Version 1.0: REST API | REST API]].

  • [[EMS 1.0 Primer: Initiating a Project | Initiating a Project]]
  • [[EMS 1.0 Primer: Monitoring and Controlling a Project | Monitoring and Controlling a Project]]

The following scenarios will be elaborated at a later date:

  • [[EMS 1.0 Primer: Reestimating a Project | Reestimating a Project]]
  • [[EMS 1.0 Primer: Closing a Project | Closing a project]]
  • [[EMS 1.0 Primer: Calibrating an Organization | Calibrating an Organization]]

[[Category:EMS Primer]]

]]>
Mon, 24 Sep 2012 16:28 EDT
<![CDATA[EMS 1.0 Primer: Initiating a Project]]> OSLC Administrator http://open-services.net/wiki/estimation-and-measurement/EMS-1.0-Primer:-Initiating-a-Project/ http://open-services.net/wiki/estimation-and-measurement/EMS-1.0-Primer:-Initiating-a-Project/#When:1348518129 Initiating a project: [[EMS 1.0 Primer: Initiating a Project: Setup | Act 1. Setup]], [[EMS 1.0 Primer: Initiating a Project: Estimation | Act 2. Estimation]], [[EMS 1.0 Primer: Initiating a Project: Completion | Act 3. Completion]], [[EMS 1.0 Primer: Initiating a Project: Investment Risk | Investment Risk]], [[EMS 1.0 Primer: Initiating a Project: Summary | Summary]]

[TOC]

Status

This is a Draft Specification.

Overview

This scenario illustrates how EMS 1.0 may be used in the process of initiating a project. The main actors in this scenario are a portfolio manager and a software estimator. The scenario is divided into three acts.

In [[EMS 1.0 Primer: Initiating a Project: Setup | Act 1]] the portfolio manager, Pedro Mendelzohn, receives a proposal for a new software development project. Pedro sets up the project by entering some assumptions about its size and duration, and then requests an estimate.

In [[EMS 1.0 Primer: Initiating a Project: Estimation | Act 2]] the software estimator, Syd Ethan, receives the request for an estimate and uses a software estimation tool to predict the amount of effort required.

In [[EMS 1.0 Primer: Initiating a Project: Completion | Act 3]] Pedro reviews the effort estimate and applies labour rates to it to produce a cost estimate for inclusion in the business case of the project proposal.

The above three acts are highly simplified and omit the important concept of [[EMS 1.0 Primer: Initiating a Project: Investment Risk | investment risk]]. We discuss the uncertainties inherent in the project assumptions and estimates, and describe how these may be represented using probability distributions. The resulting cost estimate is also a probability distribution whose statistical variance is a measure of investment risk.

We conclude the discussion of this scenario with a [[EMS 1.0 Primer: Initiating a Project: Summary | summary]] of the interactions between the actors and tools in a sequence diagram.

The details of this scenario are described in the following sections:

  • [[EMS 1.0 Primer: Initiating a Project: Setup | Act 1. Setup]] - The portfolio manager sets up the project proposal and requests an estimate.
  • [[EMS 1.0 Primer: Initiating a Project: Estimation | Act 2. Estimation]] - The software estimator develops estimates for several alternate ways of running the project and reviews them with the portfolio manager.
  • [[EMS 1.0 Primer: Initiating a Project: Completion | Act 3. Completion]] - The portfolio manager analyses the cost-benefit-risk tradeoffs and selects the best alternative. This establishes the project baseline for cost, schedule, etc., and completes the process.
  • [[EMS 1.0 Primer: Initiating a Project: Investment Risk | Investment Risk]] - The uncertainty in estimates is a measure of investment risk.
  • [[EMS 1.0 Primer: Initiating a Project: Summary | Summary]] - The interactions between the actors are summarized in a sequence diagram.

Comments

Add your comments here:

Re: “Software estimation tools enter here by taking the project assumptions as input, and producing a plan as output. Consider the following highly simplified model. In this model the project inputs are size and duration. The output is effort. ” I suspect this is NOT something we will be automating any time soon. Perhaps some specific parts of it could, and that MAY have value. The example misses two critical points that affect whether we can automate through OSLC the “project assumptions as an input to the estimate”:

1) In general, the basic way estimation suites work is subtly different from this – I THINK, estimation suite vendors, please comment: A particular estimation tool has a “model” (I believe that’s the term used) of the input “parameters” (as in “parametric estimation”) needed to produce an estimate of schedule and effort/cost for the project(and perhaps other things). This is the “normal” path, but they can be and are “used in reverse” with contraints, as in this example…you can constrain the project by schedule (‘it must finish in 12 months or less’, or even “it must finish before VS Live 2002 so Grady Booch can demo it on stage with Bill Gates”) or effort (well, maybe team size–“there can be no more than 20 people assigned to this project”) and by using “what if” analysis, see what size/scope can be completed under those constraints with a given quality level or variations on this. Underneath is a relationship between our “four categories of metrics”– size, schedule, effort, and quality. But the parameters in the model–the “assumptions”– vary from tool to tool: Is “language coded in” a parameter, is “industry” (e.g. banking vs. A & D) a parameter etc.?

2) My experience is that these assumptions and contraints are specified in “free form text” within some kind of Vision document. Some project management systems (RPM, CA whatever Niku is now, Primavera I think—first one was LBMS back in the early 90’s!) allow such a document to be an attachment to the project. Other times this is in a requirements management system (RequisitePro, Rational Requirements Composer, I think also DOORS, not, I believe Calibre). And the “project assumptions” are all over the map, and not necessarily inputs to estimation: “We will market this initially in the Southwest United States and France” But in neither case, whether it’s in the project management tool or a requirements management tool is it in a form that can be used for automation. If the Project Management system provides it as a blob/bytestream in the return of a GET method, it will have to be parsed from its original Japanese, Norwegian, or maybe even English to find the inputs to the estimate. Not likely in this round of work :)

However—are the SOME assumptions/constraints we can identify as “general enough” for all estimation tools and can be structured so they aren’t just in text? Probably, but is this a fruitful line of investigation, or will the results of doing so still not be enough automation of the inputs to the estimate to justify it this round of work? This is a prioritization question for our group as much as it is a technical question.

Main/AndyBerner - 17 Jul 2009

The portfolio/project manager can get a useful, more detailed description of effort from the estimation tool. Type “MetricsEffortEstimateDetail” in the Jump box at the top of this page.

Main/AndyBerner - 28 Jul 2009

I presume that the Scenario Resource (containing the set of assumptions that become inputs to the estimate) could be extensible (its properties). For example, if a vendor comes up with a model that enriches estimation power by including skills and experience of developers (people) available in a project… that they could add those as properties in the scenario resource

Main/LucinioSantos - 27 Jan 2010

[[Category:EMS Primer]]

]]>
Mon, 24 Sep 2012 16:22 EDT