Archive

Posts Tagged ‘complexity’

Bozo Planning

Why is it that big government and big industry continue to cling to an archaic planning method that clearly doesn’t work. History has repeatedly shown that the Big, One Time Planning (BOTP) method is rapidly becoming more obsolete as the pace of change accelerates. The top half of the figure below shows what has been, and continues to be done for Big, Complex, Multi-technology, Product (BCMP) development jobs.

Planning

By definition, BCMPs are hairballs that no one fully understands at the outset. As time ticks forward and the effort progresses, learning naturally occurs and new knowledge is discovered and accumulated. This new found knowledge validates the invalidity of the golden BOTP plan. Strangely but surely, as THEE plan becomes more disconnected from reality, no one says or does anything until the mismatch gets in your face. Driven by fear, no one wants to be the first one to step up and announce that the emperor needs a new wardrobe. Eventually, shoddy work and buggy, failure prone components become visible and impossible to ignore. Finger pointing and defensiveness take over. It’s sick city until the crap gets delivered or the whole shebang is canceled in a highly publicized hatefest.

The bottom of the figure shows an alternative to the toxic BOTP method. It’s called: Planning To Continuously Replan (PTCR). In this method, everyone develops a shared understanding at the outset that PTCR will be used to increase (but not guarantee) the chance of project success. In PTCR, replanning is done at necessary points in the effort. How does a project manager know when one of these  necessary points in time has occurred? By rolling up his/her sleeves, getting close to the team and, most importantly, personally monitoring the intermediate work products that are being created in real-time. Trust but verify. There’s no distancing and disconnecting from the project like the bozo executors of the BOTP technique do.

It’s my guess that BOTP will continue to be used by vendors and purchasers of BCMPs in the future. Because of the fear of change and the importance of maintaining (a false) image of infallibility, the comfort of the same-old same-old is always preferred to the uncomfort of the new. This, in spite of the ineffectiveness of the same-old same-old. As Mark Twain said: “I love progress, it’s change that I hate”.

Unnecessarily Complex, or Sophisticated?

April 28, 2009 Leave a comment

I recently stumbled upon the following quote:

“A lot of people mistake unnecessary complexity for sophistication.” – Dan Ward

Likewise, these two quotes from maestro da Vinci resonate with me:

“Simplicity is the ultimate sophistication.” – Leonardo da Vinci

“In nature’s designs, nothing goes wanting, and nothing is superfluous.” – Leonardo DaVinci

When designing and developing a large software-intensive system, over-designing it (i.e. adding too much unessential complexity to the system’s innate essential complexity) can lead to disastrously expensive downstream maintenance costs. The question I have is, “how do you know if you have enough expertise to confidently judge whether an existing complex system is over-designed or not?”. Do you just blindly trust the subjective experts that designed the system when they say “believe me, all the complexity in the system is essential”? If you’re a true layman, then there is probably no choice – ya gotta believe. But what if you’re a tweener? Between a layman and an expert? It’s dilemma city.

The figure below depicts a simple model of a generic multi-sensor system. The individual sensors may probe, detect, and measure any one or more of a plethora of physical attributes in the external environment to which they are “attached”. For example, the raw sensor samples may represent pressure, temperature and/or wind speed measurements. They also may represent the presence of objects in the external environment, their positions, and/or kinematic movements.

simple-fusion

The fusion processor produces an integrated surveillance picture from the inputs it receives via all of the individual sensors. This fused picture is then propagated further downstream for:

  • display to human users,
  • additional value-added processing,
  • automatically issuing control actions to actuators (e.g. gates, lights, valves, motors) embedded in the external environment .

Now assume that you are given a model of a multi-sensor system as shown in the figure below. Is the feedback interface from the fusion processor back to one (and only one) sensor evidence of an over-designed system and/or unnecessary added complexity? Well, it depends.

complex-fusion

If the feedback interface was purposely designed into the system in order to increase the native functionality or performance of the individual sensor processor that utilizes the data, then the system may not be over-designed and the added complexity introduced by designing in the interface may be essential. If the feedback loop only serves to “push back” into the sensor processor some functionality that the fusion processor can easily do itself, then the interface may be interpreted as adding some unessential complexity to the system.

In any system design or system analysis/evaluation process, effectively judging what is essential and what is unessential can be a difficult undertaking. The more innately complex a system is, the more difficult it is to ferret out the necessary from the unnecessary.