Can a single developer work on two different projects/backlogs completely independent in two Sprints (One Sprint is for one project/one sprint for the other) in the same timeline.
There is nothing specifically stated against it in The Scrum Guide; the closest statement to barring it would be
Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team.. It would definitely violate two of the five values: Commitment and Focus. It could also increase difficulties with empiricism: Transparency, Inspection, and Adaptation.
There are several problems with a developer working on more than one sprint. These include:
- What happens if Team A needs the developer desperately, but they are busy with Team B? There will need to be a mechanism to prioritise the developers time across the two teams.
- Capacity planning becomes more complicated for both Scrum teams. How much of this developers time will they have? Will it always be consistent?
- A lot of Scrum is based on the concept of being a fully committed team member. If one Scrum Team is having trouble, the developer can simply say "it's not my fault, I was busy working for the other team".
There may also be some advantages; for example the developer may help to spread knowledge across the two teams. However, generally it is seen as a bad idea because of the concerns mentioned above.
Yes, a developer could work on two sprints at the same time in an agile project, each sprint being for different projects with different backlogs.
Depending on your environment, this may not be the most efficient use of the developers time though. Often, working on one project at a time allows faster development due to focus. It then shortens your feedback cycle, allowing you to iterate. If you are juggling two different projects, giving a sprint on, followed by a sprint off may allow your product owner to get the feedback they need from live users.
It is also not uncommon for a single developer to integrate two projects into a single backlog, making it in effect one sprint. That allows you to prioritize the work across the two projects (because it is in a single backlog.) The main requirement to do that would be that both projects share the same product owner to prevent distraction from setting priorities.