This article describes some ideas on getting a successful software development process.
A successful project:
Depends on the expertise of the team. Don’t try to push many new technologies to a project. It will be difficult for the team to get acquainted with them and deliver a quality project. Small steps are the best. Depends on the level of communication. Enforce communication among the team members. Even if they are working remotely.