We have a software development team of 10 members. There are tow persons we want them to manage the team and projects cooperatively, since they have complementary skills and working times. I searched but didn't find any good article about pair managing a team. Is there any good practice or research about how to do this?
Probably the best practice is not to do it.
Having two managers is inviting confusion/disaster. You can count on at least some of your team to play the Mommy/Daddy game... asking one "parent" for a decision and then going to the other if the decision doesn't suit them. If your managers aren't completely harmonized in their thinking you will see confusion and frustration leading to added cost and wasted time.
You didn't find a good article because it simply doesn't work! It would be a complete mess!
Did you try drawing an org chart to represent this team? If you did, you would notice:
Ambiguous Reporting lines
People would have duplicate reporting lines, which would cause confusion and duplication.
When SHTF who's responsible? Basically a blame game will start as soon as problems appears.
Who gave that direction? People will start doing what one manager requested until be overruled by the other one. The team will feel confused and frustrated.
Leadership styles conflicts
Conflicts may arise due to one being more rigid or relaxed than the other, and again causing confusion and frustration.
Keep in mind that a team is like a pack of wolves, they are going to follow just one leader, the stronger one, and the other will fade away. Not a rewarding experience for managers and team until a single leader is defined.
In cases like this, 0.5 + 0.5 will never be 1, regardless of how complementary the skills are, you're never gonna get the result of 1 manager.
It works this way in the nature, in the military and in the corporations, but if you make this work, you're gonna have the opportunity to write the article you're looking for ;).
You're stating that you have two managers that can covers complementary timezones. You need to ask yourself why would you need manager to supervise what developers do? That's not a role of manager in modern organizations anymore.
They should rather provide environment for the team than to supervise the team.
Having said that, I've never seen someone having to report to two separate people. Maybe you don't need two managers and role you're looking for is something else?
I would recommend further reading in the topic of what modern management in software team means.
Management is too important to leave it to managers.
It's very easy I have worked in a company where there were 15+ developers and 12 project managers(sic!). We have made simple and clear work agreement regarding relative task prioritization through all projects, and delegated possibility to manage workload to one of the developers, basically he drag out new tasks from ready for development pool and assigned to free or best fit developer.