Balancing hands-on and research activities: a graduate level agile software development course | IEEE Conference Publication | IEEE Xplore