# Project Design: Next-gen Project Planning Technology

In early 2013 a new technology for software project planning was made available to the public. It’s called Project Design and is available through a week long course given by IDesign. Project Design was conceived of and developed by Juval Lowy, the principal of IDesign and the course instructor.

The Project Design technology holds high promise of facilitating a very high success rate for software projects that use it, in terms of the project being on schedule, on budget, and on quality.

The underpinnings of Project Design are mathematical models of software projects, coupled with a strong engineering approach to identify and solve the problems around effectively planning project schedules and budgets. While working as an Enterprise Architect for a Fortune 100 company in the late 1990’s Lowy started experimenting with using mathematical models to understand and control the project plans on his software projects. He discovered that he could indeed use such models to understand the underlying dynamics of a project, and leverage this to gain a much higher degree of control over the project outcome.

After a few years of experimenting with mathematical models, the Project Design technology emerged. Since then Lowy has been using Project Design and refining it since 2000, with an exceptionally high rate of success in the dozens and dozens of projects he has done over this time.

The general class of mathematical models Lowy found that fit software project plans are known as **dynamic non-linear chaotic systems**. These models are sometimes known as the “Butterfly Effect”, e.g. “A butterfly flapping its wings in Nicaragua caused my software project to slip its schedule.”

Now don’t try blaming your project failures on butterflies! Instead understand the inherent instability of chaotic systems, and that Project Design allows you to pin-point the sources of instability and take action to make them much more robust.

A key characteristic of dynamic non-linear chaotic systems is that a tiny change in initial conditions can result in vastly different outcomes. This is in part due to their characteristic of “emergent behavior”. In other words “if we start with only a finite amount of information about the system…, then beyond a certain time the system will no longer be predictable”, Wikipedia, “Chaos theory”. The subsequent unpredictable behavior is emergent behavior.

Sunny Auyang’s deep, but understandable, paper on chaos theory, “Non-Linear Dyanmics: How science comprehends chaos”, demonstrates this in a nutshell with this drawing.

Here is how Sunny’s paper explains the drawing: “Given an initial condition, the dynamic equation determines the dynamic process, i.e., every step in the evolution. However, the initial condition, when magnified, reveals a cluster of values within a certain error bound. For a *regular* dynamic system, processes issuing from the cluster are bundled together, and the bundle constitutes a predictable process with an error bound similar to that of the initial condition. **In a chaotic dynamic system, processes issuing from the cluster diverge from each other exponentially, and after a while the error becomes so large that the dynamic equation losses its predictive power**.” Quoted with permission from Sunny Auyang.

Long story short – Software project plans are dynamic non-linear chaotic systems. Therefore **the basic nature of software project plans is that they are inherently unstable, characterized by seemingly small changes in initial conditions giving rise to large divergences and unpredictable outcomes**.

No wonder we have such trouble with software project planning, up against behavior like this! I find the below diagram aids in visualizing the dynamics of a project.

Without knowledge of this kind of behavior, there is a significant probability that any project will end up taking one of the exponentially divergent paths in the above diagram. The result of following such a divergent path is being behind schedule, over budget, and/or having low quality.

Wouldn’t it be better to set your project up ahead of time to follow one of the more direct paths?

The good news is that, even though they are dynamic non-linear chaotic systems, we can control the behavior of software projects. Lowy’s Project Design greatly facilitates this. It can be done initially by setting up robust initial conditions that do not foster emergent behavior so quickly. And it can also be done by closely monitoring the project for trouble signs, then quickly taking action to correct the trouble. Project Design allows one to understand the dynamic system, to know what variables you can control in the plan, to know the effect each variable has on the overall system, and also provides a means for getting feedback as the project progresses so one can make accurate adjustments. Now you can make a dynamic project plan system do whatever you want!

By way of summary, in developing Project Design over 2 decades Lowy has discovered 1) how to effectively model software project plans, 2) how inherently unstable they are, and (even better) 3) a set of actions that can be taken to stabilize project plans, plus ways of objectively comparing different project plan options to increase the success rate. And, it is compatible with Agile development processes!

Below are some links that provide more detail about Project Design, the class offered by IDesign, and testimonials by people attending the class.

The Project Design Master Class

http://www.idesign.net/Training/Project-Design-Master-Class

Video – “What is Project Design?”

http://www.youtube.com/watch?v=IOrU57SiBIg

What Juval Lowy says about Project Design – “Project Design – A Call for Action”

http://www.idesign.net/articles/Project-Design-Call-For-Action.htm

Video – “Introduction to Project Design” by Juval Lowy

http://www.youtube.com/watch?v=dCYOItESx0Q

And for my blog article about the **sources of the key ideas Lowy used to develop Project Design** please see Foundations of Project Design: More than Chaos Theory.

Disclaimer – In no way am I being compensated for the opinions I have expressed in this article. I have taken the Project Design course and subsequently have spent over 5 intense weeks learning how to effectively use Project Design on a substantial learning project. Through this experience I have come to believe that the diligent use of Project Design will result in an exceptionally high rate of projects being delivered on schedule, on budget, and on quality. Thus, to me, Project Design is worthy of blogging about since it has the potential of significantly increasing the productivity of software development and customer satisfaction, which are main themes of this blog.

P.S. Sunny Auyang has numerous interesting papers and sketches of her books about science and engineering on her website at http://www.creatingtechnology.org. Thanks for sharing them with us!

dotnetsilverlightprism blog by George Stevens is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Based on a work at dotnetsilverlightprism.wordpress.com.