Software


I have said for years that TOC applies to software engineering, even once going so far as to write a somewhat tedious article (warning: pdf) on applying the Evaporating Cloud to software engineering. In fact, I once showed it to a really bright guy who is now the CEO of a respectable company.  He said, “It’s good, but you didn’t give the answers.”  Perhaps that shows the degree to which I missed the mark.  The paper wasn’t about giving answers to specific problems in software engineering; it was about sharing a general technique for problem solving.  Oh well.

At any rate, here’s an interesting post and video for folks interested in Agile and systems improvement methodologies like TOC and Lean.

Dr. Alistair Cockburn

Dr. Alistair Cockburn

Just a short note — and one that is not totally about the City of Woodinville.  I know that I have been on a tear on that score lately.  But I can’t help it — improving local government is important to me.

This note however is about some very good news.  In the latest edition of “Crosstalk” (Crosstalk is the “Journal of Defense Software Engineering”) Dr. Alistair Cockburn has written an article (“Spending Efficiency to Go Faster“) on how Theory of Constraints principles can be exploited to improve software engineering.

Many of my friends and clients are involved in the software engineering of complex systems.  They are recognizing, more and more, that the Theory of Constraints is a powerful tool for systems improvement.

Our ability to improve is unlimited.

Self-proclaimed “Geekdoctor” John Halamka has written about an IT dashboard his team has created to help forecast some of the costs associated with operating a data center. I had a quick look at it. It’s a nice web application. I left John a comment to see if it is open source. I expect many IT types could benefit from learning about it.

What I would urge John to do is to go a bit further. Identify the critical success factors for his department as a future reality tree and then provide a color-coding of each entity that shows the degree to which that entity is satisfied.

For example, assume that there is an entity that says “Our department is highly effective in meeting our cost targets.” To what degree is that entity valid? If it’s clearly valid based on observable data then color it solid green. On the other hand, if the entity is in dispute, color it yellow while you go look for data. If it’s clearly false, color it red.

When I can make the time I will craft an example of this. It won’t be a web app though. While I have a lot of experience in software engineering I just don’t have the time to knock something like this out right now.  I might also look at the tools from Flying Logic Software.  I think their tool may already provide something along these lines.

What would you have if you actually did this? I claim you’d have a useful tool for focusing on the issues that are blocking you from achieving your top level objectives. Then share it as a web app so that the entire organization can see not only what you see as logically necessary to succeed but also how well you are doing.

So where are the CIOs that have the courage to do something like this?