Preserving Lost Software Knowledge
All too often, the knowledge acquired by software architects is unnecessarily lost. Moreover, it is difficult to simply and quickly assess the quality of software. According to Dutch researchers Remco de Boer and Rik Farenhorst these problems can, however, be easily resolved.
The design and construction of large software systems demands a lot of creativity and knowledge on the part of software architects. During projects, such as the digital public transport pass or the digital tax return form, due consideration needs to be given to security requirements, ease-of-use and performance. The architect incorporates these requirements and the wishes of his clients in the design and must, at the same time, allow for the technical limitations and possibilities.
Architects who do not have or cannot access the right knowledge in time, keep on ‘reinventing the wheel.’ However, Farenhorst investigated how architectural knowledge can be better disseminated and retrieved so that software architects can share their knowledge more easily. He discovered that many architects simply talk too little with each other. They want to receive knowledge but are less willing to pass it on.
He calls for a combination of two forms of knowledge sharing:
• using fixed templates in which architectural knowledge can be recorded
• through open communication. Such open communication could be facilitated by forums or ‘yellow pages’ that allow the architects to find each other.
De Boer examined the role of auditors. These auditors assess the quality of software systems. This means that they must often wade through piles of paperwork looking for the information they need, for example, about the decisions that an architect has made during the design process. De Boer developed a method for guiding auditors through this information to ensure that less time and money is lost in endless searches.
Farenhorst and De Boer carried out their research in collaboration with several IT companies. These organizations indicated that the design and evaluation processes for their software often proceed with difficulty. However, Farenhorst and De Boer have now demonstrated how these difficulties can largely be resolved.
Farenhorst’s and De Boer’s research was part of the NWO programme Joint Academic and Commercial Quality Research & Development (JACQUARD). They carried out their work within the GRIFFIN project, which is describing how and why software engineers take decisions about the architecture of their software. GRIFFIN is a consortium of academic and industrial partners.