Charlie Alfred’s Weblog

November 30, 2008

New article on Requirements and Architecture

Filed under: Uncategorized — charliealfred @ 6:14 pm

A member of an Internet software architecture group I belong to posted a question the other day.  His current organization is leaning toward separating requirements specification and architecture, in effect, removing the software architect’s voice from the requirements definition process.

While there are several reasons that people in an organization might follow that path, none of them further the success of the system being built.  While I consider myself to be an experienced driver, I don’t consider me to be qualified to lead the requirements definition of the next generation Lexus.  While I recognize good accelleration, handling, and braking when I see it, I simply don’t know enough about fuel injection, compression, engine electronics, suspension, fuel economy, cooling, or any of the dozens of concerns that separate one car from another.  No.  This subject is too complex not to be left to the experts.

Yet, stakeholders of other systems feel empowered to take control of the requirements definition process, feeling as though once the essential “what” decisions have been made, they can safely lob the requirements specification over the wall to the engineers, who will somehow figure out “how” to do it.

This article explores the relationship between requirements and architecture, and illustrates the paradox of how some requirements must driver architecture while others must be subordinate to it.


November 24, 2008

Complexity-Driven #4 article posted

Filed under: Uncategorized — charliealfred @ 9:55 pm

Well, it took a bit longer than I thought, but the 4th article in the “Complexity-Driven Development” series has been posted.

This article ( applies the Complexity-Driven process to software architecture to a system that automates the routing, scheduling, and dispatching of drivers in a local area operation.  In addition, the example shows how the process can be applied to a product family architecture problem, as we consider three different types of pickup/delivery operation:

    o  LTL (Less than TruckLoad) – specializing in handling shipments ranging from 500-10,000 pounds

    o  Overnight Parcel – specializing in handling documents and small parcels typically under 150 pounds

    o  Private Fleet – specializing in making deliveries of a firm’s products to its customers.  Examples include bottled water delivery, resturaunt food service, uniform dry cleaning, and beverage distribution

Blog at