As a software architect, you will be involved in obtaining buy-in and making decisions with your development team, customers, management, and other stakeholders. All of the individuals involved in making a decision may not be in agreement initially, so having negotiation skills is useful.
Negotiating is a way to settle differences, and a successful one ends with an agreement that is acceptable to all. In some cases, a compromise is reached to settle a negotiation. A successful negotiation is not just about achieving the best outcome from your point of view but also about seeking a result that is fair to everyone. You want to maintain relationships after a negotiation is over and there should be no surprises when the final outcome of the negotiation is reached.
A number of soft skills are interconnected, and improving one will help you with others. Having communication...