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 “Programming by Intention”
Read MoreThere 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 “Story Splitting Techniques in a Nutshell”
Read MoreA 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 “Splitting Stories”
Read MoreHere’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 “Technically Speaking Podcast”
Read MoreIt’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 “The Single Level of Abstraction Principle”
Read MoreDifferent 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 “Automate Deployment”
Read More