A Survey on the State of the Practice in Distributed Software Development: Criteria for Task Allocation | IEEE Conference Publication | IEEE Xplore