Presentation on theme: "Proposed Unified “ility” Definition Framework Andrew Long"— Presentation transcript:
Proposed Unified “ility” Definition Framework Andrew Long
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.
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 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 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.
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 , 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… A B A A
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) Adding / Removing Performance A B A A
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 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
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 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
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 Examples: Biological systems Internet / World Wide Web A A B A + B
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.