Click here to Skip to main content
13,455,683 members (51,856 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


7 bookmarked
Posted 10 Apr 2012

The Way of the Software Architect – The First Allegory

, 10 Apr 2012
Rate this:
Please Sign up or sign in to vote.
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.


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


About the Author

Rob Kraft
Web Developer Kraft Software Solutions, Inc.
United States United States
Rob Kraft is an independent software developer for Kraft Software Solutions, Inc. 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.

You may also be interested in...


Comments and Discussions

GeneralMy vote of 5 Pin
Eugene Sadovoi11-Apr-12 6:23
memberEugene Sadovoi11-Apr-12 6:23 
GeneralMy vote of 5 Pin
Reza Ahmadi11-Apr-12 1:56
memberReza 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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03-2016 | 2.8.180321.1 | Last Updated 10 Apr 2012
Article Copyright 2012 by Rob Kraft
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid