Archive for the 'Planning' Category

Using Open Source in Offshore Software Development

-->

The term open source software, OSS in short, may not be known to everyone. In your IT career, you must have heard of the Linux operating system. This is the operating system that has made a huge impact in the data center. Though LINUX has made its name as OSS, there are several others that fall under the category of open source software, some of these been developed by large organizations, such as SUN, IBM, and others. There are others from smaller companies which you might not ever hear about. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. Open source software allows free distribution of its copies. Not only that, you get to receive the original code that makes up the program. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. As it is it is a good idea in having OSS as a part of the software development project that you want to outsource. However that is a different topic all together, but covered in a previous article Open Source and Offshore Development.

In choosing to outsource your software development project, it is not only the pure coding skill that should be considered as far as the offshore company is concerned. A decision to outsource your project involves many other aspects to be considered before that decision is taken. There is obvious trust that you should have on the offshore company, who you wish to partner with, and this trust would develop over time. However establishing trust needs to have a beginning. First of all the offshore company should be having good references of their previous work. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. At the same time the applicable skill set that the team has, needs to be evaluated. Even after all these, there could be those nagging doubts that you may have in trusting the offshore company in the way you would want to, since the company concerned is not a referral from one of your previous contracts.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. It provides you with the trust in the software being developed. It provides insurance in the worst case the project has not been delivered in the way you wanted. You still have the code and your infrastructure based on open source architecture which can be resumed or modified by a different software development partner. In other words, you still have the opportunity to engage other programmers to update the software much faster, since it is based on open source. If open source was not used as the base of the software being developed, it would have been more difficult to replace the programmers, in the event of worst case scenarios.

There are different interpretations to the term open source. In the previous example, open source would mean the complete product, which includes, tools, libraries, etc. Delivery of the developed software would not just mean delivery of the source code with the solution. It has to include the open source product, tools, library, and others which need to have some established resources. This reduces the time and effort of the new programmers in analyzing the software. The new programmers would take much more time to get on to the speed, if the software development is not based on community based open source software.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. In such outsourced projects, open source provides the confidence and trust in much shorter time. In a decision to outsource, open source takes a positive approach to your risk management system. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. This would provide you with the quality that you require.


Example of Outsourcing Article Writing for Your Website

Have you tried outsourcing article writing for your website? Below is one example of what you might expect to receive. The subject is “Human Resource Outsourcing in India” and it is written by a person from the Philippines.

For the record, this example is not intended to highlight efficiencies and/or deficiencies in outsourced article writing. Also, it is not my intention to focus on India and the Philippines. I have friends from both countries.

Instead, it is provided as an example of an article written by an offshore outsourced provider. Outsourcing article writing seems to be hyped lately as a way to add original content to your website. But I haven’t seen any examples of what you can expect. Keep in mind, this is just one example. It might help you determine if offshore article writing is something that might work for you. Let me know if you want me to post some more examples.

Human Resource Outsourcing in India

Human resource is the latest kind of outsourcing in India. The process of human resource outsourcing is for an Indian company to locally recruit talents and managed them for you
as if you are the owner of a particular business set up for you by this company in India.
If for example you are an IT company in the US, this company set up for you will of course be a mixture of web developers, and other IT professionals. You can run this IT
company from the US with the local company who set it up for you as your manager. They will run this company for you, from payroll to talent recruiting and everything else.

This human resource that you have outsourced in India can very well compliment your IT
company in the US. They can address any production deficiency of your company and can also provide you the needed manpower backup during peak season. What is more important is that you will be paying your Indian personnel very low salaries compared to your US employees. Outsourcing in India of human resource will prove a very valuable
investments. This new trend in outsourcing in India is getting a lot of interest not only in the US but in Europe as well.

The good thing about this kind of outsourcing in India is you can avail yourself of talented Indian IT engineers and website professionals who can give your business a lot of added value at very low cost to you. And since the Indian government is supportive of this kind of undertaking, you can be sure of no red tape and other government hassles that are attendant to other Asian countries. Besides, you will be able to communicate with all your Indian personnel in fluent English, enabling you to share and discuss all things that pertains to the operation of your outsourced human resourced undertaking..

The groundwork for outsourcing in India has been made many years ago when the Indian government decided to use the English language as their second language and use English as the medium of instruction in all schools. This made the Indians proficient in the use of the language which is helping them now in the outsourcing business. Their most notable accomplishment in the human resource outsourcing business because of their English proficiency is in the proliferation of call centers in many cities of India. If you are in the US and you call a company to inquire a particular product or service that they are offering, chances are an Indian call center representative will be the one answering your inquiry. Most companies in the US are outsourcing their incoming and even their out going calls from countries in Asia, most notably the Philippines and India.


Tools to Help Manage Offshore Software Development

In any software project, the software development labor component represents only 30% to 50% of the total cost. As for the total cost, it is taken away by project management, analysis and design, testing, and ancillary activities, such as, management and environment preparation. This is why the cost savings on offshore projects are not more than 15% to 25% of the total project cost. You will never find a return of 100% to 200% on such projects, unless the project has been well defined and specified, and the design has been prepared with details. You will often find the offshore software development organization claiming such returns on projects outsourced to them. Never-the-less, the 25% saving on your cost of the total project can be quite a significant amount.

To achieve success in offshore software development projects, the most vital part is the requirement of a failsafe communication system. It is very important that the communication is kept alive between you and your offshore partner(s), so that information can be exchanged and related matters are sorted out. If this synchronized effort is not ensured at first, the success of the project will be doubtful. Your communication strategy needs to be well defined, and such strategies should include communication tools, such as conference calls, video conferencing, wikis, bug tracking, and continuous integration build servers and a source control repository. Here we will have a brief look at some of these tools:

Conference calls/Video Conferencing - There should be a routine conference call set up between your team and the team from your offshore company. In here too a schedule needs to be set up, ensuring that conferences start and end at specified time. The issues discussed should be well documented to be referred to later.

If you have an access to a video conferencing system, it would become a highly desired facility in such scenarios. However, true video conferencing equipment would require high bandwidth, unlike the $100 web cams which are increasingly used for such conferencing. Setting up video conferencing and its operation is costly, and this conferencing could perhaps be scheduled once a week.

Wiki/Whiteboard/RSS - You would need collaborative development effort in any project outsourced offshore. Ideally the “white-board” solution is quite effective in solving different kinds of technical issues. This allows both the parties to work on a common document structure, hence following the same method of representing their status regarding the project.

Continuous Integration and Bug Tracking – You need to a way for all team members to immediately, at any time, know the status of the project from the code perspective.   Two ways this can be facilitated is through a continuous integration build server and the implementation and diligent maintenance of bug tracking/automated test results.

Source Control Repository - A document repository is a part of an important tool for providing communication between the onsite and offshore teams. This repository should be accessible by both the teams 24 hours, 7 days a week, remembering that your offshore team will be working when you will have nights. The repository should preferably have a secured access, with each identified members having their own username and password.

You probably noticed the exclusion of email and instant messenger (IM) as tools?  Of course, I do not suggest you remove these applications entirely.  But offshore software development teams tend to quickly rely on them too much.  When information is exchanged across email or IM, the knowledge contained in the communication is buried.  Using these tools appears to be a time saver on the surface.  However, in the longer term, in the exchange of emails/IM becomes a burden and time waster when attempting to reference previous communication dialog.


How to Recruit an Offshore Dedicated Team of Web Developers

How to Recruit an Offshore Dedicated Team of Web Developers
There’s no doubt that an offshore team of developers can be as invaluable to your company as your best in-house employee. If you’re meticulous about your candidate screening process for in-house staff you should be even more meticulous when it comes to offshore staff. Why?- because there are a lot of not-so-serious providers of offshore dedicated teams. However, if you succeed in choosing the right candidates the return of investment will be truly amazing - having in mind that €8 / $10 an hour is a real steal for a talented web developer/designer or software engineer.

First things first - the company
At the end of the day the company behind your offshore dedicated team might be the factor that makes your project a success or failure. Even if a single offshore developer or designer fails to deliver, the company behind that developer or designer should be able to save your project. So the question one must ask oneself is whether the company has what it takes in terms of professionalism to do that.

The company should have enough experience and be big enough to be able to deftly get a replacement for you. The company should also be big enough to be able to meet your needs as you grow. You should not be too big a client for them, and they should not be too big a company for you. You should be important to the provider but not so important that they’d do anything to retain you (go bankrupt for example).

Another important aspect of your future partner firm is its management. Do you know the names of its managing director/CEO, project managers, the board of directors, owners and its executives? If you’re unhappy about something, who will you turn to? Who is your point of contact’s superior? Has the management got experience in handling clients such as your company? How long have they been in business? Have the management got plans to sell the company soon and have they got room and capital for expansion if needed?

The candidates
Once you feel comfortable with your potential partner company its time to test its candidates. You might be thinking about extensive telephonic interviews and tests, but I’d recommend trying out a candidate you feel good about after a chat and after having viewed the candidate’s portfolio. A web developer will prove him or herself after a few days of working and not after long telephonic interviews - especially as the offshore developer might not have English as his or her mother tongue.

If you have a telephonic chat with a candidate, don’t get turned off if his or her level of English is not entirely fluent. There are many talented software engineers and web developers who does not speak perfect English, but who definitely understand written English very well.

Exit strategy - worst case scenario
What happens if you choose the wrong candidates? Will the partner firm offer you a free replacement to try out? Is there any contract length? Make sure you have an exit strategy in place before any contracts are signed.

Project management platform
If one of your projects ever runs into problems such as missed deadlines or misconceived requirements - which most people in the web development and software engineering business experience every now and then - make sure that your partner firm has got an online platform through which requirements are being funneled. So that you can make project managers, managing directors and other executives aware of the problems and have someone do something about it quickly. An online project management platform allows stakeholders to overlook the project in any phase and without asking developers to mail a bunch of files to concerned persons.

Don’t make the process to advanced
Be meticulous about the recruitment of an offshore team of developers, but don’t make it too complex at the same time. Sometimes it’s ok to go with your gut feeling and take chances. Action is better than inaction!

About the Author

David Claesson is the owner and founder of the web development company LiteBreeze Infotech which provides web development/web design services and offshore dedicated teams. David can be reached at david@litebreeze.com or +46 706 162 318.


Know the Importance of Processes While Outsourcing Your Projects

If you are one of the offshore customers who want to outsource their application development and software projects to the outsourcing destinations, then you must be concerned about the processes involved in application development and maintenance. And if you are not, then you need to know the importance of processes that play a key role in determining the reliability, quality and stability of your product.

Especially after emergence and hype of offshore outsourcing, Indian companies have laid more emphasis to hone rigorous development methodologies. Adding more to reliability, many Indian software companies are certified Level Five that is considered as the topmost level of Carnegie Mellon University’s Capability Maturity Model (CMM). The message is quite clear that Indian companies have moved the ad hoc level of hectic software processes to mature, disciplined and structured software processes that assures the frequent improvement in quality. Many major Indian companies have attained just right and flawless processes in order to compensate the inadequacies and maximize the savings of customers.

Recently, one of the discussions, “You cannot underestimate the importance of structuring and defining your processes, putting tools in place to measure the performance of those processes, and having processes in place to improve those processes”, clearly reflects the importance of processes. The startup outsourcing service providers should call more attention to develop their basic processes to make them ingenious, documented and easily comprehended by everyone before the team moves ahead to advance processes and went offshore.

So, robust quality assurance processes is the key aspect that charms global clients to invest in the Indian outsourcing relationship on an ongoing basis. The client expects over tenfold product rigor than it was before to make sure what he is going to save via outsourcing. Another important fact that has been highlighted recently is the necessity of the automated processes and the software that regularly monitors, analyzes and improves these processes to stay in market and demand.

Good understanding of the continuing high cost of ongoing management carries great importance in outsourcing to keep the business relationships alive and functioning appropriate. Today, you would find hardly any question regarding processes strength and investment in the process of Indian outsourcing. Now business people have an approach of thinking global and acting global that has further eased the concept of process outsourcing to India. While exploring the possibility of sending more jobs to India and finding it inevitable and significantly profitable, today, fortune European companies suggests other to find a project if they didn’t do it yet and get started now.

The writes specializes on software outsourcing and various other issues related to online business like e-commerce, web marketing, application development and other topics. For more tidbits on these matters, visit the website http://www.infysolutions.com

Article Source: http://EzineArticles.com/?expert=Helen_Steve