Technical Documentation: What is the difference between HLD, LLD, DLD?2017-02-12T19:23:30.000Z 2017-02-12T19:23:30.000Z DLD, LLD, and HLD are technical documents. What is the difference between them and why it is important to have good technical documentation for your project?
Technical documentation creation is a critical step for a successful IT project, no matter whether it is big or small. When you have a team of people working on the same product, building it for someone else, communication is vital.
Technical documentation (TD) is one of the ways to bring everyone on the same page. It provides and explains the logical design of the upcoming (or existing) code as well as sets the expectations for features and modules the developer needs to create.
From a business standpoint, it is also an important step. A good technical documentation for a software project helps to lower costs (especially various sudden overhead), achieve high reliability, create a maintainable product, and streamline communication between the business and IT people (who often think in different ways).
There are several types of technical documentation, and in this article, we'll look at such things as HLD, LLD, and DLD. Not sure what these mean and when to use which one? Read on.
High-Level Design (HLD) is general system design. It includes the description of the following parts:
- System architecture
- Database design
- Brief mention of all the platforms, systems, services, and processes the product would depend on
- Brief description of relationships between the modules and system features
All the data flows, flowcharts, data structures, etc. are in these docs, so that developers can understand how the system is expected to work with regards to the features and the database design.
Low-Level Design (LLD) is a component-level design process that follows a step-by-step refinement process. It provides the details and definitions for the actual logic for every system component. It is based on HLD but digs deeper, going into the separate modules and features for every program in order to document their specifications.
Detailed Level Design (DLD) is the most detailed technical document, which describes user stories, error processing algorithms, state transitions, logical sequences, and others. DLD describes the interaction of every low-level process with each other.
Here is a convenient infographic that shows the difference between DLD and LLD: