Keyvan Nayyeri

God breathing through me

Hire the Best - Architecture

Photo taken from http://www.locotico.com/images/puzzle_house_guy.jpg In the first part of my post series about employment of the best architects and developers I introduced the general reasons to support this logical assertion, and in the second part I went over the influence of hiring a good employee for planning stage on other stages of software development.

It appears that I’ve been slow in updating this series maybe because talking about employment stuff in the economy crisis is like talking about almost impossible things!

The second important stage in the software development is architecture, and in this third part I want to support the assertion that hiring a good software architect is a solid requirement for the success of a software project and can help you save your money and improve your projects to great extent.

I think that the best way to express the necessity of the employment of a skilled architect is to provide logical reasons to support why architecture can have a huge impact on software projects, and on the cost of the implementation and future development. Therefore, this may be a repetition of some reasons that you have already studied in software development books. In the context of this discussion architecture is important in two aspects.

The first aspect is the direct influence of architecture on the cost of a project. The right architecture has a huge influence on the overall cost of a software project. If you choose a wrong architecture to build a software, then there is a high chance that you waste your money, time, and generally your resources for two main reasons.

First, the wrong architecture cannot answer the requirements of your project and experimentally you need to do more work to accomplish your goals. This extra work doesn’t add anything to the quality of your project. Besides, a good architecture offers a high level of flexibility for the future development with least cost of development, but a wrong architecture or an architecture that doesn’t consider future requirements can enforce you to redo a huge part of the work to extend the project. In either cases, it’s apparent that a good architecture can save the cost of the project for current and future development, and a bad/inappropriate architecture can add to the cost of the project and/or its future development.

The second aspect of the influence of the architecture on the software projects is the way that it improves the quality of software, itself. There is a clear relationship between the architecture and the quality of the software. It’s obvious that you cannot have a good building without a good architecture, and that is the same in the context of software development. A good architecture allows a high level of flexibility and quality for your developers to improve different parts of the project.

As you may already know, a relevant architecture helps improve the testability of the project, separation of components, replacement of project components, debugging, speed and performance of the software, measurement of the performance, readability of the code, and simplicity of the design. Yes, all these things are somehow related to the architecture that you choose, and the ease of use and implementation of these factors varies by the architecture that you choose. Now you can understand that architecture has such a huge impact on the quality as well.

Applying these parameters in my discussion, I can support my assertion that an employer should employ a skilled software architect because not only he can improve the quality of the software by allowing the developers to work better on the project, but also he can save your money from extra work in software development and future extensions. Besides, a good architect can help you have a better integration among different parts of a single project and a great level of consistency among different projects/products inside your company. Such a consistency can be a great bonus for the success of your products.

The last point to mention is that it’s not important that how many software architects you hire because here numbers are not important at all. It’s important that how skilled developers you are going to hire specifically in the field of your work. Interestingly, software architecture is a task that should be done by the least possible number of human resources to have the consistency in the architecture.

5 Comments

Bill Gates
Jan 16, 2009 3:50 PM
#

Thx for article.

Pingback from Dew Drop – January 17, 2009 | Alvin Ashcraft's Morning Dew


Hire the Best - Development
Feb 21, 2009 11:52 AM
#

After publishing first three parts of this series about reasons for hiring the best employees for a software project in which I gave an introduction , discussed the topic from the planning stage point of view, and talked about its influence on the architecture


Hire the Best - Debugging
Mar 10, 2009 12:54 PM
#

Continuing my post series about the importance of hiring good employees for software projects, today I want to talk about the advantages of having a good developer in the quality and success of debugging stage in software development cycle. So far, I


Hire the Best - Maintenance
Apr 10, 2009 1:11 PM
#

In the last few months I’ve been writing a post series about hiring experienced architects and developers and its impact on the success of projects and saving the resources. So far I’ve written five posts to introduce the topic and discuss planning ,

Leave a Comment





Ads Powered by Lake Quincy Media Network