Many corporations put their trust in the software architect, a person holding a title that only came into broad use around 2001. A software architect seldom undergoes the kind of exam that other kinds of architects must pass. Does the title mean anything?
Some folks are trying to make sure it does. Among those is Leonard Fehskens, vice president and Global Profession Lead at The Open Group. Prior to taking this role, Fehskens led the Worldwide Architecture Profession Office for HP Services at Hewlett-Packard.
Among various enterprise architecture initiatives at The Open Group is an effort led by Fehskens to see to it that 'software architect' can mean something dependable and repeatable. We recently spoke with Fehskens. The take away: Conceptual integrity, product line thinking, conversance in varied domains, goal orientation and an eye for the essentials are some of the skills that mark a true software architect.
Fehskens agrees, the term can be misused. Sometimes it is the kind of syndrome where an experienced developer just says 'I am good at what I do so I deserve to be called 'architect.'' But it is not about mastering the ways of the programmer - software architecture is a "qualitatively different skill," said Fehskens.
Certainly, the idea of architecture goes further back than 2001. Some mark its birth with the appearance of a paper in the IBM Systems Journal on the IBM 360 project by the distinguished Fred Brooks, Gene Amdahl and Jerry Blau. In his work, Brooks derived the idea of the software architect's role from the need to maintain the conceptual integrity of a solution as systems became bigger and bigger.
At the end of the day, the processes that surrounded the IBM 360 became as vital as the vaunted system at the center. The IBM 360 was conceived as a product line, with various capabilities and price points, but with a common programmatic approach. That thinking shows up in software architect processes today, such as the CMMI framework for product lines.
Said Fehskens: "The '360 paper' defined architecture as the essential properties of something that make it what it is. You could tell it was a '360' because it did certain things." And so we have the notion of conceptual integrity. An individual who can separate the essential elements of a system apart from its detailed appearance is on the way to gaining skills a software architect should posses.
"Architects worry about 'the whole thing,'" said Fehskens, "not little pieces." Architects, he continues, should have a sense of fitness for purpose, which, he admits, is an old notion.
And, just as architects must see beyond the individual product, they must see beyond the individual domains. They must span domains, notably the domains of business and technology. They must span domains and have a good eye for what is essential.
Fehskens said, "The big question an architect must ask every time is 'what are you trying to achieve?'"
"A good rule of thumb for an architect is to ask 'why' five times," he said. It may seem redundant, but, he explained, "Eventually, you get something."
At The Open Group, Fehskens and his colleagues are trying to develop the foundations of a genuine profession. Besides creating relevant learning programs, the group is looking to create an appropriate aptitude test for the potential architect. The goal is to be able to fully exploit the capabilities of would-be applicants for software architecture work. "Ultimately, when people come to somebody who has earned the title of architect," he said, "they will have a reasonable expectation of what they are going to get."Find information on architecture-related activities and certification programs at The Open Group's Web site. Go to the Association of Open Group Enterprise Architects for more information.