Building group consensus is rarely easy. Specifically, when it comes to a software project, there are many stakeholders to engage and gain agreement with. Sometimes, in extreme cases, it may seem like you're herding cats, which is rather futile.
Focusing on the example of getting a design approved, this alone can be a difficult task, just within your own project team. There are always multiple ways of designing a solution. Each with its own unique set of strengths and weaknesses, advantages, and disadvantages. Furthermore, it can be a highly subjective choice, influenced by each team member's past experiences, "war stories," and technology preferences. It's also more of an art form, rather than an exact science.
Nonetheless, building consensus among your team and with your stakeholders is a vital step in progressing your project or your...