This book examines how and why collaborative quality assurance techniques, particularly pair programming and peer code review, affect group cognition and software quality in agile software development teams. Prior research on these extremely popular but also costly techniques has focused on isolated pairs of developers and ignored the fact that they are typically applied in larger, enduring teams. This book is one of the first studies to investigate how these techniques depend on and influence the joint cognitive accomplishments of entire development teams rather than individuals. It employs theories on transactive memory systems and functional affordances to provide answers based on empirical research. The mixed-methods research presented includes several in-depth case studies and survey results from more than 500 software developers, team leaders, and product managers in 81 software development teams. The book's findings will advance IS research and have explicit implications for developers of code review tools, information systems development teams, and software development managers.