Rat-holes of Lost Time

Much of software development is best described as "problem-solving". Much of the rest, BTW, is knowledge capture.

When we look at the time spent on problem solving we can see four potential outcomes.

  1. Time is spent producing a viable solution to the actual problem.
  2. Time is spent producing a non-solution …
more ...

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 ...


7 kinds of complexity - 7 deadly sins?

Here's a possible match-up between the Seven Deadly Sins and Seven Species of Complexity.

  • lust for someone we cannot have - "When I Grow Up"
  • gluttony or over-indulgence - "How Hard Can It Be?"
  • avarice (covetousness, greed) for things we do not need - "Quality vs. Quantity of Ideas"
  • sloth (laziness, idleness) wasting …
more ...