Proposed Unified ility Definition Framework Andrew Long andrewlongalum

  • Slides: 18
Download presentation
Proposed Unified “ ility” Definition Framework Andrew Long andrewlong@alum. mit. edu

Proposed Unified “ ility” Definition Framework Andrew Long andrewlong@alum. mit. edu

Motivation § Increased interest in system “ilities” § Lack of common understanding among practitioners

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 to [do

What are system “ilities”? § -ility • Latin: a suffix; meaning, 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

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 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

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

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

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.

Proposed “ility” Framework Performance Change Objectives Value Change Objectives Robustness Quality (Assurance and control)

Proposed “ility” Framework Performance Change Objectives Value Change Objectives Robustness Quality (Assurance and control) Resiliency Expandability Scalability Extensibility Modifiability Configurability Evolvability Change Effect • • • Safety Reliability Availability Maintainability Testability • • Awareness Susceptibility Vulnerability Recoverability Change Enablers • • • Accessibility Compatibility Commonality Distributability Durability Homogeneity Heterogeneity Interchangeability Interoperability • • Mobility Modularity Portability Repairability Reusability Serviceability (a. k. a. supportability) Understandability Usability / operability Change Considerations • • Affordability Sustainability • • Agility / Responsiveness Manufacturability Change Agents • Flexibility (External) • Adaptability (Internal)

Maintaining Performance § Quality: Ability of a product / service to deliver desired performance

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 A A § 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)

Increasing / Decreasing Performance § Scalability: Ability of a system to provide more /

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 A B A A § Examples: • • Electronics / Networking. Performance improves after adding hardware, proportionally to the capacity added Peer-to-Peer (P 2 P): Facebook, Pinterest, Linked. In, Groupon, and many, many more…

Adding / Removing Performance § Configurability: Ability of a system to change its behavior

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 A B § Examples: • • Swiss Army knife High Mobility Multipurpose Wheeled Vehicle (HMMWV) A A

Maintaining Value § Resiliency: Ability of a system to continue to satisfy value expectations

Maintaining Value § 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 B A A A+B § 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 - Do. D § Resiliency aspects • • Awareness (Identification changing in value expectations) Survivability (Susceptibility, Vulnerability, Recoverability)

Increasing / Decreasing Value § Extensibility: Ability of a system to satisfy expanded /

Increasing / Decreasing Value § 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 B A A A+B § 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)

Adding / Removing Value § Evolvability: Ability of a system to satisfy new /

Adding / Removing Value § 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 B A A § Examples: • • Biological systems Internet / World Wide Web A+B

Change Enablers § System design / operational approaches employed to achieve desired change objective

Change Enablers § System design / operational approaches employed to achieve desired change objective Accessibility Compatibility Commonality Distributability Durability Homogeneity Heterogeneity Interchangeability Interoperability Modularity Portability Repairability Reusability Serviceability (a. k. a. supportability) Usability / operability …

Change Considerations § Design considerations (e. g. conditions, resources, constraints, etc. ) applied to

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

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 specifying change objectives, enablers, etc.

Questions ? Performance Change Objectives Value Change Objectives Robustness Quality (Assurance and control) Resiliency

Questions ? Performance Change Objectives Value Change Objectives Robustness Quality (Assurance and control) Resiliency Expandability Scalability Extensibility Modifiability Configurability Evolvability Change Effect • • • Safety Reliability Availability Maintainability Testability • • Awareness Susceptibility Vulnerability Recoverability Change Enablers • • • Accessibility Compatibility Commonality Distributability Durability Homogeneity Heterogeneity Interchangeability Interoperability • • Mobility Modularity Portability Repairability Reusability Serviceability (a. k. a. supportability) Understandability Usability / operability Change Considerations • • Affordability Sustainability • • Agility / Responsiveness Manufacturability Change Agents • Flexibility (External) • Adaptability (Internal)