Goal Propagation Explained: How to Determine the Influence of each Product Quality on Another

Frederique Christina
5 min readFeb 15, 2021

Every product has features. These features each contribute to certain goals of the product. Goals could be safety, user satisfaction or reputation. A goal model can help to visualise the influence of each goal on the satisfaction or dissatisfaction of the other goals. This can be helpful to find any irregularities in the design thinking of the process.

The Basics Explained

Take for example the goal ‘safety’. Safety entails that the product is safe to use, all user data should be protected and the user should not be bothered by third parties. If the safety of the user while using the product is not achieved the reputation will probably suffer. On the other hand, if the safety of the user is guaranteed, the satisfaction of the user is likely positively influenced. This indicates that the goal ‘safety’ has a positive influence on ‘reputation’.

I understand if this explanation still leaves you a bit confused. Hang on a little longer, we are not there yet.

Each goal in a goal model can be partially or fully satisfied and partially or fully dissatisfied. Partial (dis)satisfaction indicates that we have proof the goal is partially (dis)satisfied. If the goal ‘safety’ is partially satisfied and we have determined that ‘safety’ has a positive influence on ‘reputation’, we can then retrieve from the goal model that ‘reputation’ is partially satisfied as well.

The Propagation Types

The above goal model has 8 goals, each with their own relationships represented by arrows. The relationships establish the influence each goal has on another goal. With the influencing goal at the beginning of the arrow and the influenced goal at the end. Along each arrow, the type of influence is indicated with a ‘+’, ‘-’, ‘+S’, ‘++S’, ‘-S’, ‘ — S’, ‘+D’, ‘++D’, ‘-D’, ‘ — D’, ‘AND’ or ‘OR’. The meaning of each of these icons along with the rules is explained in the table below.

Table 1: An Overview of the Goal Propagations Rules.
Table 2: An Overview of the Goal Propagation Multiplex Relations.

For some of the goals, it has already been given whether there is proof if the goal is partially satisfied, fully satisfied, partially dissatisfied or fully dissatisfied with initials. A representation of the initials with their meaning can be found in the table below.

Table 3: An Overview of the Abbreviations.

An Example

All fair and well, but with just the rules of the different propagation types explained, you could have just read the article by Giorgini et. al. (2003). This is why we are going to walk through an example together.

Figure 1: An Example of a Goal Propagation.

The figure above shows a goal model with certain propagation types and weights given. In order to have an overview of all the information, we create a table. In this table we start by filling in the values given in the figure. We skip the N’s, because they represent null values.

Table 4: An Example of the Goal Propagation Table used.

For the first round we start propagating from the bottom. G8 receives propagations from G3, G4 and G7. G7 is still empty, so nothing happens there. G4 has PS. The propagation from G4 is a +D and only applicable to the denial of G8. Since G4 does not have any value for denial yet, nothing happens here either. Then, G3 has FS and FD. The propagation coming from G3 is a ++D. In the table given earlier it states that “full evidence for the denial of G2 provides full evidence for the denial of G1” which means that G8 now has FD too.

Then we go to G7, which has propagations from G5, one stating +S and the other ++D. Again we go look at the table and fill in the resulting values voor G7. G6 does not receive any propagations, so the values given for G6 are final. They will not be changed and are final. To G5 applies the same. Following, receives G4 a propagation stating +D from G8. Which results in a PD for G4. There are no other propagations towards G4, therefore at least the S value is final. G3 is already FD and FS which means nothing would be able to change those values, but there are also no propagations towards G3 so no other goals would have tried to change that. Going on to G2, starting with the values regarding satisfaction. G2 has a AND propagation from G5 and G6 which have the values PS and NS which results in a PS for G2. Then regarding the denial, we have FD and PD which results in a PD. Since there are no other propagations towards G2 these values are final. Lastly, G1 with propagations from G2, G3 and G4. Regarding the satisfaction values we have PS with a + propagation and FD with a — propagation. Both lead to the value PS for G1. Regarding the denial values we have PD with a + propagation, FS with a — propagation and PS with a -S propagation. All lead to the value of PD for G1.

Repeat this cycle for all the goals which do not have all their values finalised yet. In this case, that is just G8, G4 and G1. G8 only receives a propagation influencing their satisfaction from G7, which has PS. This results into a final PS for G8, since no other goals can change this. G4 and G8 form a loop influencing each others values of denial. Since the value for denial of G8 is final and the only resulting value for FD with a +D propagation is PD, the value PD for G4 is final too. Since the denial value of G4 has not changed, just like the other values of the goals influencing the values of G1, G1 is now final too.

In just 2 rounds both the values for each goal have been finalised. Now we know if the goals can/will be satisfied or not. From the resulting goal model we can now draw conclusions and pick areas we would like to research.

References

Giorgini, P., Mylopoulos, J., Nicchiarelli, E., & Sebastiani, R. (2003). Formal reasoning techniques for goal models. In Journal on Data Semantics I (pp. 1–20). Springer, Berlin, Heidelberg.

--

--