ADRs (Architecture Design Records) and HLD (High Level Diagrams)
ADRs are documents that capture the important decisions regarding the architecture of our software. They serve as a record of the context, options considered, and the rationale behind the chosen solution.
HLD provides an overview of the system architecture, major components, and their interactions. It helps in aligning the team and stakeholders on the overall structure of the application.
We should update the HLD whenever there are significant changes to the system architecture. It serves as a reference for new team members and ensures everyone has a shared understanding of the system.
LLD (Low Level Diagrams) and ER (Entity Relationship Diagrams)
LLD dives into the details of individual components or modules. It includes class diagrams, data flow diagrams, and other specifics that guide the implementation.
LLD documents are often created in collaboration with the development team. They serve as a valuable resource during the implementation phase and aid in code reviews.
ERDs visually represent the relationships between entities in our database. They are crucial for understanding the data model and ensuring that it aligns with the requirements.
Each table and its relationships are clearly defined in the ERD, making it easier for developers, database administrators, and stakeholders to comprehend the data structure.
We include ERDs as part of our documentation to maintain a clear understanding of the database schema. This is especially helpful during database migrations or when onboarding new team members.
During code reviews or discussions about database changes, referring to the ERD ensures that everyone is on the same page regarding the data model.