“Software architecture is the business of thinking strategically and tactically about software in such a way that a business can increase profits, reduce costs, or innovate”
So what is software architecture anyway? Ask Paul Preiss, president and founder of the International Association of Software Architects (IASA), and – among other things – he will tell you what it is not.
Software architecture is not a “big picture,” high-level thinker’s approach to software development. Nor is a software architect a supervisor or project leader for software developers, he said.
“Software architecture is the business of thinking strategically and tactically about software in such a way that a business can increase profits, reduce costs, or innovate,” he said.
Software architecture is a young profession still defining itself, but one quite distinct from software development.
A software architect needs to be able to think strategically and tactically, dealing with the minutiae of software development issues only when the need arises, according to Preiss.
This is the antithesis of an organisation allowing its IT solutions to be developed ad hoc, as an unplanned series of piecemeal solutions to arising software requirements.
The ad hoc approach could ultimately hinder the adoption of technology, as the piecemeal solutions get in the way of a coherent is overwhelmed by the maintenance costs for existing solutions.
The skill set for software architecture is quite different form that of software development. Software development requires knowledge of programming techniques, hardware platforms, as well as application domain knowledge, among other things, Preiss noted.
By contrast, the skills required of a software architect included IT environment skills, design skills, quality attributes, interpersonal skills, and an awareness of business technology strategy.
Currently, one has to go through the training and then the career path for a software developer, before switching over to become a software architect.
But Preiss said IASA is working to change this. IASA is developing its ability to execute a profession’s responsibility to define its capabilities and practices, and to train and certify its practitioners.
“Among IASA’s key activities is helping the nascent profession define itself. We’ve laid out a library of skill sets on our website a www.iasahome.org, and we have a group of 15-year veteran software architects who are putting together a full training and certification programme,” he said.
IASA’s aim is to get training in the software architecture profession into universities, on a par with software development, he said.
“In future, I can see people training to become software architects from the beginning, as opposed to switching over from a software development career path. I can even see specialisation among software architects into such fields as architecture for business and infrastructure.
There is also a need for IASA to educate the business community about software architecture. The business world is slow becoming aware of it, but there is still a big job to be done in educating people about its value, he said.
“People might ask, why does a company need a software architect when what it needs is technology?
“I would answer, a healthcare company might need technology to provide healthcare solutions. But it also needs a chief financial officer as much as a company in any other business, because it needs a financial architect,” said Preiss.
“Similarly, any company that uses software needs a software architect,” he added.
Preiss said he would be speaking at a regional IASA symposium to be held in Kuala Lumpur on April 24 and 25. Aside from himself, the symposium is scheduled to feature some 30 speakers on software architecture topics related to enterprise, infrastructure, software and fundamental skill sets.
Presidents of The International Association of Software Architects