Abstractions

Shared Vision

Collaboration and Consensus

Abstractions

Abstractions are the tools we use get stuff done. Abstractions are the tools we use to share ideas. Abstractions are the tools we use to avoid repeating ourselves.

When we discover a pattern of behavior or common characteristics of a set of objects, or a way of thinking about a collection of problems to solve, we use the art of abstraction to capture the essence of our subject and maybe give it a name.

Leaky Abstractions

The term “Leaky Abstraction” originated around 2002 and was used to describe the design flaw where many abstractions

How do you fix leaky abstraction?

You don’t. You focus on the valuable part. Abstractions are not perfect. Neither are people. Neither are organizations. Neither are teams.

Scalability

Context Switching

Shortening the Cycle

Simplifying Context

Infrastructure

Focus on the Positive

Constructive Communication

The 80/20 Rule

Anti-Patterns

“You Have To” / “You Can’t”

Managing Dependencies