August 2016

Programming by Intention

August 31, 2016 0 comments

In my blog post The Single Level of Responsibility Principle, I talked about the virtues of separating out perspectives in code so that any entity is only dealing with a single perspective. In this post, I’d like to tell you about the practice I use that helps me separate out perspectives in code without even […]

CONTINUE READING THIS POST →

Story Splitting Techniques in a Nutshell

August 24, 2016 0 comments

There are many techniques for splitting stories depending upon the situation you’re in. The goal is to break down work into the smallest increments that still provides some value, but the value can simply be a step in the right direction—as long as it produces visible results. Most big stories are compound stories, meaning they’re […]

CONTINUE READING THIS POST →

Splitting Stories

August 17, 2016 0 comments

A number of Agile methodologies rely on artificial time boxes such as sprints or iterations. The purpose of these time boxes is to get you good at breaking down work so you’re only building a small piece of functionality at a time. One of the critical skills in Agile development is being able to split […]

CONTINUE READING THIS POST →

Technically Speaking Podcast

August 10, 2016
Thumbnail image for Technically Speaking Podcast

Here’s a link to the Technically Speaking Podcast I did at Agile 2016: https://soundcloud.com/teamdaugherty/david-bernstein. In addition to talking about my conference session, my book, and the state of Agile, we also discussed my previous career as a filmmaker and the youth environmental video I made in the 1990s called Connect: A New Ecological Paradigm. This […]

CONTINUE READING THIS POST →

The Single Level of Abstraction Principle

August 10, 2016 0 comments

It’s virtuous to separate out different perspectives in code because it helps make code more testable, extendable, and understandable. We want to use entities at the same level of perspective so that code is easier to read and understand code. The same thing is true within entities where we want to do tasks at the […]

CONTINUE READING THIS POST →

Automate Deployment

August 3, 2016 0 comments

Different people have different ideas of what it means to be Agile. For some, Agile means doing standup meetings and two-week iterations. For others,it means doing all the practices from Scrum, Lean, and Extreme Programming. For me, what it means to be Agile comes right out of the Agile Manifesto, which says: “Our highest priority […]

CONTINUE READING THIS POST →