We conducted two studies to further our understanding of the dynamics of the programming methods. One is a survey study. We surveyed software professionals in the industry to collect their views on the effectiveness of pair programming versus solo programming. In our second study, we adopted the analytical approach to compare the three modes of programming: solo only, pair only, and a mixture of solo and pair. The second study involves three steps. First, we replicated the study conducted by Dawande and colleagues (Dawande et al. 2008). Second, we applied the parameters collected from our survey to the same model. Third, we extended the analytical model to further study the effect of project complexity and pair composition on the effectiveness of the three different programming modes. Due to space limitations, in this paper, we only report: a) the survey research and its findings; b) partial results from step 2 and step 3 of the second study.