Design knowledge is essential for software developers’ daily work. An important form of knowledge is the one related to the architecture of systems. For instance, when new features are requested in a system in operation, designers should define the impact of the implementation on the system’s architecture as early as possible. Thus, interaction with design knowledge, specifically with the knowledge related to architecture becomes fundamental.
I believe that developers’ interaction with design knowledge is an under-supported activity in our field. In practice, knowledge is still difficult to find. Even when it is available, thoroughly understanding it may be complex. For instance, the architecture of a system is commonly hard to comprehend for developers that did not work on its initial construction.
My research aims to address this problem through the development of novel tools, which proactively will support software designers ‘in the moment’ with architectural knowledge relevant to a specific situation, and collected automatically during prior phases of the same design process.