Don't Pave the Cowpaths

In it, Bruce Silver recollects process reengineering gurus who warned "Don't pave the cowpaths!". Presumably because the cow path was a random walk all over the pasture land, and wasn't the most efficient course.

However, anyone who was watched cows at work will tell you that the cow path is …

more ...

Stating the Problem

In principle, stating a problem is a trivial exercise: someone can't do something. It can be made wonderfully complex, however. The root cause of the complexity could be a fundamental unwillingness to state the problem without including technology hints like "database" or "hierarchy" or "project management" or "change control".

Context …

more ...

Why Is OO So Popular?

"Polymorphism is nice as well, although I can't grok (yet) why this is necessarily not part of non-OO things. I'm not clear that it goes with the strong binding of state and method in a class."

Polymorphism isn't necessarily part of OO. Python actually has polymorphic functions outside of class …

more ...

Tabular Results

The "correct" answer is to fully normalize the design and get away from a mixed bag of columns and nulls. The MESS is bad from every perspective, except query performance. A semi-normalized design that separates the STATE CHANGES from the ESSENTIAL DEFINITION is an optimal design in many respects.

Here …

more ...



Normalization Experiment Protocol (revised)

The open question is "What is the cost of fragmentation?"

The cost has some absolute components and some relative components. Since fragmentation is difficult to avoid except through grotesque over-allocation of space, the issue is to control fragmentation through normalization. A more important pair of questions, then, are these:

  1. What …
more ...



Notable Failure Of Use Cases - Part 3

Forces

While the intent of the use case technique is clear, it requires some discipline and creativity to execute successfully.

There seem to be three attractive sinks for time and energy.

Stepping In Sequence. Often, the first use cases developed are often those that occur “early” in the business process …

more ...