Communication is essential to the performance of software development teams. But assuming the effect of communication on team performance to be linearly positive has been questioned in the literature. Based on team development theory and team cognition theory, this study contends that the effect of communication is dynamic and contingent on team progress. To assess the dynamic effects of communication, a longitudinal study was conducted of 73 student software development teams. Three models of communication were tested: linear model, time model, and team cognition model. The results revealed that different communication methods (emails, calls, and meetings) presented systematically changing effects on team performance as team progressed. The frequencies of emails and meetings presented increasing effects, while the frequency of telephone calls presented a decreasing effect, on team performance with time passage and the development of team cognition. An optimal model emerged from the testing results. Implications for systems development researchers and practitioners are also discussed.