Friday, July 6, 2007

Offshore Software Development

Our objective is to keep you informed about the topics related to the offshore outsourcing especially in the area of Software Development. We will discuss the Risks, Best Practices, Tips and Techniques and other topics related to offshore software outsourcing.

It is a well known fact that the offshore outsourcing (or any type of outsourcing for that matter) carries known and unknown risks. The important thing is to find out if your offshore outsourcing provider is aware of these risks and has a plan to either mitigate it or eliminate it altogether.

The top 5 risks of offshore outsourcing are as follows:

  • Requirement (Mis)understanding
  • Quality Risks
  • Data Security
  • Process Discipline (CMM)
  • Project Timeline
  • Requirement (Mis)understanding

Many times it happens that the requirements get written in a hurry to get the project started as soon as possible. This is okay if the project is being done inhouse. However if it being outsourced, it becomes a risk. If the specifications are not written properly or are incomplete or do not have enough details, the project will have problems on various fronts such as Project Understanding -
what needs to be done and delivered, Project Planning - putting together firm dates for delivery, Change Controls - lots of change control will be generated later on in the project life cycle, which could obviously delay the project as well as increase the cost.Per the study conducted by Software Engineering Institute, not enough understanding or the clarity around the customer requirements is one of the top reasons on why software projects fail or get delayed.

In order to mitigate this risk, make sure that your provider has gone through the requirement understanding phase before starting the coding phase. The requirement understanding phase should have multiple rounds of discussion with all the parties involved to fully understand and document their requirements in the Software Specification Documents. This phase is independent of technology selected for the project. For the web based projects, the provider should also prepare the HTML mock-ups which is an excellent way to capture the application flow. [These mock-ups should get reused during the coding phase for embedding the application
method calls.

The first phase of any software development project must be the Requirements Development. The objective of the Requirements Development phase is to gather the needs of the customer and translate that into requirements specification of what the system must do. Requirements Development consists of three related activities:

Analyzing Requirements, which is about determining the acceptability, implement ability, and testability.

Inspecting Requirements, which is accomplished by discussing the proposed requirement in detail. The goal is to identify the issues and errors related to the requirements ambiguities or discrepancies.

Gathering User Requirements, which is accomplished by interviewing the potential users about the system they want, building the interactive prototypes, writing he Requirement Specification documents.

The deliverable from this phase is a detailed requirements document which should get jointly reviewed and signed off.


Related Posts by Categories

Widget by Hoctro | Jack Book

AddThis Social Bookmark Button

No comments:

Software Development Outsourcing
Outsourcing Services