Application Architect is a label applied to people who should create the architecture of software applications but, unfortunately, are often handed a major structure and told to decorate it. Companies are losing major opportunities to gain competitive advantages because of the shackles applied to application architects.
Look through the advertising for application architect jobs. Many of the advertisements lay down ground rules for selection that prevent the hiring of an application architect with modern ideas. The job description says the application architect has to use specific designs and approaches, has to have extensive experience with obsolete software but does not ask for experience with anything modern.
Compare an application architect with a regular architect, the type who designs buildings. The regular architect is restricted by the lay of the land, building regulations, and the intended use of the building. One of the biggest constraints is the economic life of the building, perhaps 50 years, and the need to make the building saleable if the owner moves to a different building. Conventional approaches are forced on the architect by the building codes and the need to make the building resalable.
Software does not last 50 years. You write off software over one or two years. You plan on keeping ahead by making major upgrades every six months. This approach is not possible with a building. Department stores redecorate every year but they do not change the architecture of the building. Software architects Have the luxury of flexibility.
Software is not sold after use. When you finish using an application and move on to a replacement, you throw away the old application and stop paying maintenance. There is no requirement to make the software conventional. There is no requirement to start with obsolete ideas.
Why do companies make application architects leave their brain and imagination at home? Often it is the influence of sales people infecting the company with old ideas because old ideas are expensive and pay big commissions. The application architect is hired by a CTO (Chief Technology officer) who wants to please the CEO and the CEO is already in the clutches of sales people from big information technology companies. Those sales people praise whatever they have to sell, no matter how old the rubbish is, and favour the product paying the highest commission, no matter how inappropriate it is.
Look at the example of the Oracle database. There are reasons why some applications could benefit from using the Oracle database way back in the past. Today the decision to use the Oracle database is rarely based on any real advantage of the Oracle database.
Oracle owns Sun and Sun owns MySQL. When a company approaches the MySQL sales person, will they find hear the great new that the latest free version of MySQL is perfect for many applications? No, they will hear about the expensive commercial version even if the customer will not use the extra features of the commercial version. Some of the customers will be passed up the food chain to an Oracle database sales person and end up paying a big percentage of every application budget for the Oracle database, despite availability of the free MySQL database.
When the application architect is hired to architect an application, the application architect will be constrained by the depleted budget and told to use the Oracle database. Using the Oracle database will will further constrain the choices made by the application architect and the application will then be dependent on the Oracle database. The application architect will not be able to suggest many of the modern approaches to building applications because they will be impractical in environments where you can run the Oracle database.
The infection goes on and on. Subsequent applications will be forced to use the Oracle database to provide "compatibility" and to save training staff on a new database. The staff are already using the alternative databases in their personal Web sites and do not need retraining but that will not stop the oracle database sales person spreading rumours at board level about the cost of retraining.
One excuse for using old software or an old database is compatibility backwards. Most of the time it is not required. When you replace an old application with a new application and keep the old database, you end up having to convert tables and fields in the old database. You end up with very little difference between the conversion of the old database and the conversion to a new database. You are often faced with more work converting to a new release of an old database.
Database conversions happen all the time and converting from Oracle to MySQL or PostgreSQL is often easier than the conversion from Oracle 8 to Oracle 9. Oracle 8 and Oracle 9 used incompatible ways to store some types of data. At the time, both MySQL and PostgreSQL used modern ways to store the same data. A single conversion from Oracle 8 to PostgreSQL or MySQL removed a lot of limitations. The conversion from Oracle 8 to 9 simply moved some limitations a little further out and you had to go through another difficult conversion to Oracle 10 before the limitations were removed. At least one Oracle sales person managed to describe the difficult two step Oracle upgrade as an
Backward compatibility works in houses because pipe fittings and endless other design elements change only every 20 or 50 or 100 years. You can add an extension on to an old house knowing most of the building materials will fit the same way and most of the builders will use techniques they learnt 50 years ago or learnt from someone who learnt them 50 years ago. As an example, I added an extension to a house using a modern frame design to save the builders a significant amount of work. The design, by a brilliant architect, featured long spans of wood to reduce the amount of cutting, joining, and supports required. When I was away from the site, the carpenter cut the long lengths of wood into short pieces then spent a lot of time joining the short lengths back into long lengths and adding lots of supports because the joined wood is not as strong or stable as the original wood. We had to buy another load of wood to provide all the supports. I asked the carpenter why he decided to make the work artificially difficult and the resulting frame sub standard. He replied that he ignored the plan and did it the way he was shown as an apprentice many many years ago. In the building trade you have to wait several generations before ideas change.
In computing, the first generation of computing ideas still survive. The Linux/Unix command line is the DOS box from the 1980s, the CP/M used on personal computers when personal computers were invented in the 1970s, IBM TSO from the 1960s, all based on the teletype machines connected to computers in the 1950s. When the British invented electronic programmable computers in the 1940s, they used paper tape for input because the data was already on paper tape from teletype machines. The first successful commercial teletype was used in 1922. The teletype idea is based on the stock ticker machine from 1867. Using the command line in Linux would be familiar to the people typing up stock prices in 1867.
If you watch fashion parades, you soon realise that the items on display are not clothes for wearing, they are just gimmicks to attract media attention, and most of the
new ideas are boring reruns of old ideas. Information technology has the same fashion cycles with some of the same focus on grabbing media attention. Every generation of Internet based applications makes the same old claims for
unique despite most of the ideas being old ones represented with a more distracting animated interface. Adding a blinking icon does not make an idea new.
Some of the
new ideas on the Web were used in mainframe computers 20 years before the invention of the Web. Some of the
new ideas on the Web were well though out and executed in applications before being used on the Web and, in the Web version, are severely limited in usability by the primitive nature of many parts of the Web. There were HTML equivalents 20 years before the Web and HTML is far less reliable than the predecessors plus there is no development plan for HTML, it just flops back and forwards between the two fashions of sloppy HTML and the cleaner XHTML. If HTML was formally recognised by the fashion industry, XHTML would be the lapel and HTML would be the embarrassingly wide lapel that unfortunate comes back into fashion every few years.
Cloud storage is a fashion were people rush to do away with lots of good sound practices in an attempt to fix one minor problem caused by not spending a tiny bit of money on storage hardware. Cloud storage turns out to be far more expensive that the tiny bit of money required to improve traditional storage and cloud storage is full of huge gaping holes that nobody talks about. When there are enough cloud storage disasters, people will ignore the problems because fashion victims avoid admitting they were wrong by quickly moving on to the next fashion.
Cloud computing is the next fashion after cloud storage and has even bigger problems but is buried under discussions about how marketing departments can best mislead consumers with artificially flavoured tweets. The Google Wave is designed to kill off Facebook and Twitter. The next fashion in information technology will be to replace Web sites and Microsoft Exchange with waves. Google will then own your data and own a very large slice of the time your employees spend in front of their computers.
If you are the CEO and want to help your company progress, you need to find an application architect with modern ideas, who is immune to fashion, and give him or her the chance to design outside the current constraints of your existing information technology.