The importance of architecture design – with a customer focus
2021.07.28
Design is an indispensable part of any software development process, regardless of the technology and methodology used and no matter the client. Architecture design is similar to bundling the layout and blueprint of a house, along with the description of all furniture and decor, including user manuals, into a single documentation. The complete system design may be described in different documents, but by the end of the design process, a plan is created that comprehensively describes the operation of an entire (software) system, along with its visible parts, elements under the hood and external relations.
Clients typically don’t attach too much importance to design since they just want to receive and use the completed system (by yesterday) and not just talk about it or read and approve some documentation. After all, it’s a written material about the way something is going to work on screen and behind the scenes, which is too abstract for most people. However, this is a pivotal process as it allows us to explain to our clients, both in writing using charts and face to face, how the system requested by them is going to function. Another reason why this is critical is that it allows the various teams implementing the system to produce building blocks independently of each other which, when placed side by side and stacked on top of each other, form a complete and operational system.
Design has different phases which are typically defined by the product documentation created at the end of each phase, but we generally drill down from top to bottom, resulting in more detailed plans as we progress. The major stages of design generally include requirements assessment, business process assessment, logical design and physical design. Design involves the participation of the client: the client is the one who defines what they want, and we at INNObyte put it in writing and document it. During the design stage and the ongoing discussions, it becomes clear for the clients what they are looking for and what the system is going to be like eventually.