Why should we follow design strategies?
Nobody wants their software product or service to be difficult to build, change, maintain, and scale. As in any aspect of a business, if you want to build something, you must have a clear strategy for making a profit and continuing to make a profit by remaining competitive and adding value.
On the software side, we always want products, code, and their environments to be stable, flexible, robust, reusable, and scalable. To enable this, we come up with strategies at different levels that create our enterprise architecture landscape. Within the landscape, we consider each decisive attribute of the company and how the digital software products or services can enable and support them, and also how new features and growth in the future can be enabled with the desired amounts of stability, scalability, and predictability.
Quite often, we do not need to reinvent the wheel as we can identify recurring patterns even in seemingly different problem...