Job Satisfaction in Agile Development Teams: Agile Development as Work Redesign
The costs and benefits of pair programming