Board logo

subject: Understanding Software Architecture: A Comparative Analysis [print this page]


Role of software architects: The conflict

For some time now there have been several conflicting talks on what the real role of a software architect is. The hiccup lies in deciding on whether software development is actually a top down (fundamental and planned) or bottom up (developing and adaptive) practice. If its the first, then software architects are vital and unavoidable resources that collect and disburse information, construct technical control and lead development teams. If, on the other hand, software development is the latter, developers play the lead role while architects, if at all they are included, merely coordinate and mediate.

If you try to analyze and figure out what the truth really is, you will only end up with a problem. So lets just go with the second assumption and accept software development as a bottom up process with an occasional top down view behind it.

Software development as a bottom up process

Considering software development (in India) as an evolutionary, adaptive and emerging process will definitely give birth to the best solution. Theres only one thing that you need to know about the characteristic of a typical software development project it consists of a projected business objective, will face limitations and doesnt have the ability to progress ceaselessly unlike the natural order. Thats why it becomes imperative to bring about a balance between both the approaches.

Complex Adaptive System

We all know that all kinds of complex systems, such as society, a galaxy and even a market display certain organizational structure and can be best understood through an observation of their components, properties and laws. There is another theory to understand a system, however, and it is done by considering it as one single institute and making a study of its properties and the dynamics of the relations between the components, as is so in a self-organization.

Is software system similar to self-organization?

Characteristically, a software system shares the same features as a self-organization. A software system displays:

Fluctuations There is never a certainty of the best possible solution and there is requirement for huge amounts of research.

Internal communication Without communication between internal elements like stakeholders, business requirements, technical platform and IT environment, software solution cannot really come in the picture.

Hierarchy A software system will have various viewpoints and levels of viewpoint disbursal, such as organizational, technological and the solution domain itself.

In spite of the similarities however, self-organized systems are superior to software systems. A self-organization has an even distribution system of the components, making the structure more reliable. Some proper examples of a self-organization are free market and the human brain.

by: Holly Maxted




welcome to loan (http://www.yloan.com/) Powered by Discuz! 5.5.0