How can I prevent this software outsourcing project from failing?

  • This is a bit long, but I think it's important I give all the details.

    I am an intermediate Software Engineer at my company who has been tasked with outsourcing a software development project. It's a web portal to display data/charts, notify users of events, receive acknowledgements from users, etc. It's nothing too crazy, and will be marketed to our customers. I have about 15 years of web development experience and could fairly easily do this project myself but do to my availability/be allocated to other projects my company has decided to outsource it.

    To give you some background on the project, our old Director of Engineering hired a local company 2 years ago and paid them 60k to start on it, but never ended up getting around to giving them any requirements so the project never started. He has since retired and been replaced, and the project has been re-initiated. After getting our requirements together the company we initially hired said the entire job would actually cost 300k, so we looked at another option (company in India) and they quoted us at 130k. Because of the price difference stakeholders and upper management decided to go with the India company, and are just cutting their losses on the 60k to the local company.

    While all of this was happening, our research department has been developing a prototype for the system. Right now it covers about 50% of the requirements (I'm not exactly sure why we don't just finish it in-house). They have their own department specific interest in this platform, even though the target users are our customers, which is the reason for the platform development and the reason this has received funding.

    Now here is the issue. I've been tasked with managing this project. While trying to get requirements clearly defined and the project kicked off following our internal processes (engineering using more of a waterfall development approach), the research department (agile) has been communicating with the India based company we plan on outsourcing to almost daily. They're now coming to me saying that the company is holding resources for us and we need to start on the project asap, and they don't want this to be delayed longer than it already has (referring to the fact it started 2 years ago and never went anywhere). I told them we need to follow the process and it doesn't matter that they have resources on hold, and they should re-allocate them to another project if that's the case. Worst case when we're ready for them to start waiting an extra month for the resources until the end of the world. Meanwhile while they've been talking to the India company they've been reworking the requirements we did have, removing and changing things without even mentioning it to me.

    I've also talked with our legal department and they want a thorough statement of work before they put a contract together. When research heard this, they decided to ask the India company to put one together to try and expedite things. I told they I would rather take the time to put it together internally but they went ahead anyways. What they got back wasn't a statement of work, but just a slightly more in-depth proposal.

    So basically I'm being pressured by our research department to start the project without doing due diligence, getting things in order, and following our engineering department process - even though they aren't an official stakeholder. They're talking to the company we're planning on outsourcing to and saying the hold up is on the engineering end which is frustrating that company.

    The concerns I have are:

    • The key stakeholder hasn't even signed off on any requirements.
    • There was no competitive bid for the contract. The India based company just happened to approach us at the right time saying they specialize in web platforms for what we're looking for.
    • I'm being torn in two different directions (research wanting things done one way, engineering another). This includes research saying to just sign the proposal and get things started, while our legal department wanting a thorough statement of work.
    • I don't have a ton of project management experience in a corporate setting (I've completed hundreds of freelancing projects on my own).

    At this point I'm almost ready to just saw screw it, get the India company started on it without a solid contract and if things go south I'll just do the work myself and not tell anyone.

    Can anyone give me some direction?

  • Practically everything you've said is a cause for concern but the project should be salvageable.

    I suggest you concentrate on two things. Firstly, as Mark also suggested, it seems from your description that you don't have clear ownership of the project. Someone will need to set priorities and be accountable for costs and that isn't your job as PM. If it's a product for customers then I would expect your director(s) of sales or product strategy to take the lead.

    Secondly, do the due diligence to validate the suitability of the contractor. They should be able to demonstrate a track record of similar projects with references. Look at competitors as well for comparison. Don't waste time trying to get signed-off detailed statements of requirements. That's more often than not a sure way to stifle a project at birth.

    Get the contractor to estimate the effort for an initial (small) package of work by all means but get them to commit to iterative delivery on a time-and-materials basis, with your company holding the source code. That way you can walk away at any time. Explain to the legal department that this is a service contract and you will pay as they deliver, which is much less risky than a 130K commitment.

    The research department does have a point. Once you have satisfied yourself about the capability of the contractor it should be better to take an agile approach, start working down a backlog and deliver in two or three week sprints. If the contractor can't handle that then find another contractor.

Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2