Papers & Presentations

Atoms frequently share what they know in journals, at conferences, and in classrooms.

Practical Abstraction

Presented by
Presented at
Detroit Lambda Lounge
March 1, 2014
Additional Presentations:
Written in
Detroit Lambda Lounge
March 2014

Sustaining productivity in a software project requires more than clean syntax and efficient process. It requires clear ideas.

Well-abstracted software is flexible in ways its business domain can take advantage of. It enables a sustained, or even accelerated, development pace over the course of a project. Poorly abstracted software tends to calcify, with each new feature being more difficult to the add than the previous.

Unfortunately, there aren't many tools to directly guide effective abstraction. Refactoring and code smells are too code-centric. Processes such as Domain-Driven Development focus too narrowly on business domain modeling, which is important, but too focused.

In this talk, Drew Colthorp will attempt to describe how many of the best developers already abstract in software projects. The goal is to provide a vocabulary and framework to facilitate effective discussions about abstraction decisions with colleagues and team members.