Who prepares HLD and LLD?

Free Coding Questions Catalog
Boost your coding skills with our essential coding questions catalog. Take a step towards a better tech career now!

The preparation of High-Level Design (HLD) and Low-Level Design (LLD) typically involves different roles and collaboration among team members within a software development project. Here’s an overview of who is usually responsible for each and how they collaborate:

High-Level Design (HLD)

Who Prepares HLD:

  • Architects: Solution architects or system architects are primarily responsible for creating the high-level design. They define the overall structure of the system, ensuring it meets the requirements and aligns with the organization’s technical strategy.
  • Senior Engineers/Technical Leads: Senior software engineers or technical leads often collaborate with architects to provide input based on their practical experience and knowledge of the system's operational aspects.
  • Project Managers/Product Managers: They may contribute by ensuring that the high-level design aligns with business requirements and project constraints.

Collaboration:

  • Requirements Gathering: Architects and senior engineers work with stakeholders (product managers, business analysts, etc.) to gather and understand requirements.
  • Review Meetings: Regular design review meetings are held to discuss the high-level design with various stakeholders, including developers, QA engineers, and operations teams, to ensure feasibility and address any concerns.
  • Documentation: Architects create documentation, including architecture diagrams, data flow diagrams, and descriptions of major components and their interactions.

Low-Level Design (LLD)

Who Prepares LLD:

  • Senior Software Engineers/Technical Leads: They are primarily responsible for creating the low-level design. They detail the implementation of components, classes, methods, and interactions.
  • Software Developers: Depending on the project, regular software developers may also be involved in preparing parts of the low-level design, especially for the modules they are directly responsible for implementing.
  • Design Review Committees: In some organizations, design review committees or peer review groups may contribute to and review the low-level design to ensure it adheres to best practices and design principles.

Collaboration:

  • Detailed Requirements Analysis: Senior engineers and developers analyze detailed requirements to create specific design solutions.
  • Design Discussions: Teams hold discussions and whiteboard sessions to brainstorm and refine low-level design choices.
  • Documentation and Diagrams: Developers create class diagrams, sequence diagrams, and detailed pseudocode or actual code structures as part of the LLD.
  • Code Reviews: Before implementation, the low-level design is often reviewed by peers or leads to ensure it aligns with the high-level design and follows coding standards and best practices.

Collaboration Between HLD and LLD

Integration:

  • The HLD provides the blueprint for the overall system architecture, guiding the LLD.
  • LLD dives into the specifics, detailing how each component defined in the HLD will be implemented.

Feedback Loop:

  • During the LLD phase, developers and engineers may discover constraints or improvements that need to be communicated back to the architects. This can result in adjustments to the HLD.
  • Continuous collaboration and iteration between HLD and LLD creators ensure that both designs remain aligned and feasible.

Review and Approval:

  • Both HLD and LLD are reviewed in joint meetings involving architects, senior engineers, developers, and other stakeholders to ensure consistency, feasibility, and alignment with requirements.
  • Sign-offs from both architects (for HLD) and senior engineers or leads (for LLD) are typically required before proceeding to implementation.

Example Scenario: Design of a Scalable E-commerce Platform

High-Level Design (HLD):

  • Prepared by: Solution Architect with input from Senior Engineers and Product Managers.
  • Content: Overall architecture diagram showing major components like the frontend, backend services, databases, cache, load balancers, and third-party integrations. Descriptions of data flow, scalability strategies, and high-level interactions between components.

Low-Level Design (LLD):

  • Prepared by: Senior Software Engineers and Developers.
  • Content: Detailed class diagrams for each service, sequence diagrams for key operations (like user authentication, order processing), API specifications, database schema design, and detailed pseudocode or method signatures.

Conclusion

The preparation of HLD and LLD involves collaboration among architects, senior engineers, technical leads, and developers. Architects typically lead the creation of the HLD, focusing on the overall system structure, while senior engineers and developers prepare the LLD, detailing the implementation of individual components. Effective communication and iterative reviews between these roles ensure that the system is well-designed, scalable, and maintainable.

TAGS
System Design Interview
CONTRIBUTOR
Design Gurus Team

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
How to remove duplicate rows?
What is the salary of Atlassian frontend developer?
Is there a better AI than ChatGPT?
Related Courses
Image
Grokking the Coding Interview: Patterns for Coding Questions
Grokking the Coding Interview Patterns in Java, Python, JS, C++, C#, and Go. The most comprehensive course with 476 Lessons.
Image
Grokking Data Structures & Algorithms for Coding Interviews
Unlock Coding Interview Success: Dive Deep into Data Structures and Algorithms.
Image
Grokking Advanced Coding Patterns for Interviews
Master advanced coding patterns for interviews: Unlock the key to acing MAANG-level coding questions.
Image
One-Stop Portal For Tech Interviews.
Copyright © 2024 Designgurus, Inc. All rights reserved.