How To Effectively Manage A Productive Remote Software Development Team