presented by Chen Yang
It is very simple to make assumptions in our daily life. We often do it unintendedly. But what is an assumption actually? Some state it to be an implicit design decision and its reasons. Others call it the unknowns, or the expectations in decision making. Also practitioners give it different meanings. In this paper, they call it 1) architectural knowledge which is 2) taken for granted or accepted as true, and is 3) without evidence.
To study the concept, they performed a exporatory multi-case study in two countries, focusing on “how do architects perceive architectural assumptions”, and the benefits of keeping track of them. They studied 24 cases (read architects). Data collection has been performed via questionaires to get background and a global understanding, and interviews and focus groups to study the research questions.
It turns out that assumptions are often made in development, spanning the whole lifecycle. In documentation there is a lack of usage, also because the term is unclear. Also, assumptions are intertwined with certain types of software artifacts, and subjective to the context of the project. Something interesting is that assumptions can change over time, which makes it even harder to grasp.
So, there is a clear need to manage them. But how? They identified twelve architectural assumptions management activities and nine practices used for five activities, such as brainstorming for assumption making, evualating assumptions in architectural evaluation. Tool support hardy exist: Word, Excel and Enterprise Architecture are being used, but those are very generic, and offer no real support.
They concluded with eight challenges that need to be tackeld, including getting a better understanding of assumptions and to add systematic approaches and dedicated tools to support the architect in assumption management. Additionally, they give four benefits, such as awareness and facilitating handover.