I changed the assigned resource in TFS from user1 to user2. Synchronization completed without errors. After approving this change in PS I found both user1 and user2 in ResourceName column for this task, but I expected to se there only user2.
I would appreciate any suggestions on how to troubleshoot this further.
This is currently expected behavior -- the original user is still present on the task but you should see that their Remaining Work and Actual Work values are now set to 0. Due to technical limitations in the Project Server API, there is currently no
way to make the Integration completely remove the previous resource from the task, but it sets the work values to 0 so they do not actually affect the schedule. Project managers can then remove the assignments completely if desired.
From a strict project management approach, some project managers would also argue that even clearing Actual Work to 0 (much less removing the assignment if actuals have been logged) is "changing the past" and should not be allowed. However, since TFS
currently has a much different editing model than Project Server, that lets you change tasks and assignments freely, the Integration propagates these changes and lets PS "see" exactly what’s in TFS, when TFS is mapped as the "master" for work values.
Project Managers can still reject such changes if desired, or a manual process can be used that splits TFS tasks once work has been started, rather than reassigning them.
(P.S. Please mark as the answer if this resolves your question.)