Your In-house facility for Outsourced  
Applications Development
Qbitsystems Home Qbitsystems Contact ASK Us
Home Contact Us Ask For Quote
Offshore Software Development Company Offshore Software Development Company
QBit Systems Blogs

Posts Tagged ‘software outsourcing India’

Top locations for offshore software development

Thursday, August 20th, 2009

With the growing inclination towards offshore software development more and more regions are joining the trail with their own benefits and offerings. While some are new to the list others have well rooted themselves through years of experience. Let’s go through the popular locations to opt for offshore software development along with their strength and weaknesses.

India:
In present scenario India is the most preferred destination for offshore software development with the largest segment of outsourcing work coming its way. As the first country to land into large scale offshore outsourcing it is naturally the most experienced player. Well-developed telecommunication network; an abundant, inexpensive, qualified, skilled and English-speaking labour force and advanced technological infrastructure are the factors making it the most favorable place to seek for offshore software development. Estimations say that offshoring software development to India gives a cost saving of 40-60 per cent, quality improvement of 3-8 per cent and productivity increase of 20-150 per cent. And as a far as the skill pool is concerned the country boasts world’s top third university (Indian Institute of technology) for IT and is producing 180,000 skilled IT engineers each year.
Apart from its various advantages India is also confronting few threats. The increasing number of offshore centers and competitive skill force would lead to hike in wages in the coming future. This would ultimately cause decrease in cost margin for offshore outsourcers. Additionally some part of the infrastructure is still struggling to meet the increased offshore outsourcing demands. India is facing a major threat from China that has potential for growing itself to offer cheaper and more developed infrastructure.

China:
Although China has a promising economy and staff wages half of that in India it’s still nurturing itself in terms of offshore software development. Even after a rapidly improving infrastructure and highly skilled workforce issues such as lack of English language proficiency among the workforce and weak legal framework have dragged it down to be the second best option. Another important factor making it a less preferred than India is a wide cultural and physical gap. Despite of all this it still remains to be the offshore software development location for countries like Japan and Korea.

Eastern Europe:
Eastern European countries such as Poland, Bulgaria and the Czech Republic are sharpening their resources to prove their competence in offshore software development. These countries fall in race due to their skilled resource, favorable laws and politically stable environment. The only thing is that the business of offshore software development in these countries is small scale and unproven.

Choosing the right offshore software development model

Monday, August 17th, 2009

Picking a right service model is very essential phase of planning offshore software development. Choosing offshore software development model relates to selecting appropriate teamwork and partnership working arrangement for the project delivery. There are four standard types of offshore software development models to decide from. Each model has its own advantages and disadvantages. What one to go with depends upon factors such as difficulty level of the project, time demanded by it, level of interaction required with development team, resources and more. Below are the four offshore software development models explained along with their utility.
Onsite services model:
Under this model the offshore development team goes to client’s location for project development. This model is suitable for the cases where projects are very complex in nature and require Client Company’s input on frequent basis. It is also chosen in the cases where local production environment is an essential factor and client wants the ability to oversee day-to-day project progress first hand.
Offshore development model:
In this model an offshore development center (ODC) acts as an extension arm for project’s software engineering, maintenance and support facilities. The only project related activities that take place onsite are requirement gathering, feasibility study, implementation and support (partly). All the core development activities such as functional specification, system design, development, testing and support are performed offshore. So if you have initial planning process and critical components of project identified offshore software development model can significantly reduce the development costs by drawing on the extensive resources at ODC. Three major reasons of going for offshore development model are cost, skill and expertise.
Cost: When your allocated budget does not permit you to outsource onsite you can opt for offshore outsourcing to places with cheaper manpower and resources.
Skill: When there is shortage of skills relating to a particular field or technology onsite.
Expertise: When the required level of expertise is not to be found onshore.

Fixed Cost Development Model:
This type of setup goes well for the projects with well defined requirement and functional specification. After analyzing the project requirements the offshore software development team offers a fixed cost solution. The fixed cost is decided on the time and material basis.

Hybrid Development model:
Hybrid model combines the benefits of onsite and offshore development model and is generally suitable for lengthy projects with high level of cruciality. The projects that require high knowledge transfer and involvement of business users but need to take advantage of offshore cost and skill benefit are done under this model.

Outsourcer’s guild to ensure the performance of softwares developed offshore.

Monday, August 17th, 2009

Those who have done it in past know that UAT is something that is sole responsibility of the user and not the software developer in charge. Before you sign off user acceptance document and clear the invoice it is very important to conduct a systematic UAT on your part. This becomes even more significant in the case of offshore software development because it might not be easy to refer back to offshore company as and when you face issues. In most cases companies have in-house experts to perform UAT and some even hire UAT experts but if you cannot afford to hire an expert you might have to do it by yourself. There is nothing tricky about it as far as you do it in systematic and planned manner. UAT is basically testing a software application from non-developer/ non-technical perspective and should ideally be done by the user. It is sometimes also referred to as black box testing.
It plays a key role in offshore software development as it tests how well the software application interacts with the user and thus helps to identify whether all the specifications are exercised as expected. In offshore outsourcing you are likely to face language, cultural, perception, knowledge and/or interpretation gap between you and your offshore software development team therefore it becomes even more critical to test the application inhouse.
Although this is something you can do by yourself you need to follow proper techniques. If done in a haphazard manner it might not be fruitful at all. Following are the steps to user acceptance testing that may go by.
UAT planning:
This outlines your strategy for UAT. Here you plan start and exit based laying focus on functional specifications or expectation proposed at the start of the development. One way to go about it is you may divide the application in different functional areas and test them one by one.
Designing Test cases:
Looking at the different use case scenarios you may develop test cases for each scenario. The Use Cases created during the Requirements definition phase may be used as inputs for creating Test Cases. You must also keep in mind the types of users and various circumstances that the application must handle effectively.
Setting teams to execute the test cases
One may assign different teams to execute test cases. Each team represents respective user type or simply the usability. For example the software might be used by business administration and business customers. As both users have different level of knowledge, different roles, different circumstance, etc. it might be fit to have people from administration testing the administration module and a bunch of customers testing the customer module.
Executing test cases
Next you execute the test cases as per the steps identified in the planning stage. The user may even execute random test after this.
The last and final step is to note all the bugs, compile these and report it to the offshore software development team.

Offshore software development and software prototyping

Thursday, August 13th, 2009

Its quit easy to outsource offshore when project’s specifications and use case scenario is well defined but what about instances where the client only has a general view of what is expected from the software product. Should he go for offshore software development or not? Is there any way to ensure that the product would be made as required? How can one analyze usage scenario in the absence of enough details in the case of offshore software development projects. The answer to this is software prototyping. A prototype is a working model that is functionally equivalent to a component of the product. With companies operating in wide range of technologies and industry verticals it’s not rare that they might already have past experience near client’s needs.
While finalizing deals most offshore software development companies send a mock up (prototype) to understand client requirement. The client is then allowed to interact with the prototype helping them to provide better and more complete feedback and specifications. This further avoids the mismatch and misunderstanding when each side believes the other understands what they said. No matter how experience and proficient the company is it is always the user who knows the problem domain better than anyone on the development team does. Software prototyping helps comprehending the user’s problem domain and comes out with product that has greater tangible and intangible quality.
How the process works is firstly the basic user requirements such as inputs and outputs are analyzed. The details such as advance features, tools, technology, means, etc. is avoided and more emphases is laid on usability. An initial prototype is then developed which is followed by taking user reviews and feedback generation. The initial prototype only includes the user interface. This is widely used to clarify the user expectations especially in offshore software development models. Finally using the feedback both specifications and prototype can be improved.
There are also formal prototyping methodologies that are approved by ISO 9001. One such methodology is Dynamic Systems Development Method (DSDM). DSDM recommends different categories of prototyping that offshore software development companies can adopt to design their effective client offer packs:
Business prototypes: These are mostly used for business process automation software. These prototypes demonstrate common business process use case. Some examples are supply chain management systems (SCM), customer relationship management (CRM) used to design and demonstrates the business processes being automated.
Usability prototypes: These are utility based prototypes that demonstrate interface design, usability, customer type, look and feel. These are mostly used for web applications and software based on common utilities.
Performance and capacity prototypes – These prototypes demonstrate factors such as transaction rates, data storage volume, response time, etc.
Capability/technique prototypes – These are used to demonstrate the concept or the development approach.

What’s the SDLC model that best suits Offshore Software Development?

Wednesday, August 12th, 2009

Even after a complete and detailed requirement analysis send to development team offshore software development projects cannot go safe with long and rigid traditional SDLC models. You simply cannot have your overseas client “sign-off” on the specification before development proceeds to the next step and keep him biting fingernails till the phase ends. Offshore software development requires a flexible approach that allows the process to go back and forth with screening and approval in small progressive stages. Catering the same a popular and widely accepted method for offshore software development is Rapid Application Development (RAD).
There are two main reasons why Rapid Application Development (RAD) is the most suitable SDLC model for offshore software development. Firstly it’s not feasible for a client sitting overseas to surpass long phases without review. Secondly with new software products and versions shelving in and out so frequently, RAD stays accustomed to changes and furnishings.
RAD compresses the execution stages between planning and deployment into series of iterative development cycles making it the most flexible, responsive and fruitful model for offshore software development. RAD projects are typically staffed with small integrated teams comprised of developers, end users, and IT technical resources. In an offshore outsourcing scenario a small team of developers headed by a project manager or head-in-charge is usually assigned to the overseas party. The development then proceeds with the project broken down into small modules. The phases of requirement specification, design, development and testing iterates after each module is completed. Sometimes the cycle might iterate within the module itself. The iterative development cycles optimizes speed, unity of vision and purpose, effective informal communication and simple project management.
Looking at the rush of software providers and developers and the shelf life of software products, time is an important constraint not only in offshore software development but in all software development projects. RAD model is based on object oriented approach that lays focus on modularizing all the functionalities so that they are easy to work on. Therefore the reusability of components (under objects oriented approach) speeds up the development process. Additionally reviewing and testing the project module vise reveals errors, need for changes and technological limitations on time saving the pain of backtracking. Ultimately these factors reduce the development time of the project helping meet client’s deadlines. Hence RAD process enables a development team to create a fully functional system with in very short time period giving offshore software development companies a competitive edge.

Offshore Software Development India – Calculating the cost advantage

Tuesday, August 4th, 2009

Low cost equals to low quality is not always true. With pervasive interlinking of global market place, these days it is possible to get equally good quality at as low as 40% of the cost. Favoring the same; offshore software development is becoming a highly popular concept. It is a win- win situation for both developed and developing countries. While the developed countries can access services and infrastructure at cheaper price, the developing country flourishes with the foreign investment. One such country adding big to the cost-quality benefit is India.

India is becoming a hot destination for the offshore software outsourcing. India will continue to support Information Technology, taking the most advantage from the business of software development services. But with the big bunch of IT companies’ coming into play everyday it’s really difficult for offshoring companies to decide among various offerings. Deciding the right price between the diverse ranges becomes a tricky stake. Here is a brief go through of where actually this cost cut comes from to help you decide the raw price of offshore software development in India.

Low tariffs:
What good about the country is that even after having an impeccable IT infrastructure and well knit telecommunication infrastructure the utility cost is low. Firstly, rental and real estate costs are far lower in India than in the developed countries. Additionally the administrative cost also makes it easy to operate office in India. Furthermore the low cost of basic amenities such as electricity and water is also adding up to the offshore software development advantage.

Low technology cost:
The highly competitive environment in India has ensured low pricing of mobile services, Internet, cable TV services, E-Commerce, and other forms of Information Technology. In terms of long distance calls; India telecom infrastructure has made remarkable progress. Latest technologies, like use of fiber-optic cables has enhanced call-clarity and reduced call-costs to a large extent.

Low cost of human resource:
Labor costs are a large part of the total costs of a company’s products or services. Since they are such a major part of what makes up the selling price, these costs must absolutely be kept down in order for a company to survive. Due to lower per capita income the cost of labor in India is times lower than that in US.

Here again the bigger advantage is the skill and education of the labor force in India. And lastly the productivity of labor is also great because of the work culture and technology available. Therefore the offshore software development with India is not only cost cutting but value adding advantage as well.

Software Development Offshored to India

Tuesday, July 28th, 2009

The selling point about offshore outsourcing that drives many is the strong economic value preposition. But while doing this cost slash down what one needs to achieve is a good balance between cost and quality otherwise it can even bring the adverse. It is highly recommended to choose competent companies and quality manpower while opting for offshore outsourcing. One such place becoming popular in these terms is India. Apart from bringing handsome savings to your overall project the place offers a large technical talent pool. Therefore it is the right place to find the right balance between quality and cost.

The most important thing essential for the success of offshore software development process is the management. It is very important to hold sufficient control and monitoring over the projects that are outsourced offshore. And for this smooth communication and comprehension are the key ingredients. India has the largest english speaking IT talent pool in the world that makes it first obvious choice for companies seeking offshore development. Secondly, 22 out of the 37 SEI CMM level 5 certified software companies are in India and 140 ISO 9001 certified software development companies also exist in India. This is gives enough assurance that the quality compliance and standardization will be taken care of.

Another important thing to set your offshore software development project right is trusted competence. While laying your project in alien hands what hits you first is whether it would turn out the way you want it or not? As a country with vested interest in IT India not only offers technology adherence and fresh skills but can also be seen as the opportunity to leverage additional activities such as core R&D, developing value-added applications around the core product, and for localizing products to access regional markets. With yearly entrance of over 120,000 trained IT professionals. It is becoming a well trusted place for offshore IT projects.

Lastly adding up to the offshore outsourcing advantage is the government concern. IT sector is among the top 5 priority of the government of India. There have been a lot of recent amendments in this concern:

 The National IT Task Force submitted its 108 point Action Plan to promote IT in the country. The Government of India has approved the plan and is in the process of implementing it.

 A separate Ministry of Information Technology was set up to expedite swift approval and implementation of IT projects and to streamline the regulatory process.

 Information Technology Act 2000: The Information Technology Bill that was passed in the Indian Parliament in May 2000, has now been notified as the IT Act 2000. The IT Bill brings E-commerce within the purview of law and accords stringent punishments to “cyber criminals”. With this, India joins a select band of 12 nations that have cyber laws.