You'll likely get a lot of good advice from your questions, but the truly wise are those that seek answers to the questions they didn't even know to ask.
That would be your question #4.
- Isolated test, QA & development environments
- QA - unit/regression test management & load testing
- Source code control - consistent procedures for fork/merge, etc.
These coalesce into a higher order problem of version/revision control and roll-out/roll-back that will bite hard later on. When the apps get large and heavily used, rolling out a new version that doesn't break everything can be a real pain.