Chapter 6. What the System Is, Part 2: Coding It Up

It's finally time to write code. The Agile people out there have been screaming, "what's with all this documentation? We want some code!" The Agile people will have their revenge when we come to the what-the-system-does chapter; here we're endearing ourselves to the Lean perspective.

And, in fact, this section is a little anticlimactic. The code should be really lean. We'll start with the basics and then investigate add-ons little by little.

The Third Step: The Rough Framing of the Code

From a nerd-centric perspective, the following technique is perhaps one of the two most important statements in the book:

That means that the ElectroCard routing team (from Chapter 5) might produce these lines of code as one product of their architecture activity:

class CircuitGraph
end
def route(theCircuit)
end

or these lines if they are programming in C++:

#include "BoardLayout.h"
class CircuitGraph;
extern BoardLayout
route(const CircuitGraph theCircuit);

Remember these goals of Lean:

  • To avoid producing artifacts without end-user value;

  • To deliberate carefully before making a decision, and then to act decisively;

  • To create processes and environments that reduce rework;

  • To guide work according to overall consistency and harmony.

Lean architecture avoids producing wasteful artifacts simply by ...

Get Lean Architecture for Agile Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.