Introduction
This paper presents a systematic literature review of the challenges, solutions, models, tools and an example in Distributed Software Development (DSD). The objective is to collect and systematize reported knowledge in terms of what are the difficulties in managing DSD projects, what are the best practices to overcome these difficulties, and how existing models and tools support these practices.
The DSD is a phenomenon with considerable interest from companies all over the world where the stakeholders from different national and organizational cultures are involved in developing software. As part of the globalization efforts currently pervading society, software project team members have become geographically distributed. However, DSD is technologically and organizationally complex and presents a variety of challenges to be managed by the software development team. [1]
As distributed environments have become the norm for software development, coordinating the efforts of development teams has become one of the biggest challenges faced by the enterprise today. It is hard to imagine any sizable development project managed without an underlying software configuration management tool.Teams situated at different geographical locations, including offshore, collaborate using communication technologies to develop interrelated software modules that are integrated in shared project workspaces. The software design process involves many iterative cycles of development
In this week’s discussion board, we learned about several project management tools and how they are used to facilitate the successful implementation of IT related projects. Additionally, we learned what happens when IT projects fall behind schedule, the reasons for the delays and if these reasons will hinder complex software implementations in the future.
Boyde, J. (2012). A down-to-earth guide to SDLC project management: getting your system development life cycle project successfully accross the line using PMBOK-- in an adaptive way. S.l.: CreateSpace Independent Pub. Platform].
It is a framework which embodies much of the current knowledge about project management. DSDM is rooted in the software development community, but the convergence of software development, process engineering and hence business development projects has changed the DSDM framework to become a general framework for complex problem solving tasks.
Base on the analysis the reference, the general consensus in the research is that this enterprise project fell into the most basic traps of software development, from poor planning to bad communications throughout the lifecycle of the project. Our team will focus on the following aspects including scope, human resource, procurement, unrealistic scheduling, contracting and contract management, program management and enterprise architecture, the report will analyze each topic and make corresponding recommendation to improve the practice.
DSDM Atern is an agile development framework which can produce a working solution on time, within a set budget
The authors began the article with a brief overview of the virtues of distributed agile development as an industry-wide trend in the corporate environment. They argue that distributed agile development has the principle benefit of allowing for physically distant parties to work in unison on projects. As technology becomes all the more prevalent and useful in its potential, it is time for companies to make full use of technology and deploy techniques that will allow them to work more efficiently. To this end, scrum and XP are particularly useful
Due to a growing interest in adopting best practices across IT departments, particularly according to standards such as ITIL, many organizations are now deciding to implement a configuration management database (CMDB). IT departments face numerous challenges in providing dependable services that support a company’s goals. Solving most of them requires a good configuration management strategy: without knowing what’s in your environment, you cannot hope to control it, maintain it, or improve it.
Recently, a new approach called “DevOps” appeared in software engineering field. DevOps derived from Development and Operations. The main objective of DevOps is to resolve conflicts between teams and reduce time between software development and software delivery to customer. But there are differences between development environment and operation environment. Development environments are business driven, responsive to change and constantly updated. On the other hand, operation environment is procedure driven, controlled environment and stable. [1]
Software developers and software engineers face considerable challenges while attempting to plan, design, implement and complete software development projects. Key challenges facing software development project leaders and other professionals include coping with increasing diversity, responding to demands for reduced delivery times and developing software
In general, it is a web-based software that the architecture consists of user interaction, logical operation, and data storage. And in most cases, software development need teamwork which means lots developer with different background work together for one goal. A proper working process would be helpful to successfully complete the development.
The quality and reliability of software today is expected to be extremely high. Software is being included in engines of automobiles, robots, x-ray machines at hospitals; it is no surprise that software is expected to operate correctly almost all the time. This reliability comes at a cost of increasing complexity. With the increase in complexity, software development teams are getting larger and maintenance is becoming more difficult. Although developers are dealing with these problems project dates are still very rigorous and projects can seem impossible to complete on time. Due to these problems, software development costs are rising which is increasing the cost of software for consumers. Without new practices to develop software
In software development, projects are moving target because they are typically not well defined and there are lots of changes in the requirements throughout the life time of the project and the estimates impact the process of reaching the target. [10]
Globalization has greatly affected the software industry. GSD applies a series of advantages and disadvantages [1]. It leads to reduction in delivery times in addition to high-skilled work-force. Along with the benefits it also provides proximity to customers and markets. However the three C’s (Communication, control, coordination) complicates the management of global software process and highly impacts the quality and productivity in a negative way. Leaving the classic issues such as time, geographical regions the GSD project and process plays a major role now. A more globally diversified project involves greater complexity. So the managers involved in GSD suggests of using tools to make critical decisions. These decisions can be work allocation along with the identification of problems or selecting highly qualified staff. To address these challenges a three dimensional visualization is proposed
Over the past 10 years, researchers have offered improved interest towards social aspects of software application engineering, equally to test ideas concerning to software development (Ex: socio-technical) and to generate resources to boost practice (Ex: team awareness tools). We can find inspiration pertaining to additional understanding within the organizational technology, which has extended researched, the actual social aspects associated with exactly how teams perform the job. Implementing one particular model, the software development life cycle can be observed as, software engineers first organize into teams (forming), come to agreement about their goals(storming), choosing and implementing their software methodology and engineering process(norming), collaborating and coordinating with another to create a product (performing), and finally reflecting on their failure and success (adjourning).
Astronomically huge, involute, and inter-networked software systems show a serious part in numerous features at some organizations worth chains. User’s prerequisite software which can encounter stringent basics, which can create expeditiously and effectively, and can be easily maintain which can preserve pace with ever-incrementing response for functionality, quality, and cost-efficacy. The elevate of the World Wide Web and electronic commerce have intensified the tasks of software development by dramatically minimizing product development cycles and elevating time to market as a critical dimension of software development performance.