In recent years within the object oriented and agile community, several approaches to software design and development have materialized and are in use by professional software developers. Test-Driven Development (TDD), Domain-Driven Design (DDD), Behavior-Driven Design (BDD) and Feature-Driven Design (FDD) are some of the more well known approaches. While these philosophies all imbibe the classic agile principles of an incremental and iterative mindset to software development, they subtly differ from each other.
For some lean/agile practitioners, the idea of maintaining traceability among different development artifacts is nonsense. There are times, though, when traceability is required and other times when it's highly valuable. We need to develop a value mindset of transparency in our processes and approach so that traceability requirements can be satisfied with minimal effort.