Software Project Management for Distributed Computing : Life-Cycle Methods for Developing Scalable and Reliable Tools - Mahmood, Zaigham. (Computer Communications and Networks, 2017)