Story Development

Nothing can save you from having to iterate on your software but not all iteration is equal. Iterating because someone didn't know what they want or because an assumption about the market was invalidated is one thing. That's business. Iterating because two people in the same organization thought they understood one another but really didn't is waste.

This is where behavior-driven development (a.k.a. "acceptance-test-driven development") can help. While it's impossible to reduce the incidence to zero, BDD can take misunderstandings from being the norm all the way to being the exception in your software development pipeline.

It comes down to specifying requirements in terms of behaviors - assertions about what your software will do - and doing it in an unambiguous, falsifiable way. That's basically the description of a test, which is why BDD is considered a flavor of test-driven development.

If you are having problems with clarity of requirements or communication, I can help you through the process of codifying your requirements as tests. It will require commitment from everyone involved in the software development process, even those only tangentially involved, but it will be worth it.

For more information, contact max@abiding.software.

Click here to go back to the services page.