HomeWorksSupport for production of development guidelines using Spring and DDD

Support for production of development guidelines using Spring and DDD

2020

Private

Create development guidelines for the effective use of the Spring Framework and Domain Driven Design (DDD) in client system development projects to improve the productivity and quality of the development team.

Background and Issues

The client was developing a large accounting system that needed to be highly available and scalable. Conventional development methods have faced the following issues.

  • Development delays caused by the complexity of the requirements
  • Performance concerns with increasing number of tenants
  • Enhance security requirements
  • Lack of sharing of best practices across projects

Solutions provided

We have established development guidelines using Spring and DDD with the following steps

Current state analysis

  • Detailed analysis of the client's existing systems and development process.
  • Through workshops with the development team, specific issues and needs are identified.

Formulation of guidelines

  • Summarize the basic concepts of Domain Driven Design (DDD) and its conceptual diagram in an easy-to-understand format, and apply them to the client's business domain
  • Create design and implementation guides incorporating Spring Framework, CQRS, and TDD best pract
  • Specify the project structure, package structure, and methods for managing dependencies

Provision of templates and sample code

  • Template projects are created according to the guidelines and provided with sample code. Use Spring REST Docs to maintain 'working code' rather than just documentation.

Training and Support

  • Workshops and guideline briefings for development teams
  • Provides questions and answers and follow-up support on the application of the guidelines

Outcomes and Effectiveness

  • Increased productivity : The development guidelines have enabled the development team to work more efficiently with a standardized methodology, resulting in increased project productivity.
  • Improved quality : Code consistency and readability were improved, and the incidence of bugs was reduced.
  • Smooth communication : The ubiquitous language has facilitated communication within the development team and with the business side.

UI design and implementation support for Kubernetes platforms

Support for building a data management platform for the Good Design Award