| Abstract |
Developing large software systems is a difficult task filled with significant challenges because it requires multiple experiences as projects for smart cities have become more multidisciplinary and distributed. The current century has seen significant progress in making software engineering tasks more efficient, systematic, and predictable in management. This has been achieved through the significant development of software lifecycle management models, the development of communications networks, and the introduction of better techniques to monitor and control projects by applying superior modelling techniques and improved tools. To establish a better understanding and deeper insights into the rules and principles of successful software development, we must find practical solutions to many challenges in engineering large software systems. The most critical challenge is the international distribution and transfer of systems because team members do software development in different distant places. This chapter comprehensively reviews global software development (GSD) principles, architectures, and methodologies. It covers requirements engineering, tools and rules for developing distributed global software and addressing challenges, such as cross-cultural communication among team members. © 2025 selection and editorial matter, Susheela Hooda, Vidhu Kiran, Rupali Gill, Durgesh Srivastava, Jabar H. Yousif; individual chapters, the contributors. |