Practical Remote Pair Programming: Best practices, tips, and techniques for collaborating productively with distributed development teams
Book information
Description
A practical guide for developers, development teams, and managers to successfully implement remote pair programming techniques and styles that better fit their organization's environment Key FeaturesImplement remote pair programming best practices in your organization to increase productivity in software development teamsOvercome the challenges in communication while working with distributed teams across the globeExplore remote pair programming tools and learn smart ways to use them efficientlyBook Description Remote pair programming takes pair programming practices to the next level by allowing you and your team members to work effectively in distributed teams. This helps ensure that you continuously improve code quality, share equal ownership of the code, facilitate knowledge sharing, and reduce bugs in your code. If you want to adopt remote pair programming within your development team, this book is for you. Practical Remote Pair Programming takes you through various techniques and best practices for working with the wide variety of tools available for remote pair programming. You'll understand the significance of pair programming and how it can help improve communication within your team. As you advance, you’ll get to grips with different remote pair programming strategies and find out how to choose the most suitable style for your team and organization. The book will take you through the process of setting up video and audio tools, screen sharing tools, and the integrated development environment (IDE) for your remote pair programming setup. You'll also be able to enhance your remote pair programming experience with source control and remote access tools. By the end of this book, you'll have the confidence to drive the change of embracing remote pair programming in your organization and guide your peers to improve productivity while working remotely. What you will learnDevelop a structured organizational approach to implementing pair programming and using it effectivelyUnderstand how pair programming fosters better communication inside and outside the teamOrganize remote pair programming and choose the right style for your organizationSet up screen sharing, IDE, source control rules, audio, and video for your remote pair programming setupUse various pair programming techniques and styles in the context of a remote environmentEnhance your remote pair programming experience with source control and remote access toolsWho this book is for This book is for any developer who wants to understand the different practical aspects involved in remote pair programming and adopt them in their existing development teams. If you’re a team leader or technical manager, this book will serve as a manual for implementing remote pair programming covering the best resources for you to manage communication and collaboration using pair programming with your team members working remotely in distributed teams. Table of ContentsPair Programming and Its NecessityHow Can Pair Programming Help?Usual Pair Programming Techniques and StylesUsing Pair Programming in a Distributed SystemRemote Pair Programming SetupRemote Pair Programming Specific Techniques and StylesVoice and AudioSource ControlRemote Access Cover Title Page Copyright and Credits Dedication Contributors Table of Contents Preface Section 1: Introduction to Pair Programming Chapter 1: Pair Programming and Its Necessity The history of pair programming Elucidating problems in pairs Managing complexity Sharpening our knowledge Collaborative work Leveling knowledge Advancing knowledge Gaining wisdom Improving the system Staff liquidity Managing complexities in complex domains Managing complex domains Difficult tasks The fastest feedback code review Minimizing the defect rate Comfort for the future you Code is more often read than written Exploratory testing with pair programming Programming with your CEO Social programming The rubber duckling effect How does pair programming work? Knowledge work and knowledge workers Time well spent Summary Further reading Chapter 2: How Can Pair Programming Help? Defining pair programming Driver Navigator Trainer/facilitator Boosting efficiency Reducing task switching Taking breaks Situations when pair programming can help Bettering efficiency Improving technical skills Aiding knowledge transfer Improving communication Enhancing problem-solving capabilities Simplifying the existing code base Situations when pair programming is difficult Working alone Lack of safe space Only I want to pair from my team Working better with colleagues with other specializations Pairing with a tester Pairing with a UI designer Pairing with DevOps Pairing with a business analyst Pair programming in practice Learning new things or tricks Being social – social programming Pair programming cannot solve everything Unclear requirements Bad coding practices Tension within the team Tension within the organization Close to deployment time Summary Further reading Chapter 3: Exploring Pair Programming Techniques and Styles Understanding pair programming techniques The Driver-Navigator technique The Pairing-Trainee technique The Beginner-Advanced technique The Beginner-Beginner technique The Ping-Pong technique Improving pair programming with styles Unplanned pairing Traditional pairing Elastic pairing Strong-style pairing Organizing pair programming Round-robin pairing Promiscuous pairing Selective pairing How often do we need to pair? Should you pair for the whole day? Should you pair daily? Should you pair weekly? Exploring different communication methods Aggressive communication Submissive communication Assertive communication Making a difference with the right words, tone, and clarity Pair programming best practices Taking notes while pair programming Starting with some small talk Emptying your cup Debriefing Dialogue courtesy Building confidence – committing often and having good unit tests Trusting your pair Pair programming anti-patterns Managing distractions Centering the monitor Dealing with the "I know it all" attitude Addressing small pickings Boosting productivity with remote pair programming Summary Further reading Section 2: Remote Pair Programming Chapter 4: Using Pair Programming in a Distributed System Technical requirements Organizing remote pair programming The purpose of remote pairing Distributed team Deciding on the scope Duration Pomodoro technique Schedule Kickoff Concerns Good practices of pairing Anti-patterns Performing regular retrospectives How often we should retrospect Retrospective techniques What happens after a retrospective? Improving the restrospectives continuously Analyzing the results Personal introspection Tools analysis Summary Further reading Chapter 5: Remote Pair Programming Setup Technical requirements Checking the internet connection Using a cable connection Using a Wi-Fi connection Using a portable router Setting up video and audio Setting up video Checking the lighting Choosing the camera Understanding the camera's position Checking the audio Introducing audio Choosing a microphone Positioning your microphone Use headphones, not loudspeakers Mute pairing Setting up the IDE Key editor functionalities Best IDEs for remote pair programming Intellij IDEA Best editor plugins for remote pair programming Setting up screen sharing Introducing TeamViewer Introducing AnyDesk Introducing Screen Introducing Use Together Introducing Tuple Introducing Zoom Introducing Google Meet Introducing Skype Learning to use source control Source control tools Commit often Ensemble commits Rotation Using two computers for coding and remote screening Summary Further reading Chapter 6: Remote Pair Programming-Specific Techniques and Styles Recap of main concepts of pair programming Understanding general setup Understanding the remote driver-navigator technique Remote setup Remote specifics – driver Remote specifics – navigator Remote ping-pong technique Remote setup Remote specifics – driver Remote specifics – navigator Remote beginner-advanced technique Remote setup Remote specifics – driver Remote specifics – navigator Traditional pairing style Remote setup Remote specifics Remote elastic pair programming style Remote setup Remote specifics Remote strong style Remote setup Remote specifics Good remote practices Remote breaks Secondary communication channel Remote commit approach Summary Section 3: Tools to Enhance Remote Pair Programming Chapter 7: Video and Audio Recap of what we have learned so far General technical aspects Audio is more important than video Video settings Screen sharing settings Quality sound and video for the win Learning how to enhance video Looking into the camera Using a green screen Using a virtual background Learning to enhance audio Speaking into the microphone Using an audio compressor Performing soundcheck Monitoring the sound Adding a pop filter Enhancing speech Employing diction Choosing words Warming up your voice Summary Chapter 8: Source Control Rules Recap of the source control rules Using source control Improving source control usage Using the commit types Understanding commit heuristics Committing when part of a feature is done Committing when all the tests are written, and green, for a user scenario Committing before taking a break, in a stable state Committing when the preparatory refactoring is done Committing when one characterization test is done Committing when one unit test is green Summary Further reading Chapter 9: Remote Access Recapping the rules of remote pairing Understanding how remote access tools work TeamViewer AnyDesk Screen Chrome Remote Desktop Relying on tools Bug magnet Security for remote access Summary Further reading Why subscribe? About Packt Other Books You May Enjoy Index
Similar books
Practical Remote Pair Programming: Best practices, tips, and techniques for collaborating productively with distributed development teams
2021 · EPUB
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF
Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.
2022 · PDF
The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians
1809 · PDF