To fulfill a change request (say request #1) an author (Say author A) will modify files & submit to staging. Then kick off a workflow job (job #1) by attaching the modified files and to deploy the files to Test Servers to test the page with the context of entire site and fix any errors if necessary. If the test is successful then deploy the files to live site.
In the mean time another author (Say Author

might change the same files for different change request (say request #2). In the normal scenario change request #2 will contain change request #1 but say Author A facing some problems/errors while testing in Test servers and would like to fix it but some files would have been locked for change request #2 (or) Author B would have kicked off another workflow job (job #2)containing change request #1 & #2.
To address this kind of issues, can some one suggest a best approach for branch and workflow design?
Thanks in advance,