Do you find this helpful? Do you have tips or advice? How can I improve? Please let me know @engineerturnspm or

Having a good set of tools to collaborate improves a team’s efficiency. It is also one of the easiest things to do technically.


Use a centralized collaboration website to store

  • Project information such as schedule, budget, status
  • Documents such as requirement, architecture, testing documents
  • Meeting minutes

Here’s an example. I setup my software development cprojects up like this initially and make adjustments as needed.


Key icon = carefully control who accesses this information

Rocket icon = utilize a special application that manages software development life cycle such as Team Foundation Server.


  • Make it easy for everyone (especially your team) to learn, use and manage information.
  • Pay close attention to duplicate efforts to gather information or input information. Work to reduce them and increase everyone’s productivity.
  • Think from different roles’ perspectives. For example, a developer would like to get information needed to begin design and coding. Can s/he get there on day to day basis? If s/he consistently needs to ask someone else to get information and waits, find a way to imporve that situation.
  • Consider All-in-one tool suites vs best-in-class tools.
    • Costs
    • Training
    • Individual user access and security – AIO has one login and BIC could have multiple logins.
    • File storage
    • Document storage
    • Code management
    • Reliability
    • Support
  • Implement accountability by making someone as the lead on specific things. For example, assign a test manager whose responsibility is to have high quality tests.
  • Periodically ask team for feedback to improve.