If you guys want trk in teams, you better have a good working structure. I would suggest having a team leader design the application and create the abstract designs for the modules needed. He should make a preliminary documentation clearly stating function names and their input, purpose, and output. After that is done, each team member should be assigned trk on developing parts of those abstract models, and then finally tie it all together. As long as the purpose of each function is clear, then each programmer can call those functions even if they haven't been created yet.