Project Management Challenges in International Software Development
International software development discusses the work with software in different places across the planet. A special attention of software development refers to the real-time or synchronous direction and asynchronous collaboration. Activities that are incorporated in software development include communication. The purpose is to interchange information and coordinate the activities that bring value to the goals and objectives of the company. At the same time, project managers have to be in charge of quality, prominence and management of the software development team (Harvard Business School, 2005).
Nowadays, international software development is a regular practice among many companies all over the world. For example, around forty per cent of Fortune 500 companies take advantage of the international software development. In fact, it is also known as Global Software Development or GSD. Over two hundred companies outsource international software development in developing countries. Today more than fifty countries are engaged in Global Software Development (Fryer & Gothe, 2008).
Many international organizations such as IBM, British Airways and General Electric are involved in international software development. Most of these companies use developing countries for outsourcing software development processes. Many developing countries such as India or Ireland use outsourcing as a source of international software development. In fact, eighty per cent of output for these countries is in the international software development industry.
The goal of the research is to evaluate different project management challenges that have a strong impact on the international software development. The most important concerns are the risk management and ethical issues of project development. It is hypothesized that the countries should work together if they wish to become successful ones in the Global Software Development.The most used methods of international software development are the “Open Source Software (OSS) approach, intra-organizational and inter-organizational approaches” (Fryer & Gothe, 2008).
Global Software Development Methods
The three major methods of global software development are closely related to each other. The intra-organizational method involves endeavours that unite companies being related in terms of business objectives. Examples of these companies include IBM, Ericsson, Siemens and other ones in related spheres. The outsourcing or inter-organizational development method requires the use of “software applications, informational technology infrastructure, embedded software, data centres and maintenance”. The final method is a non-organizational or Open Source Software that relate to the programs developed by developers and Operating Systems, for example, Linux (Fryer & Gothe, 2008).
Non-organizational or Open Source Software Method
The open source software is the systems that people use to have a free access to the source code of the company and modify the work when needed. For example, the open source software is the Operating System such as Linux and additional programs for the software developers. While using open source software, companies face problems concerning the distribution of the information during the development of software. Hence, the company faces the challenge to solve these problems by incorporating minimal tools to encourage communication among employees. For example, the companies can take advantage of the online forums, blogs, newsgroups, e-mail correspondence and various change management systems (Institute of Systems Science, 2001).
When software development companies use non-organizational software development, they have one crucial characteristic such as global access to the developers of software. For example, the Apache project required the development of the Hypertext Transfer Protocol (HTTP) Web server. This project was valuable for many people across the planet, including the United States, Great Britain, Germany, Canada and Italy. Therefore, this approach offers many benefits since it does not require any explicit system-level design system. At the same time, the companies do not need to use project plans, including the list of deliverables and / or schedule for the project development phases. In addition, Open Source Software method characterized as a project with a prompt cycle time and releases that are more frequent all the time (Conchuir, Agerfalk, Olsson & Fitzgerald, 2009).
Many small, medium and large companies in the United States tend to use Open Source Software since it offers many benefits and provides value for the international software development. Simultaneously, Open Source Software has proven to save costs due to such value in the project management for software development. In fact, the Open Source Software packages offer more benefits for people compared to the advantageous than they are offered by the commercial software packages. Apart from cost savings, the software development companies use Open Source Software to distribute software systems more rapidly. These companies tend to enhance the security of these systems (Daniels, Radebaugh & Sullivan, 2011).
Even though the value of Open Source Software is inevitable and was proven to be positive for the companies which use it, still many companies have various problems overcoming the challenges in the international software development. One of the problems that companies face is the inability to cut costs. For example, many project managers do not have enough knowledge concerning the advantages of using the Open Source Software. They believe that Open Source Software will put the companies at risk of poor quality and lack of support. In addition, many companies cope with problems referring to both legal and licensing requirements (Kwak & Stoddard, 2004).
One more problem that companies face while adopting the use of the Open Source Software is that policies of corporate cost allocation do not provide the reasons to manage various business functions. For example, when companies diminish the cost of commercial software, they devastate the value of open source substitutes. Consequently, they fail to use the opportunity to acquire additional open source systems that can be reinforced after the installation of the software development process (Cadle & Yeates, 2007).
Many problems remain in the sphere of project management of international software development. This persists despite the extraordinary results that global companies have achieved today while using the open source software. Because of these challenges it is in the lack of communication and inability to collaborate with each other during the software development project. Another challenge is in the inability of project managers to combine the efforts of developers and users in one software development project. However, software development projects for the Open Source Software have been the subject of many researches in the recent years. The reason for such attractiveness of the Open Source Software is the success of its application in the spheres when conventional methods of software development failed (Noll, Beecham & Richardson, 2010).
In case if the companies use traditional methods, they do not provide their employees with any opportunity for daily communication. In addition, the methods used in the industry do not have many options for the accurate project management and synchronization. However, the developers still manage to provide the world with recognized, highly reliable and broadly used open source software systems, including the Mozilla Firefox browser, Linux Operating System and Apache web server (Parviainen, 2012).
At the same time, the companies use the so-called concept such as “extreme distributed software development”. It is occasionally used in reference to the Open Source Software. In fact, the developers who take part in the development of software using an open source have a tendency to communicate with the help of the platforms known as discussion boards. They also take advantage of the e-mail correspondence that can offer asynchronous ways of communication using text messages (Mockus & Herbsleb, 2001).
In fact, development projects that use open source software, intra-organizational and inter-organizational projects face challenges that involve a certain level of communication and collaboration. With the purpose of improvement of the developed software quality, the software development companies always need to have subcategories of developers to use collaboration and teamwork. Another challenge is how to use the time more efficiently to manage the project deadlines. Simultaneously, there is a need constantly to support new developers. This is one more challenge for the project managers involved in software development for international companies. In parallel, it is also difficult to make sure that a community of users and developers can be supported efficiently in such a working environment. The purpose is to make efforts to increase the level of responsiveness that refers to the distinctive needs of all users who have nothing to do with a development of international software (Lindqvist, Lundell & Lings, 2006).
Intra-Organizational Method or Synchronization of Legally Related Organizations
The companies that aim to implement this approach are to become successful in multifaceted software development projects. They also tend to maintain organizational structure and consistency in communication. The companies need to have a firm proprietorship to the extent that the subsequent product lines of software development are involved. However, the environments of corporate proximity between legally associated companies, the companies have particular challenges. These challenges are similar for the organizations that use different approaches for international software development such as inter-organizational synchronization. These challenges are common for information technology companies and are focused around “system of governance, style of construction and overall business processes” (Lindqvist, Lundell & Lings, 2006).
The challenges for the companies that produce international software are connected with both effectiveness and efficiency of business operations. These challenges are also common in the intra-organizational method. These challenges take place due to the willingness of these companies to use integration-centric methods. To solve these problems, the companies need to start using composition-oriented strategies (Project Management, 2010).
The intra-organizational method can be explained through the modern trend that puts many companies in the position to be involved in the international software development. This serves as a measured substitution for the out-dated software product-lines. The goal of such actions is to increase the overall sustainability of these companies. In order to take advantage of the international software, the companies need to establish such a platform that will adjust the use of software to create new products in this platform (Ramingwong & Ramingwong, 2009).
In addition, the intra-organizational method can help with establishing a community of outsourced developers who work in the companies with a legally related corporate entity. These outsourced developers can develop new software products with the same platform and by using the extended version of products developed in related companies. The use of intra-organizational method is essential for the perspective development of a programming community with specialists who have access to the platform and can adopt the software of outsourced developers and software experts. The companies need to have developers with a community-centric approach to both project management and collaboration. Despite the fact that an intra-organizational method can be adopted in the software product line, the development of the global software should be broader in terms of the outsourced developers who can be involved to work with these companies and contribute into the development of international software (Johnson & Turner, 2006).
While developing international software for the intra-organizational oriented companies, the presence of consistent and comfortable communication is one of the most important factors that can make the company successful. Such kind of communication fosters the process of developing software by refining company and motivation. In fact, project managers play the crucial role in guaranteeing transparent project management based on set priorities for the software project development. Project managers should also make sure that the methods of constant software development are employed to deliver the best product lines. The factors that impact the deliverability of the product lines are considered as the most critical factors in the success of the intra-organizational method (Lindqvist, Lundell & Lings, 2006).
One of the large companies that adopted the intra-organizational method in the global software development is Ericsson Microwave Systems. This company has many sites in Sweden that use international software. The major site is Gothenburg as it has around two hundred employees. The vast majority of projects run by this site are managed with the help of a co-located environment within the main site. Nevertheless, at times, some software development projects may involve over a hundred developers. Therefore, such projects can be used in several sites (Fryer & Gothe, 2008).
When the companies use the intra-organizational software development method, they need to consider the following success factors related to the level of project delivery that includes “temporal, geographical and social-cultural distances”. In case if temporal distance is low, there are no time-zone differences between the sites. In fact, the employees have flexible working hours for the software development projects. For example, Ericsson Microwave Systems use flexible working hours schedule in addition to the regular working hours. Geographical distance incorporates the distance between the locations of software development sites. Finally, social-cultural distance denotes the degree at which two software development sites share social-cultural links. For example, the sites that have been exploited for many years seek more affluent social-cultural inheritance. Therefore, they have a tendency to integrate minor development sites (Conchuir, Agerfalk, Olsson & Fitzgerald, 2006).
The corporate culture has a strong impact on the challenges that a company faces in project management. The overall impact is in the behaviour of employees involved in the software development process. As a result, corporate culture greatly affects the overall effectiveness of the software development projects. For example, the employees of the company can work in a culture where external communication and / or unarranged appointments are not allowed unless there is a need in the technical support of the project development processes. In terms of the intra-organizational method, the company should aim to ensure that there is a continuous communication among the employees involved in the international project development. Hence, the company that uses this approach to project development can always estimate the risks of project management while developing software for international customers. In addition, the organization needs to have a strong community that will stimulate regular communication among the developers. The company will increase the quality of software development and achieve greater success at the target market (Kwak & Stoddard, 2004).
Outsourcing or Inter-organizational Method
Software development projects that use a global inter-organizational method are more common in the contemporary information technology business. The most crucial element of the inter-organizational method is collaboration. The organizations that implement the inter-organizational method have to make sure that both business processes and software development practices are managed with a high level of cooperation and collaboration. The most used collaboration practices comprise “regular deliveries, establishment of equal links and revolutionary synchronization”
For example, China Soft International used an inter-organizational method in April 2012 during the developing the software for a partnership with Huawei Technologies. In fact, China Soft International is the prominent information service and software provider. In contrast, the Huawei Technologies is the leading supplier of networking equipment and telecommunications. It is also a global provider of Information and Communications Technology (ICT) solutions in China. Because of this partnership, the market can take advantage of using the services of the joint venture company such as China Soft International Technology Service Ltd (PR Newswire, 2012).
The companies take advantage of the joint ventures at the market of information technology services in China. The goal is to develop the company by expanding it with the help of outsourcing services. In fact, Chinese market has a strong impact on the development of outsourcing services that focus on the development of the brand, offering high quality services and delivering highly capable software solutions. Joint ventures have become a new trend among the international outsourcing companies that endure to merge with similar companies. The goal is to take advantage of the inter-organizational software development opportunities in the 21 century. Hence, Chinese software development companies make efforts to emphasize their position at the outsourcing market of the global software development (Fryer & Gothe, 2008).
Compared to the intra-organizational method, the inter-organizational method involves accurate planning and ability to solve the challenges of communication within software development organizations. In other words, project managers have to solve problems throughout the software development project, especially in the beginning, as this will set the pace of work on the development of software for international companies. Software development organizations need to establish two-way communication for their inter-organizational projects if they wish to succeed at the target market. In addition, this communication should be easy going throughout the software project development. Simultaneously, the companies need to make efforts to build and sustain working relationships by regular trips to other software development sites, managing direct meetings and using corporate charts Lindqvist, Lundell & Lings, 2006).
In many occasions, international inter-organizational software development projects are perceived as outsourcing projects, including the creation of partnerships and usage of delegating policies. The companies that adopt inter-organizational method usually seek support of the large outsourcing companies. They also need to implement certain strategies that will help them to merge with other companies that have already defined software solutions. However, most companies face with many challenges that arise during the process of software development projects. This involves the creation of extra software products for the international vendors (Khan, 2010).
One of the major challenges is the doubt concerning the implementation technologies, project requirements, business partners and subcontractors. Such doubts should be determined in advance prior to the instigation of the inter-organizational projects. In this case, many companies fail to receive accurate specifications regarding each phase of the software development projects. It is important to manage close collaboration among the team members involved in the sustainable process of software project development. It is difficult to continue working on the software development project in this way since the developers spend much time trying to understand the details of project development. It is significant to manage before they continue to work according to the product specification. In this scenario, if the software developers cannot communicate effectively, they will face with misunderstanding about the project processes. Therefore, regular communication practices are required to encourage employees to collaborate throughout the process of software development. In fact, misunderstandings of any kind are probable since different companies are involved in the communicating process across the distances (Kleiman, 2000).
The inter-organizational method also involves outsourcing because many companies underestimate the importance of communication during the software development projects. The same challenge occurs in both social and geographical distances. In order to face this challenge, the companies seek to start global inter-organizational projects prior to planning the entire software development projects. The core aspect of concern is the ways in which partners can work together in various occasions. As a result, companies can have many problems on every stage of software project development. Therefore, it is rather difficult to overcome these problems after they take place within the project teams. It belongs to one of the most significant challenges for the software development projects (Conchuir, Agerfalk, Olsson & Fitzgerald, 2006).
Available literature does not offer much support for the project managers who are involved in the software development projects for the global distribution. Therefore, it is important to conduct more researches in order to find the best practices that can help project managers to overcome these challenges in different variations. These researches should emphasize different inter-organizational features referring to the global software development, including outsourcing and subcontracting. These companies should focus on the effective cooperation practices, including those companies that did not overcome such challenges in software project development. It is important to collect the information about the established successful collaboration practices that the companies can use while working on the projects for international software companies (Fryer & Gothe, 2008).
In fact, the same challenges can appear if the outsourcing companies are located in the same building. The challenge to achieve communication and collaboration is the most problematic in the complete project management of software development. In the same way, the processes of change management can be delayed due to the differences of companies and their perceptions about the communication and problem solving. These problems become the most important challenge that many software development companies face during the integration phase while working with outsourcing companies (Schwalbe, 2000).
One of the proven techniques to cope with such compatibility challenges is to make all development sites obey the same process of software development. In other words, developers also find it challenging to deal with the changes in the developmental process of software projects. It is significant if the procedures are different from those that they used to follow by their choice. This way of dealing with the project management challenges is beneficial for the companies that do not need to expend much time into the phase of planning the project development. However, it is significant that the companies made efforts to specify the work for different developers to avoid misunderstanding and changes in project roles (Tafti, 2005).
The challenges related to the process are also common when a company uses the inter-organizational software development methods in the international software development. A possible solution to such challenges is the implementation of integration plans grounded on the shared objectives, achievements and gatherings. The idea of escalating integration plans denotes enhanced efforts to the project delivery based on the collaboration and cooperation used in agile methods. In this case, the major challenge is to dedicate more time and attention to the best practices of project development. It is believed that success of the international software development projects can be achieved through the outsourced development projects. In fact, these projects should use agile management strategies repeatedly in every software development project. The most significant benefit of this method is that the companies can see the visible depiction of the project status in every phase of the software development projects (Börjesson & Mathiassen, 2005).
Another significant challenge is to manage communication in the inter-organizational projects that are involved in the development of software for international organizations. The major reason for such challenges is that communication is usually the most important key for the cooperation among the project teams during the software development process. In addition, the companies need to take advantage of the geographical distance since it creates the limitations with the private interactions of employees in the software development project. Simultaneously, the differences in time zone create additional challenges for employees to synchronize communication while working on the software development project. Furthermore, the differences in language and culture are the reasons for constant misunderstandings among the employees of the software development project (Conchuir, Agerfalk, Olsson & Fitzgerald, 2006).
Many strategies can be used as the solutions to resolve issues with communication. Among them are the creation of project relationships and the use of cultural connections through the information channels offered by the international companies. At the same time, the software development companies can take advantage of the conference calls that are considered as efficient ones while solving project challenges, including the problems with communication that take place during the software development process (Wilkinson, 2012).
Separately, the companies can take advantage of the rotation management strategies that could be used to deal with the aspects of cultural diversity. In addition, while using online platforms the company should create the project home page in such a way to provide an outline of the project content, including the information on planning that is perceived as a channel of distributing information among the developers in the software development projects (Kleiman, 2011).
Project Management Risks in Global Software Development
Risk management is considered as one of the major challenges that global software development projects face every day. The process of managing projects involves more risks in case if the businesses use outsourcing companies to manage their software development operations. The businesses that use outsourcing companies for the software development projects expect to have certain advantages compared to the competitors. Hence, all the benefits that the companies receive while hiring the outsourcing companies are followed with the particular level of risk in every phase of software development projects (Fryer & Gothe, 2008).
In fact, offshore outsourcing is greatly criticized since it positions risks that lead to the cultural differences, low quality labour force, unemployment and hidden costs. Concerning the costs, it is considered that while the cost of labour is insufficient in the developing countries, the companies need to allocate additional investment to take advantage of the offshore outsourcing. Additional costs adhere to the travelling, communication within the communities and adoption of cultural differences. Alternative expense comprises search of costs for vendor companies, transition costs, extra outsourcing costs and costs that encompassing the standard services. Despite the fact that software development companies take advantage of creating communities and encouraging employees to communicate effectively at the workplace using the contemporary technologies, there is still a risk for the companies that work together in the projects for international software development (Khan, Niazi & Ahmad, 2010).
One more risk of using global software development is unemployment. The use of such software leads to the unemployment due to the utilization of the outsourcing companies. It is another risk for the information technology companies that start dealing with offshore outsourcing companies. In many developed countries, the use of outsourcing for the software development projects raises the unemployment rate. As a result, using offshore outsourcing outweighs its benefits (Fowler, 2003).
One more risk that software development countries face is the availability of skills. In other words, the companies run a high risk of employing the software developers at distance. At the same time, the companies do not take risks of using the skills without outsourcing the software development skills. Instead, the companies can take advantage of the internal developers whose skills are rather high and the companies are free from risk hiring such software developers (Kwak & Stoddard, 2004).
At the same time, the companies run risks due to not only the level of skills but also the inconveniences caused by the differences in languages and culture. Therefore, the differences in culture and languages cause many challenges for the companies in terms of the project communication in every phase of software development. In addition, the software developers are not always willing to use social networks as a source of communication. In order to solve this problem, international companies are challenged with the ways to incorporate communication in the project management of the software development. A possible solution to such a problem is to invest in the development of skills of the international companies that are involved in the development of software for international organizations (Kwak & Stoddard, 2004).
Another risk for the international software development is the time. Even though the work on the project is managed continuously, there is still a risk of managing the quality of the completed work in the offshore outsourcing companies. The major reason for problems in the project is the lack of communication due to the time difference. In other words, the employees are not able to interact during the working hours and cannot guarantee the success of the project operations without adequate communication. In fact, prompt communication is critical to ensure a high quality of the software development project for international companies (Fowler, 2003).
For example, in case if there is a lack of communication the software development project can be delayed due to the inability to check the operations at distance. Therefore, the companies try to outsource software developers in the counties that do not have a sufficient difference in the time zones. This strategy of managing the software development project could have a high positive impact on the risks and overall quality of the delivered project. In fact, the time factor can have a strong influence on whether the project will bring more benefits or risks (Kwak & Stoddard, 2004).
Hence, the companies that take advantage of the outsourcing services need to provide a proper environment for the developers successfully to adopt the software development strategies. At the same time, in order to manage the quality and meet the deadlines of the software development projects, the companies should hire more developers to work in a different shift and coordinate the process of project completion (Ulhaq, 2011).
In addition, the risks associated with the quality of tasks are also important for the international software development. In other words, unless there is a proper control and organization of the project performance, the companies cannot guarantee the proper quality of the software developed by the offshore outsourcing companies. At the same time, poor communication among the companies is an important element to guarantee the successful completion of the software development project. Hence, both geographical location and cultural distance involved the project management adds more risks to the establishment of proper working environment for the developers (Conchuir, Agerfalk, Olsson & Fitzgerald, 2006).
Therefore, the best solution to such problems and project management risks is to build rapport and trust between the companies and software development personnel. Consequently, the outsourcing companies can guarantee the quality of the software projects. These projects are most likely to be completed according to the project deadlines. The common practice to building rapport and trust is to start from outsourcing small software projects with adequate deadlines. In this case, the companies do not run risks and can check the quality of managed tasks by the vendor companies (Khan, Niazi & Ahmad, 2010).
In addition, one of the ways to build stronger relationships with the vendor companies is by visiting the outsourcing companies and creating more opportunities for both project managers and software developers to communicate and learn new cultures or understand the specific of programming work. Such strategies can offer the vendor companies more opportunities to demonstrate their professional capabilities and trustworthiness within a global software platform (Nguyen, Babar & Verner, 2006).
The international software development also addresses many ethical issues that are specific based on the country in which the offshore vendor is located. It is one more challenge for the software development companies while guaranteeing the quality of international software. In addition, some legal factors can add more risks to the quality of the developed software. For example, national laws can have a strong negative impact on the software development efforts since national laws should serve to protect the corporate information. In these countries, project managers run a high risk of losing critical information due to the work of hackers who operate in the industry without legal recourses (Fowler, 2003).
One more problem is no consistency and laws that protect intellectual property within developing countries. Such risks can result in millions of losses for the software development organizations around the world. Such risks can create serious ethical issues referring to a particular country that is responsible for the delivery of the international software projects (Kwak & Stoddard, 2004).
In addition, the data privacy laws are different in the developing countries. They are also different in the developed European countries, Asia and the United States. For example, the laws of the European countries are more protective compared to laws in the United States. At the same time, the laws in the United States are more protective compared to the countries in Asia. Therefore, it is important to investigate the legal and ethical issues of the country in which the vendor company is located. It will help to eliminate the risks associated with the laws and quality of the developed software from the outsourcing companies. The emphasis should be made on the compliance work in the offshore companies, including the legal requirements for the protection of data. It will help to avoid the ethical issues in all the stages of the international software development (Fowler, 2003).
The Teamwork Challenge
The challenge of cooperation and teamwork is ascending since software development projects are characterized by close-fitting incorporation and internal needs of different modules. Hence, considerable organization is obligatory for the software developers with the goal to make sure that all the anticipated features are operating in a proper way. While using Open Source Software, the collective work is important from the geographical point of view. In other words, the companies need to create opportunities for the employees to communicate effectively at the workplace. One of the ultimate challenges in remote collaboration is that it reduces the level of attentiveness towards the programming activities that take place during the software development. However, such a decline in communication is inevitable for employees who have to work from distant locations. Therefore, decreased communication leads to a decline in the level of awareness that developers have while working on the software development project. This creates a situation where necessary software related information is lost or developers have difficulties while obtaining the required data (Conchuir, Agerfalk, Olsson & Fitzgerald, 2006).
Contrasting the commercial environments, the vast majority of Open Source Software developers work when they are reasonably autonomous of each other. Hence, project managers and developers consider their work as extremely difficult to add extra features to the software. Consequently, such difficulties lead to the lack of adequate synchronization of actions and proper communication among the employees of the software development projects. Furthermore, the employees feel that they start working under pressure within the project environment of international software development. Thus, such a scenario cannot lead to positive results and it provokes even more miscommunication and / or misunderstanding at the workplace. In such cases, the software development companies face with serious problems that refer to the overall organization and collaboration on every stage of the project development, including the integration stage. Therefore, by using enhanced cooperative competences, the developers of the software project can succeed in working as a project team if they create an effective software development environment (Carmel & Agarwal, 2001).
One more challenge that is significant for the software development companies that use Open Source Software development environments is the difficulty to access or consult the experts who work at distance. The project managers who are uncertain about the interactions of the developers often have problems with informal communication among employees. However, many Open Source Software projects are still uncertain about the communication specifics in the software development projects. The reason for such challenges is that the objectives of the software development company are not stated properly while positioning them to the project teams (Mohagheghi, 2004).
Hence, project managers face the challenge of poor contribution into the open source communities that did not establish proper communication. To cope with the lack of communication during every phase of project development, project managers should encourage developers to encourage employees for the informal communication within the software development project. An effective way to foster informal communication is by inspiring developers for the social interaction and offering support to social structures within the Open Source Software community. The companies will be able to create various platforms to encourage employees for information communication within the project (Komi-Sirviö & Tihinen, 2005).
Lack of Support to New Developers
In the vast majority of scenarios, Open Source Software projects are mainly personalized to adhere to the specialized requirements and qualifications of primary developers. Newly engaged developers have no chance to contribute into a number of projects. In addition, secondary developers have to understand the specifics of working with the software of the project in order to contribute into the software development. These developers work based on the lack of support and minor opportunities for mentorship, which is so necessary for the efficient operation within the software development project, especially in case if employees are scattered in different locations. The only possible way to receive support and guidance for the developers is the project specifications, required project documentation, guides of the project managers and programming tutorials (Bakker, Boonstra & Wortmann, 2010).
For example, in the projects such as Mozilla Firefox, the efforts of developers are made to create adequate documentation that would contribute to the whole community and overall project management procedures. The major challenge is that the process of creating and maintaining such project documentation involves more resources than the most of Open Source Software projects can afford. In addition, the new developers are also challenged with the need to understand new cultures, programming codes and development practices that are specific for a particular project environment. Therefore, the software development companies should help new developers to accommodate to both the culture and development procedures of the software projects by establishing social networks. In fact, social networks make it easier for new developers to adapt to the remote locations distributed and specifics of the software development projects (Noll, Beecham & Richardson, 2010).
Response of Users
One more challenge rises are based on the need for software development project websites that can contribute to the software users. It also creates more challenges for the software development projects that use open source and do not offer support to the communities that represent software users. For example, the new versions of Linux are rather difficult to understand for the users and overall community of users who do not have enough technical background (Ramingwong & Ramingwong, 2009).
However, there are more opportunities for other communities of users that encourage users to take advantage of the software development projects based on the Open Source Software. In case if the willingness of the Open Source Software development enterprises is to offer software that could be used by conventional users, it should have more communication and support from the position of software developers. This level of communication is important since it increases the technical erudition of the user communities. In addition, it will also improve the significance of developers in the international software projects (Mockus & Herbsleb, 2001).
Therefore, development projects that take advantage of the open source software have many different challenges. However, all of these challenges refer to the issues of proper distribution of information and adequate level of communication in every phase of the project development. Therefore, the project managers of the international software development projects should take advantage of the information in this research in order to solve the challenges stated above. In addition, all the findings of the research are offered to help project managers in their information management and ability to improve the overall communication within the software development projects. Therefore, the software development companies should emphasize the need to integrate all the research findings into their software projects. The software development companies should make adequate efforts to position this information in a simple way so that both developers and users could understand all the details of using the software and communicating within the software development projects (Cadle & Yeates, 2007).
In order to improve the process of knowledge, the organizations should take advantage of the social network and enhance their work with the community of both users and developers that closely interact with each other during the process of creating new software. In fact, such communication between the users and developers will have favourable advantages for the companies that produce software for the international companies. In other words, the purpose of such communities is to help users better understand the developers of software projects. As a result, this method of communication will improve the interactions and can increase the overall level of technical awareness. Simultaneously, it can also help the developers better to understand the needs of users in particular software projects. At the same time, such approach to the project managers will reinforce the social interaction, including the understanding of technical specifics and cultural differences (Harvard Business School, 2005).
This management paper has examined the conception of the global software development, including the project management challenges. The findings indicate that there are different methods of international software development such as the Open Source Software (OSS) method, intra-organizational method and inter-organizational method. All of these methods have a number of challenges, risks and ethical considerations while working on the software development projects. One of the challenges that the software development companies face is the lack of communication in every phase of the project development. These challenges are based on the geographical and cultural differences of the companies involved in the development of software projects. The best way to overcome these challenges is to take advantage of the social networks. It will provide more opportunities for the users and developers to communicate with each other and share significant information to guarantee the high quality of the software (Kwak & Stoddard, 2004).
In addition, the companies need to overcome the issues related to the challenges and risks of international software development. The most important concerns are the protection of the private data and intellectual property laws that can ensure consistent international legal framework. Such a strategy will help to eliminate the risks and will save costs for the companies while outsourcing companies for the development of international software. The aspects to overlook are the decreasing risks and high costs, round-the-clock operations, poor quality of outsourced work and unemployment (Kwak & Stoddard, 2004).
Therefore, the companies can use the services of the offshore companies that are located in the simultaneous zone. It will help to check the quality of the completed tasks. This approach will also help the companies to overcome the communication challenges and ensure the collaboration of employees within the best practices of international software development related to the Open Source Software (OSS) method, intra-organizational and inter-organizational ones.