Collaborative quality assurance in information systems development : the interaction of software development techniques and team cognition