Doing things right doesn't matter unless you do the right thing.
"Specification by Example" by Gojko Adzic is about delivering the right
software. Adzic has interviewed many successful teams and discovered
that their ways of software development are quite similar.
These ways or processes are based on a close collaboration between
all the parties, including business representatives.
It begins by understanding the business goals.
It continues with creating a specification and utilizing it for
software development and verification.
It is finalized by providing living documentation which reflects
the current software state and behaviour.
"Specification by Example" helped me to understand how to do
behaviour-driven development (BDD).
It is an excellent reading for a software craftsman.