TRIZ and Extreme Programming

By John W. Stamey

Abstract

The problem-solving foundations of Extreme Programming mirror a number of inventive problem solving principles found in TRIZ. This paper is a first step toward understanding powerful software development methodology as a technique of inventive problem solving.

Introduction

This paper begins by comparing the software development/management methodology Extreme Programming (XP) to Genrich Altshuller's Theory of Inventive Problem Solving (TRIZ). Both methodologies are used to generate a solution to a problem that has never been solved before. Use of the XP methodology is equivalent to saying that a new and original software system is being developed. Use of TRIZ is equivalent to saying there is a problem to be solved and the solution is being generated through some sort of inventive problem solving.

In the next section of this paper, we outline the basics of XP and describe how it differs from the more traditional waterfall model of software development. In the third section, we provide some background about Altshuller and TRIZ. The fourth section provides a comparison between the methods found in XP and a subset of the inventive principles found in TRIZ. The fifth section points the direction of further research in this topic.

Extreme Programming

The waterfall model of software development was first proposed by Winston Royce in 1970. Steps included in this traditional software development methodology include:

Each phase is completed before the next one begins. In a sense, the deliverables of one phase "fall" into the next phase much like the waterfall metaphor used in the name of the methodology. Also termed a linear sequential model of software development, the waterfall model fails because: software projects rarely follow the sequential flow; change management is not an inherent part of the waterfall model architecture; all requirements are not easily elicited prior to coding and testing; and, a working version of the project is not available until the end of the development process. (Pressman, 2001, p. 30)

The waterfall model is frequently called a "heavyweight method," as it provides for a heavily regulated, regimented, and frequently micro-managed strategy for software development. The steps of the waterfall model can be bureaucratic and slow, contradictory to the reality of software development. (Cockburn, 2001)

XP was developed by Kent Beck, who understood that any team's software development methodology needs to be customized to the team and their circumstances. (Beck, 2005) There are twelve key practices of XP that are procedurally and culturally different from the waterfall model:

TRIZ: The Theory of Inventive Problem Solving

Examining more than 200,000 patents through the years, Genrich Altshuller concluded there was a process by which many inventions were developed. In reviewing the patent applications, he identified contradictions that existed before the inventions were created. He then identified a set of inventive principles used to remove these contradictions.

For Altshuller, a problem to be solved was equivalent to a contradiction between two opposing factors. Given attempted solutions to a problem, one factor would improve while one factor would worsen. As an example, we consider the problem of making a table stronger. If the attempted solution is to add more material to the top of the table, the additional material makes the table stronger (a potential improvement) while it also make the table heavier (a potential worsening).

Years of work resulted in the development of the TRIZ (the Russian acronym for the Theory of Inventive Problem Solving) methodology. In total, Altshuller found 39 different contradictions, when properly paired, could be solved with 40 inventive problem-solving principles. (Altshuller, 1998) The forty problem-solving principles have been found to produce many innovative solutions for companies such as Intel, Michelin, HP and Samsung.

TRIZ and XP

When the 12 principles of XP are compared with the 40 problem-solving principles for TRIZ, clear relationships are found:

Next Steps

This paper is a first step toward understanding associations between the agile development methodology Extreme Programming (XP) and inventive problem solving. The 12 principles of XP have been associated with a subset of Altshuller's 40 inventive problem-solving principles. Research is currently underway to quantify the strength of the 12 inventive problem-solving principles as homologies (Bertalanffy, 1969, pp. 84-85) when used in practice by programmers.

References

  1. Altshuller, G. (1998) 40 Principles Extended Edition: TRIZ Keys to Technical Innovation. Worcester, MA: Technical Innovation Center.
  2. Beck, K. & Andres C. (2005) Extreme Programming Explained, 2nd Edition. Upper Saddle River, NJ: Addison-Wesley.
  3. Brooks, F. (1995) The Mythical Man-Month: Essays in Software Engineering, 20th Anniversary Edition. Upper Saddle River, NJ: Addison-Wesley.
  4. Cockburn, A. Agile Software Development. Upper Saddle River, NJ: Addison-Wesley Professional.
  5. Jeffries, Ron (n.d.) "What is Extreme Programming?" Retrieved May 4, 2006 from http://www.xprogramming.com/what_is_xp.htm.
  6. Pressman, R.S. (2001) Software Engineering: A Practitioner's Approach, 5th Edition. New York: McGraw Hill.
  7. Royce, W. (1970) "Managing the Development of Large Software Systems," Proc. Westcon, IEEE CS Press, pp. 328-339.
  8. Von Bertalanffy, L. General System Theory: Foundations, Development, Applications. New York: George Braziller, Inc.

About the Author:

John Stamey is a professor in the Department of Computer Science at Coastal Carolina University. Contact John W. Stamey at jwstamey (at) coastal.edu.

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.