Skip to main content

Offshore Development Challenges : Requirements

Anyone who has done a reasonable amount of development will tell you that in order for a project to succeed getting the requirements right is the most important ingredient of the success. Communicating a requirement is another challenge due to the fact that along with the idea the intent should also be conveyed and doing this over a non visual communication medium over thousands of miles can be a challenge.

Good requirements development is even more crucial in an off-shore project due to the following reasons
  1. When the requirement is not clear valuable time can be lost as the clarifications can take time due to the time difference.
  2. Subject matter experts may not be available in the offshore team so the SMEs in the on site team have to explicitly explain each and everything - otherwise the development may not be done keeping the context of usage in mind.
  3. The on site team will not be able to see anything till the development is complete or at least a fair bit is done and this may be too costly a time to suggest changes. So if the requirements are explicit and clear then these changes can be minimized.
  4. The people developing the project may not be on the same wavelength as the ones that have conceived the project and this may not become apparent till quite late in the project.

In order to minimize the risk of the project failing due to bad requirements development the following details and actions need to be part of requirements development process

Understand the business and application being built
- Ask a lot of questions. Do not be afraid of asking questions.
- Clarify any ambiguity in the answers given. The ambiguity of the answer many a time arises from the on site SME assuming certain level of knowledge. So the clarity of what needs to be done needs to be achieved.
- Assumptions to be documented
- Do not assume things about the business when in doubt ask.
- Do not assume things about what the client may want. The client knows what they want so ask them about it.
- Do not try to think for the client unless explicitly asked to do so. And if you are suggesting something make sure the client is aware that it is only a suggestion.
- Do not try to think for the client unless the client wants it.

Do not assume any technical details
At this point get the development team involved in some questions. The reason you need to ask these questions is because the way the design has to be may put restrictions on how the User Interface can be designed. You do not want to design a User Interface that cannot be implemented.
- Clarify about windows based or web based
- Preferred programming language to be used
- Is there any design that the client already has in mind or is defined
- Existing systems in use and how the application being built interacts with these systems
- Preferred Database
- Requirements pertaining to the response time of the application, number of potential users of the application, acceptable downtime and so on
- Clarify the number of languages that the tool will need to work in
- Clarify on the date and time format that is to be used
- Understand the customizable portions of the data and the values that can be hard coded into the code

Define a scope for the application and stick to it
Defining a boundary for what one is building is the best way to ensure success and this is called the scope of the project. The scope of the project should be logical and building something tangible out of it should be possible.
- Do not put anything more than what is needed for the application to work
- Make the client aware of when the scope is changing
- Do not try to impress the client by adding something that is out of the scope of the project

Do not try to build what is not asked
- Stick to the specification and any clarifications got from the specifications

Ensure a clean flow of the application
- Create scenarios where you put yourself in the shoes of the client and use the prototype

A process that works very well is
  • Detailed discussions of what needs to be built. Also ask for any documentation or reference material.
  • Build a prototype using a tool such as Axure and ensure that you put all the information that you have into the specification in the tool either at the page level or at the field level.
  • Use online collaboration tools such as Webex to demo the prototype to the client/on site team to ensure the understanding is correct.
  • Refine and repeat demonstrations of the prototype till the clarity is achieved.

Comments

Renu Sharma said…
Some of the fundamental issues of capturing the right requirement and no of assumptions are something which haunts everyone in S/W Development
To tackle these issue use a wiki (like trac) to flush out indifferences and use IM like built in gmail and add it on to the witki.
Don’t use emails – all conversations should go on wiki, that way its easy to search? 

Popular posts from this blog

Online Encumbrance Certificate in Andhra Pradesh

You can get an encumbrance certificate online in AP now. In order to get it you have to perform the following steps. Go to the website http://igrs.ap.gov.in/ Click on Citizen Services -> encumbrance -> Search Click on Yes in the screen that appears Fill in the entries that appear in the search screen. You will have to get quite a few details in so it will help to have a copy of the registration document available with you. Once you finish entering all the details click on Submit. It will then go to a new page with the list of items that matched the search displayed. Click on the check box of the list of encumbrance certificates that are needed and click on submit. This will open a new popup window with the encumbrance certificate. You can then print this certificate. What is this useful for Anyone buying new property can go and verify the current owners of the property that is shown on this certificate in the column Name of PartiesExecutant(EX)&Claimants(CL) with the copy of

Cricket Grounds in Hyderabad

This is a repost of the article I published on the 10th of Jan, 2008 as I have added a new ground - Lahari Resorts. View Larger Map In this post I will try and update the list of cricket grounds that i know in Hyderabad. The grounds that I have listed till now are MCH Play ground, Ameerpet Francis (Do not have the contact number but go to the ground and ask for him). The charges are Rs. 1100 for the ground. They do not charge for anything more. You get the ground from 9:00 AM to 4:00PM. The ground is small. Welfare Center, Sanath Nagar Dhanraj Babu (+91 9394556356). The charges are Rs. 1100 for the ground. They charge you an additional Rs. 500 for the mat and Rs. 100 for cleaning and drawing lines and stuff. They are supposed to give you the ground from 9:00 AM to 4:00PM but what they do is that they pocket extra money from another team wanting to play and give the ground out to them for the remainder of the day assuming that you won't play for the whole day. So what happened th

Problogger guest post

Today my guest post appeared on problogger.net . I wrote about 9 Tips to Start Blogging Successfully . Let me give you a bit of a background about where this article originated from. I have been blogging for close to 3 years now but I have been doing it seriously only for the last 2 months. I then analysed what were the things that I should have done in order to have become a successful blogger based on what I have noticed on the ones that have become successful. The final analysis of my study is what I put into that article and it is what I am trying to implement since the last 2 months. Reading the comments it was exhilarating to notice that some of the readers actually thought Darren was writing the post :-). It was also nice to notice that many readers agreed with my analysis and that strengthened my belief that what I have written if followed will work. How did I get to do a guest post on problogger.net ? A little more than a week ago Darren invited bloggers to do guest pos