Team work is a must practice to achieve a big software developing goal today, there are many people involved in same project, a bunch of tools make good cooperation, better communication,
- Infrastructure support: ESB, MQ, …
 - projecct management, scheoudule, execution
 - engineering process tool
 - requirement specification: trace change
 - design document
 - IDE: VS Studio, sublime, webstorm, text editor,
 - testing case
 - software quality tools
 - maintenanec - refactor, re-engineering
 - Configurationn and deployment tools
 - modern communication tool: email, live meeting, screen share,..
 - prototying method
 - agile/ scrum