Global Outsourcing

Home
About DDGlobal
News room
Careers
CONTACT US

Global Outsourcing

Defining Requirements Specification

The first step towards successful offshore software development is the creation a complete and thorough document, which may be difficult, however it is worth it.
In the interest of the project, the client must ensure delivery of a complete set of documents, which clearly state the following. 

  • Purpose
  • Goals
  • Major features
  • Compatibility issues
  • Human interface issues
  • Maintenance and support
  • Documentation and training
  • Terms and conditions for the project

The Purpose of the Project:
This is more of a vision-like document, which clearly spells out the business objective behind the project. The document should also explain, to the development team, some basic information about your industry.

This is common even when you develop specific applications meant for a target industry. The knowledge will pave way for an easier and quicker understanding of the project and the underlying logics that may be applied to the case. In most cases, software solutions are not just purely technical solutions, but business solutions as well. Therefore, the functional knowledge is as equally important as the technical knowledge. The Internet can be a useful guide. Information about your business is usually available on the net and therefore, you are able to direct consultants to the right locations in the Internet.

Goals:
Goals direct the efforts to specific deliverables. For example, a business, which launch's its Internet site may want to provide all of its offerings through the website.  However, this particular phase of the project may have specific goals, such as streamlining the sales process using Internet technologies and facilitating order placement by the customers. Such goals help narrow down the thinking of the developers to see the specific solutions in the global context and fit them into the project at the proper stages. In future the same system can be expanded and integrated with the other business processes.

Major Features:
Major features help people further redefine the scope of a project and open lines of communication to enhance understanding between the client and the vendor. For example, a web project for a retail store may have several features such as admin module, inventory module, storefront and backend database. These modules are identified with a name and hence easy for the people to understand each other.  It is also advisable to define specific terms with specific explanations in a glossary section so that all terminology is understood completely. The language used should be simple, concise and to the point. However, wherever explanations are required, it is better to explain them with examples and in great detail.  Ambiguity can often lead to serious complications as a project moves forward. 

Compatibility issues:
Compatibility issues arise when software that is under development becomes part of an existing software or hardware system. It is best to address these issues at the commencement of a project thus taking steps to avoid further complications during implementation. 

Human Interface Issues:
Human interface issues, at times, relate to the way the people envision the finished product. This is also subjective and cannot be exactly defined especially when you are developing e-commerce solutions.  The web interfaces are what matters to the customers. It is often better to freeze the human interface as quickly as possible so that the developers will be able to comprehend and visualize the system from the beginning of the project. It helps to have complete graphic documents, screen shots, mock pages and interfaces made even at the beginning of the project.

It is well known that revising the user interface late in the project is costly, expensive, adds to the bugs and will delay the delivery.

Maintenance and Support:
Software that is developed by a vendor, especially an overseas vendor, should be covered by round the clock support. This would be part of the contract. You must also make sure that the software company has presence internationally as well as connection to the Internet in the same manner and staffed adequately to handle such contingencies. Make sure the contract explicitly mentions all of these terms.

Documentation and Training: 
It is important that you insist on complete documentation of the entire process including logic and coding. Also insist that the software developed be supplied with a good user manual so that users can easily understand it. If you are interested in working with the upgrades of the software, it would be immensely useful.

 

 

Back to top

 

 
Copyright © DDGlobal 2005 Contact us Terms of use Privacy Sitemap