Being involved in so many projects for remote clients, we have mastered project methodology which guarantees smooth project flow, with as few problems as possible in infrastructure and team communication
- Project management tools - we use tools which enables us to track tasks, problems (as well as their solutions) - so the project staus is always clear, and each participant is aware of what his tasks / dependencies are. We use (or have used): Redmine, JIRA, Mantis
- Code versioning and collaboration tools: SVN, CVS
- Remote meetings held in: TeamViewer, Livemeeting, Skype
- Documentation - solution architecture is documented in the FSD, while any non-trivial code structures are documented inline
- Change management - each application change needs to be documented in release documentation, so any potential problems can be tracked back
- Regular team meetings, either head to head or remotely, to ensure all teams / team members are on the same page