Member-only story
Capturing Solution Design Details In Serverless Developments — Part II

My previous article on the importance of Solution Design in serverless development discussed the need for it for the following main reasons.
- Technical agility
- Engineering clarity, and
- Business visibility
Nested among these is another one— Service Longevity. I often refer to this as the Sustainability of a serverless application (not to be confused with the new AWS Well-Architected Sustainability Pillar).

In a fast-paced agile environment, teams evolve, and engineers move around. Due to this, the domain and design knowledge fade from them. Storing the traces of what they went through, how they conceptualized the solution is vital. True, the source code repository plays its part, but it doesn’t explain the design unless captured and kept for everyone to understand.
This article introduces a documentation template to collate and keep the design details in one place.
Solution Design is a process of translating product requirements into architectural visualization of granular microservices, along with engineering details to build an event-driven serverless application.
Serverless Solution Design Template
As a template, what I am describing below is a documentation pattern. I do not want it to be a cookie-cutter. Instead, consider it as a reference and add your touches.
Though technical details dominate a Solution Design, its target audience is not just engineers. You should be comfortable taking it and travel the architect elevator onto different floors and share it with stakeholders, domain experts, security teams, product owners, leaders, fellow architects, and other engineering teams.
The sub-headings below represent the sections in a Solution Design document.