“Over the past twenty or so years I have been involved in many software development projects, code reviews and software factory implementations. Although I had stretched the virtues of good software architecture for decades, it wasn’t until a series of recent event, that I really started re-valuing of having sound software architecture in place. And to mea well-defined software architecture merely describes the patterns used, the layers applied the types of classes in these layers, and how they collaborate. Primary goal would be to create structure and a clear separation of concerns in your application code.” – Shoogend
The architects focus plays a very important role in IT success of enterprises. Currently thousands of production servers run in the data centers of enterprises without architects. So why do we need architects now? What do they do? How do they add value? And who is qualified to become an architect?
Why do we need them?
The complexity of technology and products that offers today demands the guidance and design expertise of knowledgeable and experienced IT professional. Infrastructure, data and applications are three critical components of all data centers to keep business alive and running. Integration of infrastructure, application development and database and management tools requires the skills and leadership beyond those of engineers and developers. Architects are needed beside the product road maps, so IT professionals or system engineers can build the infrastructure, and developers or software engineers can focus on building and developing applications.
Organizations must realize the need for architects, their roles and responsibilities in the process, as well as recognize their value first before they recruit architects to help build the future.
What Do They do?
There are several kinds of architects in an enterprise: Enterprise architects, Infrastructure architects, Software architects and Line-of-Business architects.
The efforts of enterprise architects pan out to ensure that they cover architecture from an enterprise perspective, cross-organizationally, and across architectural domains such as business, application, infrastructure, and data. Enterprise architects lead infrastructure architects, software architects and line-of-business (LOB) architects to plan and build the blue print for the enterprise.
Infrastructure architects build infrastructures as presented by enterprises architects, to implement and maintain reliable infrastructure services for business.
Software architects usually are the experienced developers who are able to help perform strategic thinking from a software-development perspective; deal with systems, boundaries, interfaces and interactions; explain high-level design choices; and communicate with stakeholders.
The LOB architects are the links between the needs of the LOBs and those of the developers. They often build the solutions for the business.
How Do They Add Value?
Each kind of architect can provide value through the particular contribution to business and business processes. Each serves as the bridge between business, engineers and developers. Architects must be able to contribute to add value to the business and IT processes.
Benefits for Developers: If organization has software architecture in place, this will offer some rather relevant benefits, which include
- High productivity. It is easier to add new features to existing software, since the structure is already in place and the location for every new piece of code is known beforehand.
- Better code Maintainability. It is easier to maintain existing software as the structure of the code is visible and known, so it is easier to find bugs and anomalies.
- Higher adaptability. New technical features such a different front ends or adding a business rule engine are easier to achieve as your software architecture creates a clear separation of concerns.
- Hype agnostic. It will allow you to see hypes and fads in the industry or which are a lot in the light of your current structure and to fit these hypes and fads in if so required.
Who IS Qualified to Become One?
The professional qualifications of an architect include education, knowledge and experience in IT, and more importantly an understanding of technologies, tools and intentions. Most importantly, architects understand the business and its processes.