Theory Of Constraints And Software Concerns

Unlike a lot of others, I was introduced to Theory Of Constraints (TOC) by the business novel

Necessary But Not Sufficient

and was instantly addicted to the revolutionary approach, an output of exceptional work by Eliyahu Goldratt.

The Theory

Theory Of Constraints (TOC) is, at its basics, a problem solving approach that focuses on the constraints or limitations involved. Anything that we are part of today – work or family or organizations – involves multiple factors. There is a continuous effort to get better at it. The apparent approach is to maximally use the resources, change all the variables so that the betterment is optimum. However, the working is usually limited by not all, but some factors – the constraints. TOC makes this more explicit by approaching the solution by looking at an entity through its constraints. A business has to work under constraints – monetary, time, workforce, competition and probably hundreds more. To bring about an improvement, the effort should be directed towards the constraints.

At its center is a set of tools called Thinking Processes, containing causality and necessity as two basic elements. The revelation of cause and effect can identify root cases of undesirable effects (UDEs) and help us answer the three important questions:

  • What to change?
  • To what to change?
  • How to change?

Consider the following excerpt from the video transcript of introduction to TOC“:

Just to give us a couple of very simple, trivial examples. If we talk about causality, it might be as simple as “if I touch a hot stove, then I get burned.” That’s our understanding of reality. And if we want to change it, then we may look at some of the assumptions and alter the situation that says, for example, now “if I touch a hot stove and I’m wearing a pot mitt, then I don’t get burned.”

Instead of one reality, we have what we’ve put into place that alters that reality. This is utilizing this cause and effect.

Had we expressed it more in the realm of necessity, it might appear that “in order to avoid getting burned, I must not touch the stove.” Why? “Because touching a hot stove might burn me.”

Thinking Process provides following tools for a systematic approach:

  • Current Reality Tree (CRT): to identify UDEs and their root causes
  • Clouds: to resolve conflicts that causes UDEs
  • Future Reality Tree: future state of the system after some actions are identified
  • Negative Branch Reservations: possible negative ramifications of actions chosen
  • Prerequisite Tree: a pre-plan which identifies the intermediary objects required and possible obstacles
  • Transition Tree: details of the action to be taken

This is very analogous to what my friend says about using Business Models for as-is system, to-be system and the transition.

TOC And Software Industry

TOC has been applied to multiple industries like Production, Logistics, Accounting, Marketing and many more. It has resulted into amazing processes like Drum-Buffer-Rope (DBR) that lead to synchronized manufacturing or throughput accounting or Critical Chain.

I want to tackle application of TOC to software industry in two different ways. One is impact of TOC on software concerns to provide maxium ROI. The other is use of TOC in managing software processes.

ROI From Softwares

Scott swirls his brandy and takes a taste. “When does a new technology bring value?” He starts with a rhetorical question. “We expect that a new technology will bring benefits, when and only when, the new technology diminishes an existing limitation. It is simply common sense.”

“Maybe to you. What do you mean?”

“If the new technology does not diminish any limitation whatsoever, there is no possible way in which it can bring benefit.

This is an excerpt from Chapter 12 from the book that I mentioned before.

TOC tells that an organization can benefit if its constraints are targeted and resolved. If a software has to be beneficial, it has to follow the same way. The key benefit of software is automation – automation of processes. TOC, through its focus on constraints, which are part of processes in an organization, typically leading to BPR. Use of TOC in Business or System Modeling can lead to right automation of these optimized processes which will provide maximum benefit to the organization.

TOC In Software Engineering

Software businesses can use TOC to improve by overcoming its constraints. Just like every other business, even a software business has limitations. TOC can be used to identify them and act on them to provide improved processes.

Software solutions require more and more out-of-box thinking, solutions that are not run-of-the-mill but innovative and original. TOC can provide answers to the basic questions leading to an unique and effective solution. Use of TOC can also provide pragmatic solutions in project management.

Each of these deserve individual discussions on them, which I hope to follow up with.

There might be many more applications of TOC in software industry. There are already some softwares out there which provide TOC solutions. Let us look for more usage of TOC in software industry for the benefit of both, the software users and creators.

Technorati tags: , , , ,

Copyright Abhijit Nadgouda.

11 Responses to “Theory Of Constraints And Software Concerns”

  1. Sanjay Says:

    Do u have any idea about any software company implementing this concept to make an application out of this concept??

  2. Abhijit Nadgouda Says:

    I am not aware of any application, however I have met some individuals who follow things closer to this approach.

  3. Shiva Shenoy Says:

    i2 Technologies was founded in 1988 and created Rhythm (now known as Factory Planner) based on TOC.

  4. Shiva Shenoy Says:

    I may have misunderstood the question. If you are referring to using TOC for software development, the answer is I don’t know of any commercial products, but there are some products developed and used internally (for development and customer support) at i2 that use some of the concepts.

  5. Abhijit Nadgouda Says:

    Hi Shiva,

    Its great that i2 uses TOC for software development. So, Sanjay there are inhouse applications, but still not sure if there are any commercial ones available. Is Factory Planner a APS that implements TOC for other industries?

    Where does i2 apply TOC in software development? As mentioned in the article, there are two applications of it, one is its use in feasibility and ROI study and requirements elicitation and the second in applying TOC for software project management.

  6. Brian Hersh Says:

    You article on the theory of constraints is very well organized and has great applicability to sales discussions of software as well.

  7. Brian Hersh Says:

    Your article on the theory of constraints is very well organized and has great applicability to sales discussions of software and software development services as well.

  8. abhay s. jadhav Says:

    Dear sir,
    i completed my M.Tech. in production engg, from vjti, mumbai. In last year of my course i had done project on “Application of theory of constraint’s principle in distribution and operation area” at Tata steel(wire division), mumbai. Presently i am looking for a job and i am very much intrested to do career in Toc. Can anybody help me regarding this?
    waiting for reply ,

  9. Shiva Shenoy Says:

    Factory Planner is TOC based but is not used in software development.
    The principles of TOC were used to build an internally used system to manage the software development and support process.

  10. Abhijit Nadgouda Says:

    Shiva, I have copied your comment to my new home of this blog, this post is available there. I will appreciate if the discussions can be continued there. Thanks!

  11. Gopalan Kannan Says:

    I am looking for a simulator for Training in TOC. I heard there is one such simulator known as Dream Factory. Any one know more about it.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: