In complex projects, such as software development projects, - with many changes in requirements - an overview of necessary steps to task completion needs to be kept. Directions have to be outlined.
Team members need to be up-to-date with the status on problems their co-workers are tackling.
System architecture is a result of the shared team and stakeholder vision.
Versioning systems can facilitate rapid development and continuous releases of artifacts. Team communication can be supported by channel-based instant messaging systems. Ticketing systems can be used to highlight customer-relevant features and change requests.