The Elements of Highly Effective Pair Programming