Budgeting, Documentation, Execution, Maintenance & Support, Planning, QA & Testing, Risk Management, Team Collaboration, User Adoption Best Practices for Launching a Successful Software Project