Principles

Principles are idea-generators for coming up with new Techniques. If we're in a situation where our known techniques don't apply, we can use principles to invent new techniques that are suited to that context.

Examples of principles in this book

Each principle prompts you to ask a different "how might we" question. "How might we take smaller steps?" "How might we get feedback faster?" "How might we avoid breaking changes?" "How might we move authority to information?" "How might we reduce inventory?" By brainstorming answers to these questions, you can discover new techniques. You can also assess existing techniques to see if they might be the answer to the question.

Where Principles Come From

Principles are derived inductively from clusters of related techniques. The process goes like this:

This process echoes the scientific method, which we'll see shortly in the chapter on Empiricism.

Wait a minute, you're probably saying. Do techniques generate principles, or do principles generate techniques? I can only answer "yes." Principles and techniques work together. Like so many other symbiotic partners in the world of software, they bootstrap each other into existence.