Flexibility can be very practical, but the downside is that it's harder to keep a consistent structure while the application keeps expanding and the team of developers starts growing. We have created our own convention to be able to maintain that structure in every project within Triple.
Goal is to improve the following points:
- Easier developer onboarding in projects
- Easier sharing of solutions and components between projects
- Less discussion about the implementation and more focus on the business logic
- Centralized knowledge sharing and improvement of code quality
This is the hardest part in order to make this convention a success. We have to create a starting point, and some of the rules and conventions will be different from your current way of working. This can feel intrusive. We urge you to follow this convention as strictly as possible. You will have to let go of your own preferences on certain topics/rules and stick to the convention.
If there is anything you'd like to improve or change, make it a centralized discussion (within the web weekly) and see if you can improve it within the convention so that everyone can benefit from it.
If you need to change a rule or a pattern so that it works for your project, then make sure you keep those decisions centralized within an extended convention for your project. This ensures that your project still remains structured.