How to Manage a Successful Software Project: Methodologies, Techniques, Tools