Software Engineering First Principles: Virtual Nature, Single Manufacture, and the Role of Granularity and Decoupling
The article explains software engineering’s first‑principle laws—software is a virtual product that can only be created once—critiques waterfall, advocates agile and DevOps, and emphasizes granularity and decoupling (including Infrastructure as Code) as essential practices for modern development.
The author, a veteran software architect, shares his view on software engineering after nearly 18 years, distinguishing software engineering from software development and introducing the concept of first‑principle laws.
First Law: Software is virtual; recognizing this helps understand lean, agile, DevOps, platform engineering, and related practices.
Second Law: Software can only be manufactured once; unlike physical products, copying software is trivial, so development focuses on design rather than repeat manufacturing.
The waterfall model is criticized as fundamentally wrong because it assumes a fixed goal, which conflicts with the inherent uncertainty of software projects; it persists only because it aligns with human laziness and organizational inertia.
Agile is presented as a label that embraces goal uncertainty, supported by lean’s Build‑Measure‑Learn loop and DevOps’s three‑step method (flow, feedback, continuous experimentation).
The core work approach in software engineering is described as “granularity and decoupling”: breaking complex problems into smaller, manageable pieces (granularity) while ensuring those pieces can be solved independently (decoupling), often realized through Infrastructure as Code (IaC).
Finally, the author stresses that despite the proliferation of new terms—lean, DevOps, platform engineering, digitalization—the underlying software engineering first‑principles remain constant, and applying granularity, decoupling, and IaC will help teams succeed.
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.