By using both trial and error and algebra Agam and I managed to discover a way to calculate the missing number. This is how we managed to discover the value of each and every shape :
Starting off with the first row, we used algebra and made an equation. This equation was, 2 squares + 2 triangles = 28. From this, we conducted another equation, 1 square + 1 triangle = 14. Using our knowledge based on this, we could use trial and error to find the missing values of the shapes. In the end, we found out that the square is equal to 8 and the triangle is equal to 6.
We then used these values and substituted them into another equation to find other values. This equation was the sum of the question subtracted by the number of the shapes we already know the value of. For example, in the second row, we would subtract the sum - 30, by 2 squares - 16. That would give us the answer, 14. Since there are 2 hexagons in this row, we divided 14 by 2 which equals 7. This means the hexagon is equal to 7.
Knowing all of these values, we figured out the value of the last shape - the circle - by using the same strategy. We used the last row to figure this numeral out. We subtracted 20 by 8 which equals 12. Since there are 3 circles in this row, we divided 12 by 3 which equals 4. This means the square is equal to 4.
Eventually, we came to the conclusion that the question mark is equal to 21. This is as the equation was 1 triangle + 1 hexagon + 2 circles. Ultimately, that is 6 + 7 + 8 which equals 21.