Knowledge sharing among software developers enhances the success of software design and implementation. However, there is an inadequate understanding of how communication factors such as negotiation and reciprocity impact the knowledge-sharing process within software development teams and between team leaders and team members.