Real-world social networks (e.g., blogosphere) often evolve over time and thus poses challenges on conventional social network analysis techniques which model the underlying networks as static graphs. In this paper, we are interested in detecting dynamic communities and their trend of evolution in a social network by examining the structural and dynamic patterns of interactions. In doing so, we propose an iterative mining algorithm for computing the intensities and bursts of some hidden communities over time. Our method is probabilistic in nature and can be applied to both undirected graphs and directed graphs. Quantitative and qualitative performance comparisons between the proposed method and some representative methods for social network analysis are provided. Evaluation results based on three benchmark datasets, including Reuters terror news network, political blogosphere, and Enron emails, show that the proposed method is both effective and efficient.