configuration/lexicon/data/quality.data.json
configuration/lexicon/data/quality.data.json is a file in GovLab Context. 213 lines of code and 0 definitions.
{
"category": "quality-attributes",
"records": [
{
"name": "Availability",
"kind": "quality-attribute",
"definition": "The proportion of time a system is operational and able to serve requests."
},
{
"name": "Security",
"distinctFrom": [
{
"id": "architecture:model-safety",
"reason": "Security protects data and behavior from attack, while model safety prevents a model's harmful inputs, outputs and actions."
},
{
"id": "architecture:runtime-extensibility",
"reason": "Security limits what can reach a system, while runtime extensibility opens it to new capability as it runs."
},
{
"id": "lexicon:quality",
"reason": "Security is one expectation of a system, while quality is how far it meets all of them."
},
{
"id": "lexicon:architecture-compliance",
"reason": "Security is protection from misuse, while architecture compliance is conformance to the intended structure."
}
],
"kind": "quality-attribute",
"definition": "The degree to which a system protects its data and behavior from unauthorized access, misuse, or attack."
},
{
"name": "Simplicity",
"distinctFrom": [
{
"id": "lexicon:locality-of-behavior",
"reason": "Simplicity is the absence of unneeded structure, while locality of behavior keeps related behavior together even at the cost of some duplication."
}
],
"kind": "quality-attribute",
"definition": "The absence of unnecessary structure, keeping a system easy to understand and change."
},
{
"name": "Debuggability",
"distinctFrom": [
{
"id": "architecture:traceability",
"reason": "Debuggability is locating and understanding a fault, while traceability is following one request or change end to end."
},
{
"id": "architecture:auditability",
"reason": "Debuggability serves finding faults, while auditability serves accounting for sensitive actions."
},
{
"id": "lexicon:strong-consistency",
"reason": "Debuggability is how easily a fault is understood, while strong consistency is every read seeing the latest write."
},
{
"id": "lexicon:ordering",
"reason": "Debuggability is understanding faults, while ordering is processing events in one defined sequence."
}
],
"kind": "quality-attribute",
"definition": "The ease with which a fault can be located and understood from a system's observable behavior."
},
{
"name": "Maintainability",
"distinctFrom": [
{
"id": "architecture:pattern-consistency",
"reason": "Maintainability is the ease of changing a system, while pattern consistency is one problem solved one way, which helps it."
}
],
"kind": "quality-attribute",
"definition": "The ease with which a system can be corrected, adapted, and extended over its lifetime."
},
{
"name": "Complexity",
"kind": "quality-attribute",
"definition": "The degree of interdependence and intricacy that makes a system harder to reason about and change."
},
{
"name": "Fault Isolation",
"kind": "quality-attribute",
"definition": "The degree to which a failure in one component is contained and prevented from cascading to others."
},
{
"name": "Architecture Compliance",
"kind": "quality-attribute",
"definition": "The degree to which an implementation conforms to its intended architectural rules, boundaries, and constraints."
},
{
"name": "Coordination Overhead",
"kind": "quality-attribute",
"definition": "The additional cost incurred to synchronize and coordinate concurrent or distributed units of work."
},
{
"name": "Data Integrity",
"kind": "quality-attribute",
"definition": "The accuracy, consistency, and validity of data maintained over its entire lifecycle."
},
{
"name": "Discoverability",
"distinctFrom": [
{
"id": "lexicon:glob-resolvability",
"reason": "Discoverability is how easily anything in a system is found and understood, while glob resolvability is one pattern collecting a whole concern."
}
],
"kind": "quality-attribute",
"definition": "The ease with which a system's components, capabilities, or endpoints can be found and understood."
},
{
"name": "Mapping Overhead",
"kind": "quality-attribute",
"definition": "The additional cost of translating data or calls between two differing representations or models."
},
{
"name": "Operational Overhead",
"kind": "quality-attribute",
"definition": "The ongoing effort and resource cost of deploying, running, and maintaining a system in production."
},
{
"name": "Ordering",
"kind": "quality-attribute",
"definition": "The guarantee that events or messages are processed in a well-defined, consistent sequence."
},
{
"name": "Partial Availability",
"kind": "quality-attribute",
"definition": "The condition in which a system continues serving a subset of its functions while some components are unavailable."
},
{
"name": "Performance",
"kind": "quality-attribute",
"definition": "The speed, throughput, and resource efficiency with which a system performs its work."
},
{
"name": "Policy Complexity",
"kind": "quality-attribute",
"definition": "The difficulty of understanding, maintaining, and reasoning about a policy as its rules multiply."
},
{
"name": "Readability",
"kind": "quality-attribute",
"definition": "The ease with which source code can be read and understood by a developer."
},
{
"name": "Reliability",
"distinctFrom": [
{
"id": "lexicon:data-integrity",
"reason": "Reliability is functions performing correctly over time, while data integrity is the data staying accurate and valid over its life."
}
],
"kind": "quality-attribute",
"definition": "The degree to which a system performs its required functions correctly and consistently over time."
},
{
"name": "Resource Efficiency",
"kind": "quality-attribute",
"definition": "The degree to which a system accomplishes its work using minimal computational resources."
},
{
"name": "Retry Safety",
"kind": "quality-attribute",
"definition": "The property that an operation can be retried without producing duplicate or inconsistent effects."
},
{
"name": "Robustness",
"kind": "quality-attribute",
"definition": "The degree to which a system continues to operate correctly under invalid input, stress, or unexpected conditions."
},
{
"name": "Static Safety",
"distinctFrom": [
{
"id": "lexicon:security-debugging",
"reason": "Static safety catches errors before code runs, while the security and debugging cost is what generating code at runtime adds."
}
],
"kind": "quality-attribute",
"definition": "The guarantee that whole classes of errors are caught at compile time, before code runs."
},
{
"name": "Substitutability",
"kind": "quality-attribute",
"definition": "The degree to which a component can be replaced by another honoring the same contract without breaking clients."
},
{
"name": "Team Autonomy",
"distinctFrom": [
{
"id": "lexicon:independent-scaling",
"reason": "Team autonomy is teams deciding without coordination, while independent scaling is parts of the system growing separately."
}
],
"kind": "quality-attribute",
"definition": "The degree to which a team can make and deliver decisions independently, without cross-team coordination."
},
{
"name": "Tooling Complexity",
"kind": "quality-attribute",
"definition": "The effort required to set up, learn, and maintain the tools a technique or approach depends on."
},
{
"name": "User Experience",
"kind": "quality-attribute",
"definition": "The overall quality of a user's interaction with a system, including responsiveness, clarity, and ease of use.",
"aliases": ["UX"]
}
]
}