Economics and technology have dramatically re-shaped the landscape of software development. It is no longer uncommon to find a software development team dispersed across countries or continents. Geographically distributed development challenges the ability to clearly communicate, enforce standards, ensure quality levels, and coordinate tasks. Globa
More software engineers are likely to work in a globally distributed environment, which brings benefits that include quick and better software development, less manpower retention, scalability, and less software development cost and sharing of knowledge from the global pool of employees. However, these work environments also introduce a physical separation between team members and project leaders, which can create problems in communication and ultimately lead to the failure of the project. Human Factors in Global Software Engineering is a collection of innovative research focusing on the challenges, issues, and importance of human factors in global software engineering organizations in order to help these organizations better manage their manpower and provide an appropriate culture and technology in order to make their software development projects successful. While highlighting topics including agile software, knowledge management, and human-computer interaction, this book is ideally designed for project managers, administrators, business professionals, researchers, practitioners, students, and academicians.
Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way. With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references. Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.
Based on the author’s first-hand experience and expertise, this book offers a proven framework for global software engineering. Readers will learn best practices for managing a variety of software projects, coordinating the activities of several locations across the globe while accounting for cultural differences. Most importantly, readers will learn how to engineer a first-rate software product as efficiently as possible by fully leveraging global personnel and resources. Global Software and IT takes a unique approach that works for projects of any size, examining such critical topics as: Executing a seamless project across multiple locations Mitigating the risks of off-shoring Developing and implementing processes for global development Establishing practical outsourcing guidelines Fostering effective collaboration and communication across continents and culture This book provides a balanced framework for planning global development, covering topics such as managing people in distributed sites and managing a project across locations. It delivers a comprehensive business model that is beneficial to anyone looking for the most cost-effective, efficient way to engineer good software products.
Economics and technology have dramatically re-shaped the landscape of software development. It is no longer uncommon to find a software development team dispersed across countries or continents. Geographically distributed development challenges the ability to clearly communicate, enforce standards, ensure quality levels, and coordinate tasks. Global Software Development Handbook explores techniques that can bridge distances, create cohesion, promote quality, and strengthen lines of communication. The book introduces techniques proven successful at international electronics and software giant Siemens AG. It shows how this multinational uses a high-level process framework that balances agility and discipline for globally distributed software development. The authors delineate an organizational structure that not only fosters team building, but also achieves effective collaboration among the central and satellite teams. The handbook explores the issues surrounding quality and the processes required to realize quality in a distributed environment. Communication is a tremendous challenge, especially for teams separated by several time zones, and the authors elucidate how to uncover patterns of communication among these teams to determine effective strategies for managing communication. The authors analyze successful and failed projects and apply this information to how a project can be successful with distributed teams. They also provide lightweight processes that can be dynamically adapted to the demands of any project.
This book offers key insights into how to manage software development across international boundaries. It is based on a series of case studies looking at the relationships between firms from North America, the UK, Japan and Korea with Indian software houses. In these case studies, which have typically been compiled over a 3-4 year timespan, the authors analyse the multi-faceted challenges encountered in managing these Global Software Alliances (GSAs). These challenges range from the conflicts that managers face when dealing with distance, to the tensions of transferring knowledge across time and space, to issues in trying to establish universal standards in a context of constant change, and the problems of identity that developers and clients experience in having to deal with different organizations and countries. Throughout the book, the authors draw on their extensive research and experience to offer constructive advice on how to manage GSAs more effectively.
Software development continues to be an ever-evolving field as organizations require new and innovative programs that can be implemented to make processes more efficient, productive, and cost-effective. Agile practices particularly have shown great benefits for improving the effectiveness of software development and its maintenance due to their ability to adapt to change. It is integral to remain up to date with the most emerging tactics and techniques involved in the development of new and innovative software. The Research Anthology on Agile Software, Software Development, and Testing is a comprehensive resource on the emerging trends of software development and testing. This text discusses the newest developments in agile software and its usage spanning multiple industries. Featuring a collection of insights from diverse authors, this research anthology offers international perspectives on agile software. Covering topics such as global software engineering, knowledge management, and product development, this comprehensive resource is valuable to software developers, software engineers, computer engineers, IT directors, students, managers, faculty, researchers, and academicians.
Lean Software Development: An Agile Toolkit Adapting agile practices to your development organization Uncovering and eradicating waste throughout the software development lifecycle Practical techniques for every development manager, project manager, and technical leader Lean software development: applying agile principles to your organization In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work. Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment. Better, cheaper, faster software development. You can have all three–if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development. Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: "decide as late as possible" by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability How to "see the whole"–even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people–so you can achieve breakthrough quality, savings, speed, and business alignment.
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
Learn best practices for software development project management—and lead your teams and projects to success. Dr. Lawrence Peters is an industry-recognized expert with decades of experience conducting research and leading real-world software projects. Beyond getting the best developers, equipment, budget, and timeline possible—Peters concludes that no factor is more critical to project success than the manager’s role. Drawing on proven practices from allied industries such as business, psychology, accounting, and law, he describes a broader project-management methodology—with principles that software managers can readily adapt to help increase their own effectiveness and the productivity of their teams. Unlike other books on the topic, this book focuses squarely on the manager—and shows how to get results without adopting philosophies from Genghis Khan or Machiavelli. (There is mention of Godzilla, however.) Packed with real-world examples and pragmatic advice, this book shows any software development manager—new or experienced—how to lead teams in delivering the right results for their business.