Pages

December 08, 2007

SWYL : What is the difference between Architecture and Design?

One of the most widely used words in the IT world are design and architecture. But many a time, these two words have been used wrongly. In some places we see the word architecture being used for a design and vice versa. Each one of us might have had this problem ourselves during early the stages of our IT career.

One of the definitions I found on the internet said -

"Design is the description of how something works within a given set of constraints; architcture is the description of a system of constraints

Another webpage read -

"While architecture deals more with the wide picture, design should drill down in to the details relating to implementing certain components

Here is what I think are the differences between architecture and design -

Architecture is purely driven by the business requirements, while design is driven by component or module level requirements

A change in the architecture can affect the end solution, while a change in design will not always affect the end solution

An architecture can act as a framework (generic) for a set of solutions. But a design cannot be generalized for a set of solutions

Architecture is bound by the business environment, while the design is bound by the architecture

The architecture is defined by requirements collected from Line of Businesses (LOBs) and the environment where the end solution needs to be deployed. Design requirements are defined by the boundaries of a component or module

Requirements that go into the making of an architecture is not direct (as it comes from non-IT/business community). The Architect will need to infer a lot of the needs. Design requirements are predominantly direct and defined by the component constraints and the architecture

These 6 differences are just the key ones. There are many others that differentiate design and architecture apart from the above.