I'm a fairly skilled frontend developer [I've only worked with external public APIs]
I understand that a basic web development team will minimally contain roles for a UI/Interaction Designer, a Front-End Developer & a Back-End Developer.
I'm curious about how they collaborate - Do backend devs finish their job then release the API before frontend devs start their job? Do backend devs wait for UI designers to know how they'll model the API? or do UI designers wait for backend devs API to have an idea about the UI they'll design i.e checkbox or dropdown]
And also what software do small teams use for collaboration?