Applying TRIZ in Information Technology Outsourcing

By Ramkumar Subramanian

Abstract

TRIZ, a Russian acronym for the Theory of Inventive Problem Solving, is a methodology to generate innovative ideas resulting from the investigation of commonalities among patents. Outsourcing, which involves transferring the execution of areas of an industry to a partner to improve time-to-market and reduce cost, has become one of the key growth areas in the world. This paper highlights how various components of the TRIZ methodologies can be applied in software engineering and business models of the information technology outsourcing industry. The aim of this paper is to develop appreciation TRIZ among the readers and enable them to proactively apply it to their day-to-day activities in the outsourcing arena.

Why TRIZ?

TRIZ (pronounced "trees") was developed by Genrich Altshuller who found that scientific literature lacked a method for inventing new solutions. Altshuller and his colleagues subsequently analyzed thousands of patents to develop TRIZ and its methodological toolbox. One of the basic concepts of TRIZ is that inventive solutions are needed to remove technical contradictions. For example, information system designers encounter contradictions such as improving quality vs. writing new features, improving memory management vs. improving ease of design. Outsourcing companies also know of management contradictions – maintaining rising salary costs when profit margins are dipping or how to do well when your clients are not doing well.

Altshuller also discovered that inventive principles found in one industry can be applied to other industries. Subsequently the use of TRIZ has spread to a wide spectrum of industries. Today TRIZ finds itself being used in a large number of Fortune 500 organizations like P&G and Ford and Global 500 companies like BEA and Samsung. Today, with TRIZ as a mature technology use to solve problems, it makes sense to ask how it can be used in outsourcing.

Outsourcing is a buzzword that denotes a process by which tasks can be executed by an external entity at a lower cost and with a shorter time to market. Essentially, outsourcing evolved due to a technical contradiction in software (i.e., improving profit and quality while lowering labor costs). Outsourcing primarily started in the information technology industry, because of the ease of transporting bits and bytes rather than material goods and is slowly but surely making inroads into other industries.

This paper focuses solely on outsourcing in the information technology industry. The current market reality in the information technology industry is one of low cost of entry, increasing use of standard methodologies to deliver on-time quality and lowering cost advantages due to competitive pressures. With commoditization looming in the future for information technology outsourcing, there is a need to learn from other industries that have passed and survived the same business cycles. The key differentiators of successful outsourcing companies will be those that make a leap to productive partnership and consulting by leveraging their knowledge and positioning themselves as innovative and quality conscious.

One of the key problems for the information technology outsourcing industry – comparatively speaking – is the fundamental complexity of designing, maintaining and building software. TRIZ can serve the dual role of analyzing the big picture and the details to sift out software engineering innovations and innovative business models.
40 Inventive Principles

The 40 Inventive Principles are the most popular beginner TRIZ tool. This matrix lists the principles and provides examples for how they can be used to identify innovations in software engineering and in outsourcing business models. This paper is based on the author's limited industry understanding; this should be a starting point for more complete analysis by others. It also should be noted that since TRIZ evolved from manufacturing and engineering industries, creative license is required to apply them to problem areas in information technology outsourcing.

40 Inventive Principles for Outsourcing and Software

TRIZ Principle

Description

Application to Outsourcing

Application to Software

(1) Segmentation

  • Divide into modules
  • Make it easy to disassemble
  • Increase fragmentation
  • Dynamic organizations based on need
  • Flexible organizational structures with cross promotion
  • Objected oriented programming
  • Reusable modules
    Web services
  • Modular Linux kernel
  • Network the operating system
  • Non-proprietary solutions

(2) Taking out

  •  Separate the use from the part location
  • Hosted services
  • Data centers 
  • Web services
  • Corba 

(3) Local quality

  •  Make each part of an object function in conditions most suitable for its operation
  • Make each part of an object fulfill a different and useful function
  • Have different sets of optimized processes and policies for different sub-organizations 
  • Separate parts that need runtime efficiency vs. parts that need usability
  • Do not put GUI hooks into kernel

(4) Asymmetry

  • Change the shape of an object from symmetrical to asymmetrical
  • Increase asymmetry
  • Team composed of fundamentally different people (artists, engineers, scientists)
  • Hire people who do not "fit" the job
  • X Windows system
  • VNC

(5) Merging

  • Make operations contiguous or parallel; bring them together in time
  • Change work hours to suit client work hours
  • One phone call away from offshore team anytime
  • Grid computing
  • Clustering

(6) Universality

  • Make a part or object perform multiple functions; eliminate the need for other parts
  • One person teams with all kinds of knowledge: legal, software, finance, accounting, housekeeping
  • Mainframes
  • One-click shopping

(7) "Nested doll"

  • Place one object inside another; place each object, in turn, inside the other
  • Management models where X manages Y for delivery and Y manages X for quality
  • Software encapsulation
  • VMWare
  • User mode Linux

(8) Anti-weight

  • To compensate for the weight of an object, make it interact with the environment
  • Direct chat line to CEO, CFO, CTO
  • Blog-based collaboration among teams instead of person-management
  • More customer involvement in outsourcing process definition
  • Write screen scapers for mainframes
  • Write a facade encapsulating complicated functionality

(9) Prelimary anti-action

  • Create beforehand stresses in an object that will oppose known undesirable working stresses later
  • High barrier to hiring
  • Tough training that makes work seems easy
  • Traffic testing
  • Memory
    usage testing

(10) Preliminary action

  • Pre-arrange objects such that they can come into action from the most convenient place and without losing time for delivery
  • Increase bench strength and bench quality
  • Significant buffer available for hiring by interacting with training and academia
  • Use of unit testing frameworks to reduce IT overloads

(11) Beforehand cushioning

  • Prepare emergency means beforehand to compensate for the relatively low reliability of an object
  • Backup for every person or every N persons in team
  • Shadow teams where same work is outsourced to N different organizations
  • Backup managers
  • Redundancy and fail over mechanisms

(12) Equipotentiality

  • Change operating conditions to eliminate the need to raise or lower objects in a gravity field
  • Eliminate promotions, job titles
  • Peer-to-peer networking

(13) "The other way round"

  • Invert the action(s) used to solve the problem
  • Turn the object (or process) 'upside down'
  • Outsource our work to clients
  • Dependency injection design pattern

(14) Spheroidality – curvature

  • Go from linear to rotary motion, use centrifugal forces
  • Curved organizational heirarchy
  • Co-create with customers rather than just taking orders
  • Peer-to-peer networking

(15) Dynamics

  • If an object (or process) is rigid or inflexible, make it movable or adaptive
  • Dynamically solicit feedback from clients
  • Have a process improvement team and process customization team
  • The command pattern which encapsulates an action into an object
  • Smart packets that route themselves on the network
  • Swarms

(16) Partial or excessive actions

  • If 100 percent of an object is hard to achieve using a given solution method then, by using 'slightly less' or 'slightly more' of the same method, the problem may be considerably easier to solve
  • Add more team members than required and overachieve expectations
  • Do free work and see if someone will pay for it later
  • Use agile methods of development

(17) Another dimension

  • Move an object in two- or three-dimensional space
  • Three-dimensional organizational hierarchies instead of two-dimensional
  • Three-dimensional process charts
  • Three-dimensional GUI
  • Three-dimensional or N-dimensional flows

(18) Mechanical vibration

  • Use an object's resonant frequency
  • Identify the core competency of the client and focus on that in business models
  • Use tools that solve specific areas: Perl for scripting, Java for libraries and maintenance and C for optimization

(19) Periodic action

  • Instead of continuous action, use periodic or pulsating actions
  • Stop 8-hour work days and instead have 2-hr work slots interspersed with 2-hr rest slots
  • Packet networks

(20) Continuity of useful action

  • Packet networks
  • Eliminate lunch hour, tea breaks and entertainment; make a 6-hour work day
  • Peer-to-peer
  • Use idle processing power for grid computing, SETI, protein analysis
  • Pre-fetch content into caches

(21) Skipping

  • Conduct a process, or certain stages (e.g., destructive, harmful or hazardous operations) at high speed
  • Have 15-minute open critical talk and negative black hat thinking
  • Quick switchover on high loads

(22) "Blessing in disguise" or "Turn lemons into lemonade"

  • Use harmful factors (particularly harmful effects of the environment or surroundings) to achieve a positive effect
  • When a project fails, do a post-mortem analysis
  • Use failed software components to learn how not to do things
  • Read any book on anti-patterns
  • Spaghetti coding

(23) Feedback

  • Introduce feedback (referring back, cross-checking) to improve a process or action
  • Solicit customer feedback on every step and correct errors along the way
  • Have a monitoring component in any software that can monitor performance, memory usage and take corrective action
  • Exception handling

(24) Intermediary

  • Use an intermediary carrier article or intermediary process
  • Have a neutral arbitrating organization between you and the client
  • SOAP carrying payloads
  • SIP carrying SDP

(25) Self-service

  • Make an object serve itself by performing auxiliary helpful functions
  • Put all organizational processes on web and eliminate middle man
  • Self managed packets that find their own best route while routing
  • MPLS

(26) Copying

  • Instead of an unavailable, expensive and fragile object, use simpler and inexpensive copies
  • Use open source products like Star Office
  • Develop in-house products that address only the core problem at hand
  • Open source products
  • Simulator products

(27) Cheap short-living objects

  • Replace an inexpensive object with multiple inexpensive objects comprising certain qualities (such as service life)
  • Hire external contractor cheaply for temporary work
  • Cluster computing

(28) Mechanics substitution

  • Replace mechanical means with sensory (optical, acoustic, taste or smell) means
  • Stress video conferencing rather than in-person meetings
  • Text-to-speech
  • Speech-to-text

(29) Pneumatics and hydraulics

  • Use gas and liquid parts instead of solid parts
  • Replace blocks with gasses and liquids in business speak
  • Encourage people to experience flow in their day-to-day activities
  • Monolithic kernel to micro-kernel
  • Aqua GUI of Apple
  • Glass GUI of Vista

(30) Flexible shells and thin films

  • Make an object porous or add porous elements
  • If an object is already porous, use the pores to introduce a useful substance or function
  • Give customers access to outsourcing knowledge base built by the organization
  • Creatively use unused header fields in TCP/IP to transmit data (used by virus writers to make botnets)

(31) Porous materials

  • Make an object porous; add porous materials
  • If already porous, use pores to introduce a useful function
  • Porous national boundaries between ‘outsourcer' and ‘outsourcee' countries in terms of business and people
  • Porous internal organizational and functional boundaries for easy flow of information among members
  • Inversion of control pattern in which dependencies are injected into the application at predefined places by the container instead of being hardcoded
  • Porous software through the use of well-defined interfaces which can be plugged in by multiple third party developers using software adapters at a later stage
  • Porous networks in which components can be introduced at any stage in operation

(32) Color changes

  • Change the transparency of an object or its external environment
  • Make processes transparent to client so that they can pick and choose
  • Do transparent management where employee feels part of the decision-making process
  • Transparent menus windows

(33) Homogeneity

  • Make objects interacting with a given object of the same material
  • Analyze the psychometric profiles of the customer team and build a similar team
  • Use compiler to compile itself
  • Build a Java-based operating system

(34) Discarding and recovering

  • Make portions of an object that have fulfilled their functions go away
  • Offer sabbaticals and voluntary retirement to burnt out individuals
  • Release memory that is no longer needed by explicit garbage collecting in Java
  • Release database and http connections once their use is done

(35) Parameter changes

  • Change temperature, flexibility, concentration, consistency
  • Play around with business models as an experiment rather than a set in stone bureaucracy
  • Run the program under multiple load conditions
  • Check for buffer overflows by passing garbage data

(36) Phase transitions

  • Use phenomena occurring during phase transitions
  • Closely monitor consulting projects so that processes can be successfully repeated
  • When switching from one type of equipment/OS/program to another, closely monitor what happens so that such migration learning can be useful in the future

(37) Thermal expansion

  • Use thermal expansion (or contraction) of materials
  • Set stretch goals so that people can expand to meet the obligations
  • Set no goals so people can do what the want
  • Optimize programs to take advantage of multi-core processors

(38) Strong oxidants

  • Replace common air with oxygen-enriched air
  • Give a team a million dollars and everything they need to come up with an innovative idea
  • Give best of breed computers to employees
  • Run programs on the fastest processors available and benchmark them

(39) Inert atmosphere

  • Replace a normal environment with an inert one
  • Work from home
  • Work from an organization like Kinkos
  • Run honeypots to find vulnerable processes

(40) Composite materials

  • Change from uniform to composite (multiple) materials
  • Hire people with multiple competencies
  • Encourage individualism
  • Try to source parts from different vendors
  • Microsoft CLR that allows programs from multiple languages to interact with each other

Laws of Ideal System Evolution

What is an "Ideal System"? An ideal system is defined as the best possible solution to a given contradiction when there are no constraints on resources. The idea behind discussing an ideal final system is to free the mind of the participant or designer and focus solely on the solutions rather than the intervening problems or contradictions.

Ideality can be defined as Ideality = S Benefits / S Costs + S Harm)

When the costs and harm are zero then the system is ideal or the ideal final result has been reached. The ideal final result has three major characteristics:

  1. Eliminates shortcomings of original system
  2. Preserves or builds upon advantages of the original system
  3. Does not make the system more complex or introduce more disadvantages

An ideal outsourcing operation should: 

A perfectly ideal outsourcing industry is one that gets the work done without even existing. The leading law of TRIZ is all systems will evolve toward the ideal final result. Some basic rules that help to achieve the ideal final result are:

 

Now, we can look at the laws of ideal system evolution and look at the future of the outsourcing industry.

Law of Unity or Interpenetration of Opposites

Technical growth happens when opposites interact. Philosophically, the Yin and Yang must interact and overcome each other for growth to happen.

In outsourcing there is widespread angst against transferring labor from one country to another. Cost is a major driving factor with quality and time serving to buttress this obvious advantage. Cost contradiction is a fundamental rationale for the outsourcing industry.

However, this contradiction may not exist for long so the industry must learn to address newer contradictions, including quality, the widespread knowledge base created by working with multiple external partners and the intellectual property transfer between the client and outsourcing organization. These situations illustrate how the law can be used to predict and ameliorate contradictions evolving in the industry.

Law of Negation of the Negation

Evolution consists of repeating the same steps again and again, but each phase of the repetition occurs at a higher level of evolution using newer technologies, skill sets and elements.

Companies have information technology outsourcing down to an exact science by their process orientation and quality consciousness. However, the next leap forward will happen in areas like nanotechnology, robotics and genetics and also more advanced software and powerful hardware. Current business models can be said to have an asymmetric power structure between the outsourcer and outsourcing company that will become more symmetric and result in value-based partnerships in the consulting space.

Law of Transformation of Quantity to Quality

Quantitative changes take place on an S-curve and certain qualitative changes take place after a period of time.

This raises the question as to how long outsourcing companies can maintain their double digit growth margins with increasing bottom lines running into billions of dollars. Although the outsourcing industry is on the accelerating portion of the S-curve, it must be able to face the challenges of maturity – quality rather than cost being a significant differentiator of the industry.

Law of Non-Uniform Evolution of Sub-Systems

Various parts of a system evolve at non-uniform rates. As a result, system conflicts arise because of non-uniform evolution.

In information technology, the growth of hardware has far outpaced the growth of software. While processor power has doubled, memory prices have fallen and multi-core processing has become common, software and operating systems have a slower evolution curve. The mainstays of operating systems, namely Windows and UNIX, have been prevalent for decades. Even though there has been substantial improvement in programming languages release cycles have yet to take less than a year and languages like COBOL and C refuse to die out. The opportunity in this system conflict has been exploited by the likes of Java, which provides simplified automatic memory management and virtual operating systems make the program less efficient in terms of memory and speed, but have the bonus of ease of rapid application development.

In outsourcing, while the quality and quantity of work seems to be rising, there remain significant shortages in terms of adequate labor. This system conflict can be removed by closely collaborating with educational and vocational institutions to ensure adequate qualified labor to meet the requirements.

Law of Transition to Higher Level Systems

Systems evolve from mono- or single-function systems to bi- or poly-functional systems.

This law is the easiest to observe in everyday life – with a cell phone, a pure voice device evolving to become a music player, camera and personal information system. In information technology, dominant players like Microsoft constantly update components of OS to serve newer functionality like introducing a free browser, a free media player and a free security suite.

The rationale for outsourcing has been the provision of quality labor at low cost. It is likely that the evolution will happen when outsourcing companies are called upon to do market analysis, product design, original research, end-to-end execution from conception to delivery, and consultancy.

Law of Transmission from Macro- to Micro-level

Technological systems evolve toward an increasing fragmentation of their components.

This law is easy to observe in the service oriented architecture model of information technology in which various fragmented pieces of service logic are stitched together using glues like UDDI, SOAP and web services.

In outsourcing it is evident that various micro-competency centers will evolve, each focusing on a niche market segment with an increasing knowledge base. The outsourcing industry should make use of models that knit together and orchestrate these micro modules – embrace specialization while maintaining a coherent generalist vision to improve its bottom line.

Other Laws

Although it is beyond the scope of this paper to discuss all the laws of technical evolution a few are mentioned as pointers for exploration.

Levels of Solutions or Levels of Inventions

One of the key findings of Altshuller and his colleagues was that there are discrete levels at which innovation happens. The following describes each level and how each is applicable to outsourcing, with a corroborative example in the writing industry.

Conclusion

TRIZ contains scientific methodologies for invention and innovation, including the tools explored in this paper: the 40 Inventive Principles, Laws of System Evolution and Levels of Evolution.

Such TRIZ techniques can be applied in the information technology outsourcing industry for both software engineering and invention of new business models. The TRIZ laws of technical system evolution can be used to predict market trends and be prepared to latch onto newer opportunities.

About the Author:

Ramkumar Subramanian is the Chief Architect in IP Carrier and Enterprise Networks Technology Laboratory (ICEN) at Wipro Technologies. Subramanian has seven years of industry experience in telecommunications in areas of switching, computer-aided telephony, interactive voice response systems and Voice over IP with leading equipment vendors and service providers. His current research interests include IMS and service delivery platforms. Contact Ramkumar Subramanian at ramkumar.subramanian (at) wipro.com.

Copyright © 2006-2011 – RealInnovation.com, CTQ Media. All Rights Reserved
Reproduction Without Permission Is Strictly Prohibited – Request Permission


Publish an Article: Do you have a innovation tip, learning or case study?
Share it with the largest community of Innovation professionals, and be recognized by your peers.
It's a great way to promote your expertise and/or build your resume. Read more about submitting an article.