Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using TRIZ to Balance Software Process Commonality and Diversity

Similar presentations


Presentation on theme: "Using TRIZ to Balance Software Process Commonality and Diversity"— Presentation transcript:

1 Using TRIZ to Balance Software Process Commonality and Diversity
Dan Houston The Aerospace Corporation July 6, 2017

2 An Concept Map of this Paper
TRIZ Software process commonality and diversity Applications to software work TRIZ and process commonality Process commonality benefits Process diversity benefits Procedure for designing process commonality Tension Seeking process commonality Process commonality analysis Measuring process commonality

3 Software Process Commonality and Diversity
Factors Many software products Reduce software production costs Different purposes Organizational efficiencies Process diversity Process commonality Lack of coordinated process guidance Reduce software production delays Project efficiencies Eliminate barriers to collaboration and mergers Distributed development Process diversity is driven by product and project factors Process commonality driven by corporate economic needs The issue for large software-producing companies is balancing corporate needs and project needs

4 Software Process Commonality and Diversity
Benefits of Process Commonality Better management of personnel Shared process knowledge and skills facilitates movement between projects Reduced communication cost Common terms facilitate communication and avoid miscommunication Improved results in geographically-distributed projects Common process, tools and language facilitate work across sites Lower cost of process maintenance and improvement Commonality reduces cost of process expert staffing for updating and deployment Deeper understanding of development dynamics Cost of process modeling is easier to justify when widely used Software reuse A defined software process promotes reuse among practitioners Process commonality can produce many efficiencies

5 Software Process Commonality and Diversity
Benefits of Process Diversity Project-based reasons Size: larger project require more discipline than small ones Domain: design, programming and testing differ by software domain (business, real-time, systems, scientific, and so forth) Criticality: process formality and discipline increase with the importance of functionality (for example, entertainment versus medical devices) Innovativeness: method constraints may be lifted for creativity-taxing development Business strategy: process decisions are often driven by business emphasis (for example, first to market, operational excellence, product innovation) Project priorities: predictability, responsiveness to change, government regulations, high reliability Program resources often shape development processes Product lifecycle: process adaptation required for sustainment Product source: process adaptation for SPL, COTS, MBSD, or subcontracted Process limitations due to organization structure and roles, and to tool assumptions Process diversity accommodates variation in business goals and means of addressing those goals in programs, projects, and products

6 Software Process Commonality and Diversity
The Practical Problem Commonality and diversity are held in tension Options for process leaders Create and deploy an entirely new process that replaces existing processes Fresh start but costly Takes away something from everyone May not satisfy the organization Take the process that is most mature or is used by the majority and deploy it in the remaining groups Pitfall: procedure commonality is mandated for all sites Study the existing processes, identify what is common, and call it the common process Most promising and the most challenging Commonality at too low a level leads to culture clashes and leadership struggles Commonality at too high a level results in ambiguous terms, divergent tools, and inconsistent work instructions, all increasing integration risk We will look at the third option of identifying commonality in existing processes

7 TRIZ (Theory of Inventive Problem Solving)
Theory of the Resolution of Invention-related Tasks Developed by Genrich Altschuller ( ) inventor and patent researcher Invention is nothing more than the removal of a technical contradiction with the help of certain principles The most innovative solutions were produced when a physical contradiction could be resolved He described underlying principles in the resolutions Defined product parameters that describe useful functionality and inventive principles for resolving contradictions between the parameters Inventive principles Are not solutions “Provide a systematic and potent means of breaking out of current paradigms into often exciting and beneficial new ones” Assist in stimulating creative thinking and directing it toward optimal solutions The hard work of detailing design options and systematically analyzing them for a particular situation is still required Thus, this paper does not provide an answer to the problem of process commonality but provides stimulus for finding a good solution TRIZ is derived from the study of patterns of invention in the global patent literature

8 TRIZ and Process Commonality
First approach: analogy Form a contradiction A process must be both common and diverse Analogous approach: start with 39 engineering parameters of TRIZ Diversity is like adaptability or versatility Commonality is like breadth The TRIZ Contradiction Matrix relates conflicting parameters with principles used most often to resolve them. The matrix places the parameter being improved on the vertical axis and the worsening parameter on the horizontal axis.

9 Two Applicable Inventive Principles
1. Segmentation. Divide an object into independent parts or segments. Examples: Modular furniture allows for various living room configurations. Increase software stability by doing many small builds rather than one large build. Analogy for software process commonality: Segment a process into practices, application notes, templates, examples, checklists, and so forth that provide varying degrees of specificity and adaptability 35. Parameter changes. Transform an object parameter, for example, physical state (gas/liquid/solid), density, flexibility, or temperature. Example: To facilitate the production of liquid-filled candies, freeze the centers before dipping them in melted chocolate. (state change) Analogy for software process commonality: Deliver a concise, concentrated process description to all projects and then let each project expand it to fit specific needs

10 TRIZ and Process Commonality
Second approach: adaptation to business and management Parameters adapted to business and management1 produced 12 pairs describing organizational contradictions with related inventive principles Homogeneity – Diversity: Change from homogeneous structures, systems or environments to compound structures, and dissimilar systems or environments. Reduce the degree of diversity in the structures, systems or the environment. Related principles: 3. Local Quality 12. Equipotentiality 33. Homogeneity 31. Porous Material 40. Composite Materials Standardization – Specialization: Use more standardized processes, procedures, methods and products. Gain an advantage by utilizing special processes, products or methods. Related principles 6. Multifunctionality 27. Disposable Objects 1Ruchti and Livotov, 2001

11 Three Applicable Inventive Principles
Local quality: Change an object’s structure or external environment/influence so that the object will have different features or influences in different places or situations. Provide a transition from a homogeneous structure to a heterogeneous structure. Have different parts of an object carry out different functions. Place each part of the object under conditions most favorable for its operation. Can a process or parts of a process be defined on a continuum, from rigorous to flexible, or from necessary to advisable? Can each part of a common process be made to emphasize a specific set of practices that meets the needs of different classes of projects? Multifunctionality: Have the object perform multiple functions, thereby eliminating the need for other objects. Can a process be defined that does everything that is done by diverse processes? Homogeneity: Make objects that interact of the same material, or material that has identical properties. Can a common process take advantage of familiarity with diverse predecessor processes by packaging it so that it has the external features common to the diverse processes?

12 TRIZ and Process Commonality
Third approach: directly consult the list of inventive principles 7. Nesting: Contain an object inside another. Can a common process have levels of abstraction/specificity? Example: local procedures are instantiations of corporate processes. Can a process be defined based on a hierarchy of project needs, from basic (common to all) to transcendent (for high-performing projects)? Example: levels of quality assurance discipline, each level assuming the preceding level. 16. Partial or excessive action: When a 100% solution cannot be achieved easily, simplify the problem by doing somewhat more or less. Can less than a fully defined common process be provided, one that allows projects to add process discipline where needed? Example: corporate process is minimal allowing for local embellishments. Can more process definition be provided than is required for any one project and allow projects tailoring choices? Example: a complete organizational process with options for selecting practices for a specific project 40. Composite materials: Change uniform objects to composite objects. Can a common process be composed of both moderately effective and highly effective quality-inducing activities that can be combined in proportions pertinent to a specific project? Examples: combine lean practices with early quality assurance practices (may not be regarded as lean).

13 Three Applicable Inventive Principles
Local quality: Change an object’s structure or external environment/influence so that the object will have different features or influences in different places or situations. Provide a transition from a homogeneous structure to a heterogeneous structure. Have different parts of an object carry out different functions. Place each part of the object under conditions most favorable for its operation. Can a process or parts of a process be defined on a continuum, from rigorous to flexible, or from necessary to advisable? Can each part of a common process be made to emphasize a specific set of practices that meets the needs of different classes of projects? Multifunctionality: Have the object perform multiple functions, thereby eliminating the need for other objects. Can a process be defined that does everything that is done by diverse processes? Homogeneity: Make objects that interact of the same material, or material that has identical properties. Can a common process take advantage of familiarity with diverse predecessor processes by packaging it so that it has the external features common to the diverse processes? The paper cites eight cases of process design that exemplify five inventive principles

14 A procedure for designing process commonality
Identify the group responsible for developing process commonality. The membership should represent the interests of those who currently use diverse processes that will be characterized by process commonality. Review the benefits of process commonality and of process diversity. Develop a consensus as to the priority of the benefits. Use a prioritization matrix to translate the prioritized benefits into prioritized process characteristics (for example, scalability, portability, generality, interoperability, and maintainability). Use the TRIZ algorithm to identify applicable inventive principles. Use the inventive principles to produce questions and suggestions for process architectures that support commonality and diversity. Use various combinations of the questions and suggestions to describe several distinct process architectures. Exemplify these architectures by applying them to the elements of the current diverse processes. Evaluate the process architectures in a concept selection exercise using the prioritized characteristics from Step 3 as criteria. Hybrid process architectures can be developed after each evaluation until a desirable one is produced.

15 Process Commonality Analysis
Methods Process diagram analysis Study process diagrams for similarity of purpose Identify processes as either identical, similar, or unique Identical: no variation in purposes and functions performed Similar: same purposes but variation in functions performed Unique: the purpose is required by only one process Scope, commonality, variability (SCV) analysis List of assumptions for the processes List of variabilities with range of values for each Time at which each value is fixed Matrix elements of one process against elements of another process Compare processes phase-by-phase or level-by-level Cell values indicate degree of similarity

16 Measuring Process Commonality
Two metrics Ratio of common production processes to all production processes (Blecker et al., 2003) Process Commonality Utilization Index, 1≤ PCUI ≤ nd (Jiao & Tseng, 2000) 𝑝=1 𝑛𝑝 𝑗=1 𝑛𝑑 𝜆𝑝𝑗 Process commonality metric = Number of common process activities Number of all process activities np total number of processes p the index of a particular process, p = 1,2,…,np nd total number of items produced, including components and assemblies j the index of an item produced, j = 1,2,…,nd λpj a 0-1 variable: 1 when item j utilizes process p, otherwise 0 Metrics for indicating commonality improvements


Download ppt "Using TRIZ to Balance Software Process Commonality and Diversity"

Similar presentations


Ads by Google