180 likes | 371 Views
Proposed Unified “ ility” Definition Framework. Andrew Long andrewlong@alum.mit.edu. Motivation. Increased interest in system “ilities” Lack of common understanding among practitioners Definitions Relationships between one ility and another Metrics
E N D
Proposed Unified “ility” Definition Framework Andrew Long andrewlong@alum.mit.edu
Motivation • Increased interest in system “ilities” • Lack of common understanding among practitioners • Definitions • Relationships between one ility and another • Metrics • Objective: Provide a framework to promote shared discussion of system “ilities”
What are system “ilities”? • -ility • Latin: a suffix; meaning, ability, ability to [do something] • In systems engineering “ilities” are desired system properties • “ilities” describe the system (non-functional) rather than specific system behaviors (functional) • Functional requirements define what a system is supposed to do; e.g. Performance • Non-functional requirements define how a system is supposed to be.
Some examples? • Accessibility • Accountability • Adaptability • Administrability • Affordability • Auditability • Availability • Credibility • Compatibility • Configurability • Correctness • Customizability • Debugability • Degradability • Determinability • Demonstrability • Dependability • Deployability • Distributability • Durability • Effectiveness • Evolvability • Extensibility • Fidelity • Flexibility • Installability • Integrity • Interchangeability • Interoperability • Learnability • Maintainability • Manageability • Mobility • Modifiability • Modularity • Operability • Portability • Predictability • Provability • Recoverability • Reliability • Repeatability • Reproducibility • Resilience • Responsiveness • Reusability • Robustness • Safety • Scalability • Sustainability • Serviceability (a.k.a. supportability) • Securability • Simplicity • Stability • Survivability • Sustainability • Tailorability • Testability • Timeliness • Traceability • Ubiquity • Understandability • Upgradability • Usability • Versatility “List of system quality attributes”– Wikipedia, May 2012
How are they related to one another? "Engineering Systems: Meeting Human Needs in a Complex Technological World" by de Weck O., Roos D. and Magee C, MIT Press, January 2012
Common element: Uncertainty • In system engineering, uncertainties occur in performance & value expectations • Performance: Variance between actual and desired system performance resulting from uncertainty within contexts (e.g. design, production, operations, etc.) • Value: Variance in “expected value” resulting from feedback of delivered value, resulting from changing context, stakeholders, needs, etc. • System “ilities” account for a system’s ability to change / react to uncertainty Figure adapted from: Ross, A.M., and Rhodes, D.H., "Using Natural Value-centric Time Scales for Conceptualizing System Timelines through Epoch-Era Analysis," INCOSE International Symposium 2008, Utrecht, the Netherlands, June 2008
Designing for Uncertainty • System “Changeability” taxonomy (Ross et al.) provides start for defining system ilities. • Change Effect: The difference in states (performance or value) before and after a change has taken place • Robustness (No Change) • Scalability (Do More / Less) • To deconflict w/ more common scalability definitions, will refer to as Expandability • Modifiability (Add, Remove, Alter ) • Change Objective: The specific approach / plan / goal / strategies one employs to achieve a desired change effect (Think of these as common “ility” families). Objectives enabled by change enablers and must account for change considerations • Change Enablers: System design elements / operational decisions that enable the change objective • Change Considerations: Constraints, Conditions, resources, etc. • Change Agent: The instigator, or force, for the change Ross, A.M., Rhodes, D.H., and Hastings, D.E., "Defining Changeability: Reconciling Flexibility, Adaptability, Scalability, Modifiability, and Robustness for Maintaining Lifecycle Value," Systems Engineering, Vol. 11, No. 3, pp. 246-262, Fall 2008.
Maintaining Performance • Quality: Ability of a product / service to deliver desired performance in spite of internal contextual uncertainties • System performance change objectives • Robustness (No Change) change effect strategies • Examples: Toyota Production System, Six Sigma, Taguchi loss function, Telecommunications, … • Quality Aspects • Assurance: Activities designed to ensure that quality requirements are fulfilled (includes Safety, Reliability, Availability, Maintainability) • Control: Examination activities (i.e. manufacturing, production, operations) to assess system status (includes testability) A A A A
Increasing / Decreasing Performance • Scalability: Ability of a system to provide more / less functionality as a response to internal contextual uncertainties in order to delivery desired performance • System performance change objectives • Expandability (Do More / Less) change effect strategies • Examples: • Electronics / Networking. Performance improves after adding hardware, proportionally to the capacity added • Peer-to-Peer (P2P): Facebook, Pinterest, LinkedIn, Groupon, and many, many more… B A A A
Adding / Removing Performance • Configurability: Ability of a system to change its behavior as a response to internal contextual uncertainties in order to delivery desired performance • System performance change objectives • Modifiability (Add, Remove, Alter) change effect strategies • Examples: • Swiss Army knife • High Mobility Multipurpose Wheeled Vehicle (HMMWV) B A A A
Maintaining Value B • Resiliency: Ability of a system to continue to satisfy value expectations despite changes in context and /or value-based uncertainties • System value change objectives • Resiliency (No Change) change effect strategies • Example: Survivable communications systems, Network design / topology,Combat systems / aircraft survivability • Ability of an architecture to support the functions necessary for mission success in spite of hostile or adverse conditions - DoD • Resiliency aspects • Awareness (Identification changing in value expectations) • Survivability (Susceptibility, Vulnerability, Recoverability) A A + B A + B A
Increasing / Decreasing Value B • Extensibility: Ability of a system to satisfy expanded / contracting value expectations as a response to changes in context and value-based uncertainties • System value change objectives • Expandability (Do More / Less) change effect strategies • Examples: • Software APIs (Application Programming Interface) that allows software behavior to be extended / modified (used) by people who don't have access to the original source code. • Software languages (e.g. JAVA) that allow for software applications to run on a variety of operating platforms • Infrastructure (e.g. Highway, Rail, Telecommunications) • Large scale defense systems (e.g. Air Bases, Aircraft Carriers, Lockheed C-130 Hercules, Satellites) A A + B A + B A
Adding / Removing Value B • Evolvability: Ability of a system to satisfy new / eliminated value expectations as a response to changes in context and value-based uncertainties • System value change objectives • Modifiability (Add, Remove, Alter) change effect strategies • Examples: • Biological systems • Internet / World Wide Web A A + B A + B A
Change Enablers • System design / operational approaches employed to achieve desired change objective • Accessibility • Compatibility • Commonality • Distributability • Durability • Homogeneity • Heterogeneity • Interchangeability • Interoperability • Mobility • Modularity • Portability • Repairability • Reusability • Serviceability (a.k.a. supportability) • Usability / operability • …
Change Considerations • Design considerations (e.g. conditions, resources, constraints, etc.) applied to design / operational approaches • Affordability (Budget) • Sustainability (Resources) • Agility / Responsiveness (Schedule / Response time) • Manufacturability (Technology) • Manageability (Organizational)
Change Agents • The instigator, or force, which employs a given change mechanism in order to achieve a desired change effect • Flexibility: External decision-maker imposed change • Associated with future / delayed decisions to respond to change(i.e. Real options) • Adaptability: System self-imposed change • Associated with upfront / current decisions to respond to change (i.e. Pre-planned / Baked – in) • Flexibility / Adaptability are meaningless without specifyingchange objectives, enablers, etc.