Empirical Software Design: When & Why

Title: Empirical Software Design: When & Why
Date: April 17, 2025
Duration: 1 HR

SPEAKER
Kent Beck
Software Engineer

Registration Link

Secure Programmer: Software Design Techniques (free Percipio course for ACM Members with Skills Bundle)
Software Engineering Design: Theory and Practice (free Percipio book for ACM Members with Skills Bundle)
Software Design Concepts (free Percipio video for ACM Members with Skills Bundle)
Domain-Driven Design (free Pluralsight path for ACM Members with Skills Bundle)
Domain-Driven Design: Tackling Complexity in the Heart of Software (free O’Reilly book for ACM Members with Skills Bundle)
Tidy First (free O’Reilly book for ACM Members with Skills Bundle)
Software Architecture Hour with Neal Ford: Software Design (Tidy First) with Kent Beck (free O’Reilly video for ACM Members with Skills Bundle)
Test Driven Development: By Example (free O’Reilly book for ACM Members with Skills Bundle)
Extreme Programming Explained: Embrace Change, Second Edition (free O’Reilly book for ACM Members with Skills Bundle)
Software Design and Development: Methodologies (free Percipio course for ACM Members with Skills Bundle)

Let the system be defined as a set of N number of elements, E.
So,
E={e_1,e_2,…,e_n} … (i)

Let a newly discovered issue, to resolve which it requires to change ith element which is tightly coupled only with jth element.
and,
coupling(e_i,e_j,∆_i )∷work(∆_1 e_1,∆_2 e_2,…,e_i,…,∆_i e_j,…,∆_n e_n) … (ii)
To reduce technical debt and side effects, l new elements are introduced through Dependency Injection and other technology that makes the already existing ith and newly introduced l number of elements independent.
So,
cohesion(E,∆)∷E{e_1,e_2,…,e_n,e_(n+1),…,e_(n+l)} … (iii)

N.B. New technology with higher efficiency reduces human effort.