Essay 6 - Politics

Politics are the lifeblood of requirements gathering. For architecture, they are important, but don't as often take center stage.

Requirements are about the actors, their goals and motivations, and their interactions with some potential system. People are political, and the presence or absence of certain requirements, certain turns of phrase …

more ...

Essay 5 - Using the Requirements

Requirements have a number of uses.

  1. They document progress. This management value is sometimes the only value placed on requirements. This happens when requirements are really just high-level design and don't describe the problem adequately.
  2. They test candidate architectures. This is done well when there is a back and forth …
more ...

Essay 4 - Creeping Scope

Walker Royce notes that the early parts of a project involve discovery; as a consequence the scope is subject to change. He calls the early phases inception and elaboration. Inception identifies the need for a project, and stakes out an initial context and problem. Elaboration adds details, including the constraining …

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


Essay 3 - Assuming a Solution

A great deal of the requirements analysis activity is identifying the entire problem. Many software people are eager to present a solution to some of the problem.

Perhaps I can't locate my keys. Having a "Clapper" on my key ring so that my keys chirp may be a solution. However …

more ...


Essay 2 - A Solution Is A Story

Software, and a software architecture, is a solution to a problem. Without a specific problem, software is a pointless exercise: statements in a formal language with no thesis or purpose. An abstract piece of software akin to the statement: "Time flies like an arrow." It parses (two different ways!) but …

more ...

Essay 1 - All Software Problems are Large or Complex

All software problems are large or complex as a direct result of the tremendous reuse potential of software. Consider two alternatives:

  • The problem is relatively well understood. Solution: locate an open source or commercial solution and use or adapt that solution.
  • The problem is not well understood. Solution: study enough …
more ...

Essay 20 - Moving the Topsoil

The topsoil is in the front yard, the garden is in the back yard.

The users form up a bucket brigade to use several pails and buckets to move the soil. It's backbreaking and slow, so they go to IT for a solution.

"We've measured the work activity very carefully …

more ...