liveBook · Manning

Chapter 2: Software-defined products and architectures

What you will learn in chapter 2 of Effective Platform Engineering

This introduction argues that successful platform products need an organization capable of product delivery, architectures designed to evolve, and software-defined engineering practices.

After this chapter you will be able to

What it builds on

Section by section

Introduction

This introduction argues that successful platform products need an organization capable of product delivery, architectures designed to evolve, and software-defined engineering practices.

Key terms: organizational structures, decision-making habits, engineering culture, product delivery model, internal products, evolution, architecture, domain boundary, software-defined, versioned source control

2.1 Product delivery model

This section contrasts one-off technology projects with a product delivery model centered on an engineering platform’s evolving, self-serve developer experience.

Key terms: one-off project, product delivery model, user experience, self-serve, engineering platform, self-serve experience, engineering friction and delays, quality, security, and organizational compliance requirement, technical product ownership, product experience

2.1.1 Technical product ownership

This section explains why an engineering platform needs an empowered technical product owner and what that owner does to keep the product valuable to its internal users.

Key terms: internal product, product owner, traditional IT processes, technical product owner, TPO, voice of the customer, end-users, product roadmap, backlog, stakeholder needs

2.1.2 Customers vs. stakeholders

This section distinguishes platform customers from stakeholders, explains how stakeholders can support self-service delivery without dictating implementation, and uses a stakeholder map to surface delivery risks.

Key terms: customers, stakeholders, internal customers, product thinking, product delivery, legacy silos, service interface, API, self-serve, well-defined outcome standards

2.1.3 Optimize for a product

The section argues that an engineering platform should be optimized for end-to-end product delivery, built around API-first capabilities, and shaped by real customer use before architectural commitments are finalized.

Key terms: end-to-end engineering effectiveness, developer activity model, functional silos, domain-focused development teams, service interfaces, APIs, CLIs, UIs, user touchpoints, commitment

2.1.4 The importance of a minimal valuable product and early adopters

The section explains how to start an engineering platform with a small, valuable offering, test it with early adopters, and expand its capabilities and delivery teams without losing a unified product vision.

Key terms: minimal valuable product, MVP, early adopters, proof-of-concept, single team, unified product (and architectural) roadmap, TPO, subdomain product owner

2.2 Software-defined platform

This section frames platform engineering as software engineering, warns against carrying manual operations habits into platform work, and recommends shared standards and dogfooding.

Key terms: software-defined, infrastructure lifecycle, anti-pattern, team charter, standards, dogfooding, supporting development tools and technologies

2.2.1 The platform software delivery lifecycle

This section defines a repeatable, automated platform delivery lifecycle that plans and tests changes, releases them through a fixed path, and uses production feedback to improve the platform.

Key terms: platform roadmap, acceptance criteria, experiments, incremental change, automated tests, confirmation bias, automated pipeline, commit SHA or tag, release candidate, preview testing environment

2.2.2 Observability-driven development

This section explains how observability-driven development makes evidence of a platform feature’s behavior and value part of its design and acceptance criteria.

Key terms: observability-driven development, ODD, acceptance criterion, observability data, throttling events, internal source, acceptance criteria, alerting, event logs, deployment pipeline

2.3 Evolutionary platform architecture

This section explains why platform architecture must remain flexible as needs and available technologies change.

Key terms: evolutionary flexibility, architectural requirements, design choices

2.3.1 Backlog management for incremental design

This section shows how to turn platform feature requests into incremental changes by testing assumptions, defining the valuable capability, and measuring whether it delivers enough value to sustain.

Key terms: backlog, epics, minimum viable usability, proving value, feature, modeling scope, nonfunctional requirement, graphical interface, model the opportunity, define

2.3.2 Capturing user, stakeholder, and market feedback

This section explains how a platform product team gathers ideas from several sources and evaluates them as shared product capabilities rather than treating them as individual service tickets.

Key terms: product requests, capabilities, platform idea queue, Feature Request board, legacy work queues, stakeholders, industry trends, developers, platform usage, value flow

2.3.3 Architectural fitness functions

The section shows how database abstractions and architectural fitness functions can make platform changes safer and more predictable.

Key terms: repository pattern, repository layer, datastore layer, datastore interface, service layer, architectural fitness functions, standard datastore interface, contract tests

2.3.4 Domain-driven platform design

This section uses domain boundaries and self-service experiences to guide platform decisions, illustrated by a cost-control ADR and an exception for rarely used capabilities.

Key terms: domain boundary, domains and subdomains, loosely coupled, self-serve, expediency, real cost, product thinking, ADR, platform user teams, cost efficiency

2.3.5 Evolutionary impact of cloud-native technologies

Explains how cloud-native services and Kubernetes make engineering platforms easier to evolve, while showing why extensibility matters when choosing a control plane.

Key terms: API-first, cloud native, total cost of ownership, opportunity costs, Kubernetes, control plane, worker nodes, orchestration, APIs, mutating admission controller API

2.4 Summary

Where this is used later

Concepts explained in this chapter

← Chapter 1: What is platform engineering? Chapter 3: Measuring your way to platform engineering success →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.