Ability in implementing software using the following development practices and processes; domain-driven design (DDD), Behaviour-driven development (BDD) and Test-driven development (TDD)

Terry Beavis | Friday, November 2nd, 2018

Our consultants iteratively-developed solutions with HMRC for extracting data from EU-systems before making it available for legacy-systems based on DDD principles. We agreed a canonical-data-model with business-users, leveraging a single-repository (PostGreSql)  and employing separate bounded-contexts to present data to different legacy-systems.

We re-developed the Programme-Backlogs to be Feature-Based facilitating a move to BDD; ensuring component-teams worked in parallel on features/behaviours; deriving business-value.

We employed multi-level TDD enforcing test-case creation before coding:

  • Unit – developer-tests.
  • Component – automated-tests in mocked-environments.
  • Feature – end-to-end automated-tests in integrated-environments.

The adoption of DDD, BDD & TDD led to increased Programme-Velocity, reduced Integration defects and closer working between the business & technical people.

Filed under: Agile Delivery, HMRC, Solutions, Transformation