HLD vs LLD
From Macro to Micro: Creating design docs that add value
In the world of software engineering, crafting a well-designed system requires careful planning and documentation.
While waterfall delivery may be a thing of the past, two key design techniques continue to shape today’s software delivery: high-level designs (HLD) and low-level designs (LLD). These design practices play a pivotal role in guiding the creation of robust and scalable software systems.
Before continuing, I should state that I’m not referring to those horrendous red-tape style Word docs we all hate. The design content should be delivered incrementally — as required — via modern collaboration tools.
What is an HLD?
A high-level design (HLD) document serves as a blueprint — outlining the overall structure, components, and relationships of a system, platform or project. Its purpose is to provide a clear and concise overview of the system’s architecture, key functionality, interfaces, and major design decisions.
What is an LLD?
A low-level design document/s provides detailed specifications for the implementation of a system, platform or project. It covers technical details such as physical data models, integration/data flows, algorithms and platform…