Outcomes, Capabilities and Links for Value Traceability

Introduction

This group of endpoints is useful for tracing requirement hierarchies and specifically the traceability of requirements to business value. ScopeMaster defines a 3-tier hierarchy as follows:

  1. Outcomes (should have a business scale with current and target values.)
  2. Capabilities (aka Epics)
  3. Requirements (user stories, functional, non-functional, constraints and tasks)

Available Commands:

GET /app/{app_id}/trace outcomes, capabilities and links between them


Manage Outcomes

GET /outcomes/{outcome_id} fetch a single outcome

POST /outcomes/ create a single outcome

PUT /outcomes/{outcome_id} update a single outcome

DELETE /outcomes/{outcome_id} delete a single outcome


Manage Capabilities

GET /capabilities/{capability_id} fetch a single capability

POST /capabilities/ create a single capability

PUT /capabilities/{capability_id} update a single capability

DELETE /capabilities/{capability_id} delete a single capability


Manage Links between them

POST /outcome_capabilities/ create a single outcome_capability link

DELETE /outcome_capabilities/{outcome_id}/{capability_id} delete a single outcome_capability link

POST /capability_requirements/ create a single capability_requirement link

DELETE /capability_requirements/{capability_id}/{requirement_id} delete a single capability_requirement link


List Outcomes, Capabilities and links

GET https://api.scopemaster.com/v1/app/{app_id}/trace

Returns four groups of objects:

  1. Outcomes (array)
  2. Capabilities (array)
  3. Outcome_capabilities (keyed object of the hierarchical relationship, including the CFP of the downstream requirements)
  4. Capability_requirements (keyed object of the hierarchical relationship including the CFP of the downstream requirements)

Partial output from /api/v1/apps/AP3a54192802/trace

"outcomes": [
        {
            "id": "OUcc242df174",
            "user_id": "1",
            "external_id": "",
            "statement": "random outcome statement ",
            "body": "",
            "scale": "increase sales",
            "current_value": "0",
            "target_value": "2",
            "created_utc": "1714552503",
            "updated_utc": "0"
        },
        {
            "id": "OU91d98c8296",
            "user_id": "1",
            "external_id": "",
            "statement": "random outcome statement 40",
            "body": "",
            "scale": "increase sales",
            "current_value": "0",
            "target_value": "95",
            "created_utc": "1714552767",
            "updated_utc": "0"
        },
        {
            "id": "OU1148e2c276",
            "user_id": "1",
            "external_id": "",
            "statement": "random outcome statement 22",
            "body": "",
            "scale": null,
            "current_value": "3",
            "target_value": "83",
            "created_utc": "1714557702",
            "updated_utc": "0"
        },
        {
            "id": "OUdc746969d9",
            "user_id": "1",
            "external_id": "",
            "statement": "random outcome statement 12",
            "body": "",
            "scale": "increase sales",
            "current_value": "10",
            "target_value": "38",
            "created_utc": "1714557735",
            "updated_utc": "0"
        }
    ],
    "capabilities": [
        {
            "id": "CA17876386c5",
            "user_id": "1",
            "external_id": "",
            "statement": "random capability statement 885",
            "body": "",
            "scale": "increase sales",
            "current_value": "2",
            "target_value": "13",
            "created_utc": "1714587121",
            "mcod": "300",
            "updated_utc": "0"
        },
        {
            "id": "CAfddce72c94",
            "user_id": "1",
            "external_id": "",
            "statement": "random capability statement 847",
            "body": "",
            "scale": "increase sales",
            "current_value": "1",
            "target_value": "60",
            "created_utc": "1714587121",
            "mcod": "300",
            "updated_utc": "0"
        },
        {
            "id": "CAcf316b94aa",
            "user_id": "1",
            "external_id": "",
            "statement": "random capability statement 796",
            "body": "",
            "scale": "increase sales",
            "current_value": "1",
            "target_value": "47",
            "created_utc": "1714587121",
            "mcod": "300",
            "updated_utc": "0"
        },
        {
            "id": "CA14dd5618ae",
            "user_id": "1",
            "external_id": "",
            "statement": "random capability statement 661",
            "body": "",
            "scale": "increase sales",
            "current_value": "3",
            "target_value": "68",
            "created_utc": "1714587122",
            "mcod": "300",
            "updated_utc": "0"
        },
        {
            "id": "CA0db97fefa6",
            "user_id": "1",
            "external_id": "",
            "statement": "random capability statement 684",
            "body": "",
            "scale": "increase sales",
            "current_value": "2",
            "target_value": "19",
            "created_utc": "1714630224",
            "mcod": "300",
            "updated_utc": "0"
        }
    ],
    "outcome_capabilities": {
        "OUcc242df174": {
            "cfp": 3,
            "capabilities": {
                "CA17876386c5": {
                    "capability_id": "CA17876386c5",
                    "cfp": 3
                }
            }
        },
        "OU91d98c8296": {
            "cfp": 9,
            "capabilities": {
                "CAfddce72c94": {
                    "capability_id": "CAfddce72c94",
                    "cfp": 3
                },
                "CAcf316b94aa": {
                    "capability_id": "CAcf316b94aa",
                    "cfp": 3
                },
                "CA14dd5618ae": {
                    "capability_id": "CA14dd5618ae",
                    "cfp": 3
                }
            }
        },
        "OU1148e2c276": {
            "cfp": 3,
            "capabilities": {
                "CAcf316b94aa": {
                    "capability_id": "CAcf316b94aa",
                    "cfp": 3
                }
            }
        },
        "OUdc746969d9": {
            "cfp": 3,
            "capabilities": {
                "CA14dd5618ae": {
                    "capability_id": "CA14dd5618ae",
                    "cfp": 3
                }
            }
        }
    },
    "capability_requirements": {
        "CA17876386c5": {
            "requirements": {
                "RQ67b9259d1d": {
                    "requirement_id": "RQ67b9259d1d",
                    "cfp": 3
                }
            },
            "cfp": 3
        },
        "CAfddce72c94": {
            "requirements": {
                "RQe60e737631": {
                    "requirement_id": "RQe60e737631",
                    "cfp": 3
                }
            },
            "cfp": 3
        },
        "CAcf316b94aa": {
            "requirements": {
                "RQ588eba4108": {
                    "requirement_id": "RQ588eba4108",
                    "cfp": 3
                }
            },
            "cfp": 3
        },
        "CA14dd5618ae": {
            "requirements": {
                "RQf7f4a0c53e": {
                    "requirement_id": "RQf7f4a0c53e",
                    "cfp": 3
                }
            },
            "cfp": 3
        }
    }

Create an Outcome

POST https://api.scopemaster.com/v1/outcomes/

app_id Required
statement Required 4-200 varchar
body Recommended text
scale Recommended 4-200 varchar
current_value Recommended numeric
target_value Recommended numeric
external_id Optional 250 varchar

Returns json with the outcome that was just created.

Delete an Outcome

An outcome can only be deleted if it has no links to capabilities.

DELETE https://api.scopemaster.com/v1/outcomes/{outcome_id}


Create a Capability

POST https://api.scopemaster.com/v1/capabilities/

app_id Required
statement Required 4-200 varchar
body Recommended text
scale Recommended 4-200 varchar
current_value Recommended numeric
target_value Recommended numeric
external_id Optional 250 varchar
mcod Optional numeric

mcod is the monthly cost of delay associated with this capability not being delivered. It can be used to determine the weighted shortest job first calculation for prioritising work.

Returns json with the capability that was just created.


Delete an Outcome

A capability can only be deleted if it has no links to requirements.

DELETE https://api.scopemaster.com/v1/capabilities/{capability_id}



Links

There are two types of links:

  1. from outcomes to capabilities
  2. from capabilities to requirements

These can be created and deleted. Their existence is visible from the trace output of app. A link defines a 1:1 relationship. A requirement can link to many capabilities and a capability can link to many outcomes.


Create an Outcome_capabilities link

POST https://api.scopemaster.com/v1/outcome_capabilities/

app_id Required varchar
outcome_id Required varchar
capability_id Required varchar

Delete an Outcome_capabilities link


DELETE https://api.scopemaster.com/v1/outcome_capabilities/{outcome_id}/{capability_id}


Create a Capability_requirements link

POST https://api.scopemaster.com/v1/capability_requirements/

app_id Required varchar
capability_id Required varchar
requirement_id Required varchar

Delete a Capability_requirements link


DELETE https://api.scopemaster.com/v1/capability_requirements/{capability_id}/{requirement_id}

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us