O'Reilly logo

Lean Architecture for Agile Software Development by Gertrud Bjørnvig, James Coplien

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required