Global Outsourcing

Home
About DDGlobal
News room
Careers
CONTACT US

Global Outsourcing

Design

Design Specification

Once the vendors devise a set of alternate, top-level designs, the vendors should take the clients through a walk-through. Once this walk-through is complete, the vendor should complete the design process and create a design specification.

This specification should include: 

  • An overview 
  • System requirements 
  • Design priorities 
  • Diagrams and naming conventions 
  • Parameter passing and database conventions 
  • Error handling 
  • Programming tools 
  • Descriptions of data records and storage 

The specification should include all of the functionality stated in the Functional Specification.

Quality Assurance Test Plan

This test plan should include:  

  • Alpha entry criteria 
  • Beta entry criteria 
  • Final Code Submission criteria 
  • Acceptance criteria. 

It may include more than one Alpha or Beta cycle and other intermediate cycles such as Gamma. 

  • Project Plan revised

Update project plan to reflect the information in the design specification and acceptance plan.

Communication Protocols and remote monitoring of the projects:

When software development is outsourced to an overseas vendor communication protocols play a vital role in successful completion of the project.

During the early phase of the project, it is better to have a one on one meeting with the key development team members and the project representative from the client side. The representative from the client side must be empowered to decide on the requirement and modification thereof during the negotiations as well as development process. 

With Internet, emails, chats, video conferencing, collaborative tools and project management software, it is realistically feasible to monitor the project effectively and successfully.

During such communication sessions, if the discussions are not based on final documents, they tend to lead to misunderstanding between the developers and clients.  Explaining all the details with conversations is not easy. The risk is increased especially if you do not have a vendor representative close to you. It is also important that people understand the cultural differences between the working teams. For example, in order to be polite, the vendor sometimes may not come out with accurate delivery schedules and strive to complete complex tasks to serve the client better. However, in the event of failures, the clients will not be able to appreciate the efforts of the vendors, they would rather be disappointed.

It is also important that both sides of the project understand the problems that the different time zones they are working in may cause. In most cases, these different time zones help people continue to work based on the feedback from the previous day's work. In some cases, people are forced to work late hours and/or come in early to meet each other online and exchange ideas.

Such adjustments in working hours cannot be avoided. 

The informality of the email communication ensures that people are well connected. However, even while exchanging emails, it is important to be focused on specifics and arrive at decisions for specific issues. Similarly the chat sessions lead to long conversations and negotiations, which have to be concluded with specific decisions for implementation. It is very essential, that after each chat session, the teams agree on the specific issues on which decisions were taken and confirmed with email documents.

Direct meetings and video conferencing are strongly advocated for GUI related discussions and ideas, which are complex and need to be expressed by textual messages.  

  • Development
  • Alpha entry
  • Client and vendor should agree upon criteria for alpha entry. 
  • Quality Assurance for Alpha submission 

The vendor usually supplies QA 

  • Quality Assurance engineers follow the acceptance test plan and report bugs to the development engineers 
  • Bug fixes and minor feature enhancements
  • Development engineers fix bugs reported by the QA and by the client. Minor feature enhancements, as agreed upon by client and vendor are incorporated. 
  • Beta entry
  • Client and vendor should agree upon criteria for beta entry. 
  • Quality Assurance and Beta site testing 
  • The vendor usually supplies QA 
  •  Quality Assurance engineers follow the acceptance test plan and report bugs to the development engineers 
  •  QA engineers also do regression testing to insure previously reported bugs are fixed 

Bug fixes and minor feature enhancements. 

Development engineers fix bugs reported by the QA and by the client. Minor feature enhancements, as agreed upon by client and vendor are incorporated.

Final code submission

Client and vendor should agree upon criteria for final code submission. 

Acceptance

Acceptance testing

The client performs acceptance testing as specified in the QA test plan, possibly with the vendor present.

Operation

Warranty-period technical support

Vendors should offer to fix problems caused by vendor free of charge for a certain period of time.

The warranty period depends on the size of the project; however, 30 days is common.

Maintenance

This is usually a separate contract, detailing any maintenance requirements including: 

  • Adding features 
  • Fixing bugs 
  • Giving technical support to the client 

Project post-mortem

Client and vendor should get together to discuss the project. Topics usually include: 

  • A statement of original objectives and proposed solutions 
  • Project method and organization 
  • A comparison of estimates with actual results 
  • Successful aspects of the project 
  • Problems encountered and how to avoid them in the future
    

If these steps are followed, the risks involved in software development can be mitigated and success can be achieved.

 

Back to top

 

 

 
Copyright © DDGlobal 2005 Contact us Terms of use Privacy Sitemap