Teaching teamwork skills in software engineering based on an understanding of factors affecting group performance | IEEE Conference Publication | IEEE Xplore