Essay 18 - What Is Your Problem?

We know something is wrong or can be improved, but we lack the will to drill into details and write a problem statement. It isn't a lack of ability, it is purely a lack of will.

A common source of serious issues with software comes from proposing a solution without …

more ...

Essay 23 - Jumping the Technology Ship

We're told, repeatedly, to avoid changing horses in mid-stream. We're told not to follow the crowd blindly.

Once upon a time, we made a technology decision that -- at the time -- was right. But things have shifted around a bit, and what was once prudence is now folly. When do you …

more ...

Essay 17 - Solution or Workaround?

The challenge in starting a project correctly is to get a problem statement written down in spite of the lack of clue. There is a pervasive unwillingness to tackle problem description because it is so hard. It's hard because there is a potentially lengthy search to separate proximate from root …

more ...




Essay 15 - Errors and Exceptions

When we embed explicit constraint checking into a design, they can occur in any of the available tiers: persistence (database), access, model, control or view. Some of these options are easier to consider than others. The view tier, for instance, merely has responsibility for presentation and should be able to …

more ...

Essay 14 - Mutability Analysis

First, there are several tiers of mutability in requirements in general. These tiers define typical levels of change context, problem and forces that select a solution.

  1. Natural Laws (i.e., Gravity). As well as metaphysical "laws" (i.e., reality). These don't change much. Sometimes we encapsulate this information with static …
more ...

Essay 13 - Analysis Without Running Aground

Analysis is a difficult job. It requires capturing the business problem, including the business entities and the business processing. It requires endless patience, good interviewing skills and excellent writing skills. Most important, it also requires the discipline to discover the whole problem before putting forth any solution.

This essay provides …

more ...

Essay 12 - Don't Talk to Strangers

There is a Design Pattern, sometimes called "Don't Talk to Strangers" that embodies the OO design principle of "Responsibility Assignment". This pattern can also be called "The Opacity Principle."

Sometimes I like to describe it as "If you don't control it, it's none of your business what's under the hood …

more ...