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.