The Dev Blog
Essays on software architecture, planning and engineering practice — the same method the Definition Sprint runs on.
-
AI Is Getting Cheaper. But Are We Measuring What It Actually Delivers? Token prices keep falling, but cost alone says little about results. Four layers connect what an AI consumes to the work it completes and the value it creates.
-
Tensorware: The Third Medium of Logic For decades hardware and software were the only two ways to implement logic. Tensorware is a third, and it moves the work away from programming altogether.
-
Principles of Software Quality Management Testing is sampling, not proof. Three principles — sampling, phase in the lifecycle, and quality factor — for managing quality instead of hoping for it.
-
3 Essentials for Software Design Three essentials: design patterns as a toolbox, separating logic from object graph lookup, and actually realising the architecture you set out to build.
-
Technical and Strategic Architects: Expert vs Analyst Expert or analyst? Two kinds of architect, what each one is genuinely good for, and why hiring the wrong one leaves the decision you needed still unmade.
-
Analyzing Software: Technical, Tactical and Strategic Qualities Technical, tactical and strategic quality are three different questions. Knowing which one you are really asking decides whether a system is worth keeping.
-
Data Perspectives & Representations Computation, data, storage and interfaces are four views of one thing. Confusing them is where software design quietly fails, long before the code does.
-
External Services Integration Strategies Five integration use cases and ten strategies, from single sign-on and service locators to ETL, APIs and connectors. How to choose before you wire it up.
-
Where Programming Ends and Engineering Starts Programming is not engineering. Where architecture and design actually begin, and what an engineer leaves behind that a merely competent coder does not.
-
The Plan of a Software Solution Every problem has many possible software solutions, and they are not equal. What a solution plan contains, and why planning rules out the bad ones early.
-
The Dimensions of a Software Solution Logic, structure, locality and technology: the four dimensions every software solution is decided along, and the trade-off each one forces you to make.
-
The Levels of Abstraction for a Software Solution Six levels of abstraction, from business product down to physical operation, and how to tell which level a decision belongs at before you argue about it.
-
The Granularity Scale for Code Structures Nine degrees of code granularity, from enterprise down to method. A scale for settling where a responsibility belongs instead of debating file layout.
-
The Need for Different Execution Localities Why a single execution locality is never enough, and how performance, reliability and security push a whole system across cores, hosts, zones and regions.
-
The Selection of Technologies for a Solution Reuse, buy or build: three technology strategies, and six factors — maturity, resources, licence, knowledge, control, runway — for choosing between them.
-
Tangibles in Software Development Products, systems, modules, packages and services: the tangible things a plan has to produce, and how the whole seven-part method finally fits together.