Integration of system components was by far the most challenging (and least successful) task. It included actions such as settling disputes between teams over interfaces or other matters, requesting adequate and updated documentation, verifying that all teams used the appropriate tools and development environment, and encouraging meetings between teams that need to interact with each other.