We have outsourced our development for the last four years. As you would expect, by now we know every problem there is with doing this. I know I could reduce the cost and time of any project by halving the number of developers and bringing them in house. However, if it was that simple, I could probably deal with it.
This is how we are currently setup:
We have an initial project that was outsourced. We have a designer/development manager (me) and a test manager. The outsourcing is a partnership rather than a client/supplier relationship. This means we own an equal share of the IPR. However, because the partner company started to get nervous, we don't share an equal share of the up front cost.
We need two further modules to the development, which our partner could not deliver. For the first one, we have introduced another partner (so now we have one third of the IPR each). This partner misses every deadline, makes changes to the design oon a whim and does everything on the fly.
The second module is outsourced as client/supplier relationship with a development contract (for what that's worth). We foot the bill for this (usually late), but gain no extra IPR.
Because of the complicated nature of the project, two other employees have been added - a project manager and an off shore development manager who is based in India.
My problem is this:
I cannot get direct access to the developers, because I have to go through the offshore manager. That means if they mess up, he cops it on their behalf, which he then takes personally.
The project manager should deal with the commercial issues, leaving me free to deal with the development issues. However, we have more of a manager/assistant relationship. This means he ends up dealing with some development issues, but not others, pretty much as he sees fit. It also means that if I send out any e-mails I have to OK it with him first.
Today's example of exactly what frustrates me about this is how we deal with a release of the software.
1. We proritise the fixes.
2. They fix what they think they can get ready for a weekly release (so anything that takes more than 5 days will never make it).
3. They update the defect tracking tool when they have fixed something, so we never know if they have started or there are any issues with fixing something.
4. We get a release. It gets tested.
5. The release is sub-standard with a closure rate less than 50% - most of them are simple functional issues or cosmetics. We complain to the project manager because we can't go direct to anyone.
6. He writes a mail to the offshore manager who then comes back with inadequate answers (defects not fixed because they are not to specification, when they clearly are; Three people test it for three days before release including the off shore manager).
7. I write a mail back (without permission - bad boy) CLARIFYING what the project manager has said, e.g. if it's in the spec, we don't care why it's a problem to fix it, just do it, otherwise the developers are in breach of contract; If three people test it, why can my test manager not close half the defects?
8. The offshore manager takes offense, calls the project manager who then agrees with everything I said, but gives me a rap on the knuckles for saying it and upsetting the offshore manager.
Now I'm supposed to work closely with this guy, but I can't communicate with him without checking first. Then half the problems get dealt with by the project manager - so I'm supposed to know when to deal with something or when to leave it to him. Needless to say, I'm confused and can't really do my job properly. The job roles/level of authority are not clear enough.
If the release is sub-standard and he tested it, but did not bounce it back or make us aware, how can I deal with that without having a dig at him. He does a good job on the whole, but the issue had to be addressed and he was going to get upset. He should be upset, I would be (and have been) when I've let sub-standard work slip through. I got grief for not being aware enough of the situation and I had to accept it.
I'm not sure whether I'm just ranting or looking for help. The structure is not going to change any time soon and I want to see the project through. So do I just live with it or is there something I can do?
Sorry for the long mail!
This is how we are currently setup:
We have an initial project that was outsourced. We have a designer/development manager (me) and a test manager. The outsourcing is a partnership rather than a client/supplier relationship. This means we own an equal share of the IPR. However, because the partner company started to get nervous, we don't share an equal share of the up front cost.
We need two further modules to the development, which our partner could not deliver. For the first one, we have introduced another partner (so now we have one third of the IPR each). This partner misses every deadline, makes changes to the design oon a whim and does everything on the fly.
The second module is outsourced as client/supplier relationship with a development contract (for what that's worth). We foot the bill for this (usually late), but gain no extra IPR.
Because of the complicated nature of the project, two other employees have been added - a project manager and an off shore development manager who is based in India.
My problem is this:
I cannot get direct access to the developers, because I have to go through the offshore manager. That means if they mess up, he cops it on their behalf, which he then takes personally.
The project manager should deal with the commercial issues, leaving me free to deal with the development issues. However, we have more of a manager/assistant relationship. This means he ends up dealing with some development issues, but not others, pretty much as he sees fit. It also means that if I send out any e-mails I have to OK it with him first.
Today's example of exactly what frustrates me about this is how we deal with a release of the software.
1. We proritise the fixes.
2. They fix what they think they can get ready for a weekly release (so anything that takes more than 5 days will never make it).
3. They update the defect tracking tool when they have fixed something, so we never know if they have started or there are any issues with fixing something.
4. We get a release. It gets tested.
5. The release is sub-standard with a closure rate less than 50% - most of them are simple functional issues or cosmetics. We complain to the project manager because we can't go direct to anyone.
6. He writes a mail to the offshore manager who then comes back with inadequate answers (defects not fixed because they are not to specification, when they clearly are; Three people test it for three days before release including the off shore manager).
7. I write a mail back (without permission - bad boy) CLARIFYING what the project manager has said, e.g. if it's in the spec, we don't care why it's a problem to fix it, just do it, otherwise the developers are in breach of contract; If three people test it, why can my test manager not close half the defects?
8. The offshore manager takes offense, calls the project manager who then agrees with everything I said, but gives me a rap on the knuckles for saying it and upsetting the offshore manager.
Now I'm supposed to work closely with this guy, but I can't communicate with him without checking first. Then half the problems get dealt with by the project manager - so I'm supposed to know when to deal with something or when to leave it to him. Needless to say, I'm confused and can't really do my job properly. The job roles/level of authority are not clear enough.
If the release is sub-standard and he tested it, but did not bounce it back or make us aware, how can I deal with that without having a dig at him. He does a good job on the whole, but the issue had to be addressed and he was going to get upset. He should be upset, I would be (and have been) when I've let sub-standard work slip through. I got grief for not being aware enough of the situation and I had to accept it.
I'm not sure whether I'm just ranting or looking for help. The structure is not going to change any time soon and I want to see the project through. So do I just live with it or is there something I can do?
Sorry for the long mail!