Monday, March 13, 2006

outsource software project

here is a summary of ideas for managing an outsource project.

In McConnell's Rapid Development he states that managing an outsource project is more difficult than an inhouse development because you have reduced control

an idea from Keith Braithwaite is that if you increase the visibility you have of the code by handing over code at the end of the day you also increase the control you have over the project.

list of stuff to consider

  • have you agreed a coding standard with the vendor. this should include metrics on code issues and test coverage
  • agree a list of tools to be used.. eg JUnit
  • have you defined the scope of the project and agreed a set of deliverables. Also identify if the deliverables are internal or the responsibiity of the outsource
  • agree a schedule with the vendor early in the project with regular milestones. this should be tracked rigorously and annotations made for changes
  • ensure internal resource are allocated to the following roles and ensure the roles are well defined : Tester, Project manager, Analyst, tech lead
  • get regular code drops (dayly is best), inspect the code with tools, and have a daily build and smoke test.
  • have a regular meeting with the vendor reviewing the risk and issues log along with the schedule
  • agree a communication plan with the vendor
  • keep a project log of events and key conversations
  • have a plan B
  • define the tests with the requirements as early as possible

  • No comments: