Friday, July 6, 2007

Offshore Software Development

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 the Requirement Specification documents.
The deliverable from this phase is a detailed requirements document which should get jointly reviewed and signed off.
We invite you to visit our .NET center of excellence and offshore outsourcing blog
To find out more about how Hanu Software can help you grow your business, give us a call at 6099452242 or visit our web site www.hanusoftware.com
www.hanusoftware.com, www.vannova.com

arun

Article Source: http://www.articlepros.com

No comments: