Acceptance Test Driven Development (ATDD) is a relatively new but essential practice in software development. This practice goes by many names, including Behavior Driven Development (BDD) and Specification by Example. This practice is not to be confused with Test Driven Development (TDD) or other forms of testing. ATDD or BDD is something unique. And as …
Continue reading “Assert Behaviors Through Acceptance Tests”
Read MoreEvery successful software development project I’ve ever worked on has had a Product Owner. They may not have been called by that exact title, but that was essentially their job. They were responsible for defining the product, prioritizing features, and answering the myriad of questions developers had as they built those features. The Product Owner …
Continue reading “The Single Wringable Neck”
Read MoreA central benefit to Agile software development is breaking down tasks into the smallest component that can provide measurable feedback. When we do this we take complex tasks and simplify them by breaking them down into smaller, easier-to-handle tasks. Smaller tasks have four essential benefits: First, they’re easier to understand, which means they cost less …
Continue reading “Smaller Tasks Have Big Benefits”
Read MoreDag König and I spoke on Dev.Cast 145 (http://www.buzzfrog.se/index.php/2016/05/dev-cast-145-will-we-ever-learn-to-develop-better-software/) about the state of software and its future, my book, and lots of other stuff. I was so excited that Dag could hardly say a word. But it was a fun podcast.
Read MoreA story is a single sentence description of a feature. Stories tell three things about a feature: • What it is • Why it’s there • Who it’s for. Stories do not tell how to implement a feature or even what it looks like. Stories are very high level. Stories are placeholders meant to remind …
Continue reading “Tell Stories”
Read More