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

Top locations for offshore software development

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

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.

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

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?

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

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

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.

Home Automation and Z-wave technology

July 14th, 2009

Home automation has become and essential part of home ambiance these days. And while you’re going out to shop for an automation system it is essential to know what technologies are out and what suits you the best. This week we will discuss Z-Wave technology and its scope in home automation solutions. Z wave refers to one of the wireless communication technology designed for home automation, specifically to remote control applications in residential and light commercial environments.

A good thing about Z wave is that it is a low-power wireless technology that operates on lower frequencies therefore it is largely impervious to interference from common household wireless electronics, such as Wi-Fi routers, cordless telephones and Bluetooth devices that work on greater frequency range. Additionally, it an open source technology with low power consumption and low cost of manufacture and therefore can be easily embedded in consumer electronics products, including battery operated devices such as remote controls, smoke alarms and security sensors.

Z wave for Remote Control and supervision

When it comes to remote home control and management, Z wave is easy, cost-effective and far reaching. Firstly, with Z wave there are no installations and wiring and therefore this can function well in old houses lacking neutral wiring. Secondly, adding and managing Z wave modules is as simple as pushing plug into the socket and then you are all set to control electronics such as lighting, climate and security systems remote control, based on manual or automated decisions. The control can be applied to a single device or group of devices, in a single room or zone or throughout the entire home. Thirdly Z wave technology provides extra access as they can be integrated with the broadband internet technology through the help of gateway technology.

Z wave and energy saving

Z wave due its daylight sensors and grouped scene controls is able to give the best of energy management around the home as well as office premises. In addition to this because of its daylight sensors it falls fit for energy management in the green home. The above features also make Z wave better and smarter for thermostat control and minimizing unnecessary energy consumption by various all-off states for systems throughout the home, such as lighting, appliances and home entertainment systems.

Z wave and home security

Home automation is of no use if the technology fails to provide practical application. Z wave technology adds big time to those traditional security systems by addressing the real life conditions. As an example, the opening of a Z-Wave enabled door lock can de-activate a security system and turn on lights when children arrive home from school, and send a notification to a parent’s PC or cell phone via the Internet. Opening a Z-Wave enabled garage door can trigger exterior and interior home lights, while a Z-Wave motion detector can trigger an outdoor security light and a webcam, which would allow the end user to monitor the home while away.

Z wave and Home Entertainment

Through Z-Wave it’s possible to put devices under groups and give single as well as conditional commands. This is what makes it popular for managing home entertainment systems. For example, a simple “Play DVD” command on the remote control could turn on the needed components, set them to the correct inputs and even lower motorized shades and dim the room lights.

Is Skype for iPhone a thumbs-up?

July 8th, 2009

The much awaited goody is now in Apple’s freebee bag. The recently released Skype 1.0.1 for Apple iPhone is already no. 1 among free applications in the Apple’s AppStore. CEO Skype termed it as the marriage of Skype’s “simplicity, ease-of-use and quality” and Apple’s “elegance of design and richness.” But really is it the popularity or a mere hype. After being well versed with limitations of iPhone’s platform, I doubt the success of the application down the track.

While I talk about success its more in context to comparison with other platforms, otherwise the functionalities offered operate quite decently looking at iPhones capabilities, individually. This includes instant message chats, presence and profile editing and Skype-to-Skype and SkypeOut calls. It is quit simple to make calls and set up chats using the dailpad. However it is not compatible with other IM networks so you might have to convince your friends and associates to go Skype.
When we compare success of Skype on the platforms such as Symbian, windows and android, iPhone falls back in race. Firstly iPhone has no support for background apps, which posses’ limitations to incoming call capabilities as the user can’t be online while accessing other applications such as checking emails or surfing on the net. Adding on to this is the lack of a front facing camera which means no video call facility. There is no support for background applications, not even a hope looking at the battery consumption. Furthermore those after AT&T’s network need to hang around till the release of iPhone 3.0.
For people already using an iPhone, I would call this an add-on specially those needing international calling facility. The free Skype to Skype call facility saves a fortune compared to those international calling cards. Even the calls landline and mobile phones are at lower rates. As far as Skype’s advent on iPod touch is concerned it seems a mockery at the moment as these lack microphones required for making calls. So unless the necessary hardware amendments are made this is a closed chapter.

Home Automation- Modern homes gone smart!

July 8th, 2009

How annoying it is to wake up in the midnight to turn down AC realizing that it has gone too chilly. How many times have you forgotten to switch off some light before leaving your home? Have you been staying home on weekend morning to wash your clothes? Well there was a time when we had no choice but now that we have what they call Home automation systems why compromise on lifestyle. Home Automation systems might be a new term for many but it is a lifestyle concept that is here to stay. These systems are being successfully used in the western countries but for India this is slightly new-fangled.

For those who are not aware, a home automation system automates household surroundings, triggering events and routines involving light fixtures, security components and the heating/cooling system based on the time of day, temperature or any other condition that you select. For instance, when a sensor detects a vehicle in your driveway, your home automation system could turn on your lights. These systems consist of three main components; sensor devices, automation software and the underlying technology. While the sensors are used to interact with various devices and appliances, the software serves as the central control system that offers user friendly interfaces to monitor and manage the integrated gadgets and appliances. The software can also be installed on the PDA, mobiles and other handheld devices to support the remote access feature.

As far as the technologies are concerned, there are many depending upon the transmission mediums like electrical wiring, telephone line, infrared, radio frequency etc. The most popular and convenient technology out these days is the Z-wave technology that works on radio frequency. Home automation systems based on Z-wave technology are the most easy to install and free from the hassles of wiring. All one needs to do is instead of directly plugging the device into the main socket you plug it in a Z-wave module which then goes into the main socket. After this all the relevant appliances and devices are integrated with the software on home pc with the help of Z-wave modules using interfaces offered by the software. You can then access integrated devices remotely from anywhere through the internet or the voice command.

There are different types of automation systems depending upon the technology, features, responsiveness and the access. A commonly used home automation system suitable for most households usually consists features like controlling lighting, appliances, gadgets, doors and windows, scheduling routine tasks based on time, temperature etc, monitoring energy consumption, security feature such as remote web camera access, triggering alarm etc. So while you take care of the things that matter more repetitive and mundane tasks can take care of themselves. You might not think this as a necessity but this sure is an added convenience. So, all those living under the impression of having a well furnished modern house, here is something more to today’s modern homes that you might be missing.