Click here to Skip to main content
15,885,944 members
Articles / All Topics

The Way of the Software Architect – The First Allegory

Rate me:
Please Sign up or sign in to vote.
5.00/5 (5 votes)
10 Apr 2012CPOL2 min read 8.7K   7   2
A software architect needs to help a business solve business problems first, and worry about purity of architecture second.

The CEO came to me and said he would like a new web site. I replied that I am a client/server software architect, but that I could learn to become a web architect and build his site for him. I went to the masters of Ruby on Rails and in just two weeks I learned to create a site and I learned the power of convention over configuration. Then I went to the masters of ASP.NET and in another two weeks I learned the many benefits custom controls and the Microsoft Way. Then I went to the masters of PHP and I learned the simplicity and elegance of the PHP way. Then I went to the masters of MVC and learned the testability and power of the MVC way. I went to the masters of Silverlight and learned the power of .NET in the browser using the C# way. Finally, I went to the masters of HTML5 and JavaScript and learned the breadth and reach of the HTML way. I learned each of these technologies in two weeks each. I returned to the CEO and said, “I have learned many of the best web development frameworks. I have developed web sites in each and I know the strengths and weaknesses of each. I am now ready to build your web site for you using the very best approach.” The CEO looked at me and said, “You are too late. I told my 17 year old niece about the web site I desired and she created it using Google sites in two days. The site she created is perfectly satisfactory to my needs.”

– The architect’s way

This story illustrates the necessity of the architect to understand more than technology. Indeed, for every person involved in a software development project, the goal of your tasks is not to provide an esoteric best answer. In the role of a software architect, your goal is to recommend the best architecture. But every person in an organization has many roles, and one role shared by every person is to help solve business problems quickly and efficiently. Often, the business goals trump the goals of the software architecture. Business goals include: getting to market early, pleasing a specific client, pleasing a specific CEO, developing a secure solution, developing a prototype solution; development a solution inexpensively that is good enough; allowing a junior developer to learn through trial and error by developing a solution; developing a solution merely to learn a new technology; developing a solution to test out a new technology before using it in more important projects. All this and more. A software architect needs to help a business solve business problems first, and worry about purity of architecture second.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Kraft Software LLC
United States United States
Rob Kraft is an independent software developer for Kraft Software LLC. He has been a software developer since the mid 80s and has a Master's Degree in Project Management. Rob lives near Kansas City, Missouri.

Comments and Discussions

 
GeneralMy vote of 5 Pin
Eugene Sadovoi11-Apr-12 6:23
Eugene Sadovoi11-Apr-12 6:23 
Good thought, thx for sharing.
GeneralMy vote of 5 Pin
Reza Ahmadi11-Apr-12 1:56
Reza Ahmadi11-Apr-12 1:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.