The most important single aspect of software development is to be clear about what you are trying to build.
The success of diplomacy lies in truly understanding the needs and interests of the other party, and seeking possibilities for cooperation based on that understanding.