21.6. Programming in a Team¶
While programming with your partner, you may want to use the approach formally known as “pair programming.” Pair programming involves one computer/workstation with one driver and one navigator. The driver actively writes the code while the navigator reads each line for errors and/or improvements. The setup allows for more efficient and less defective programs. You and your partner should take turns playing the role of driver and navigator. For example, you can alternate between driver and navigator for each step of the process and keep a record in the “What did you contribute?” column of the project map (displayed above). Some of the benefits of pair programming include:
You and your partner will stay focused and be more productive. You will be accountable to each other and less likely to zone out or get distracted from the task at hand.
Your skills will improve. When you have someone observing your work, you will learn quickly from the mistakes you may make.
By actively sharing ideas for design and content with your partner, you will improve your creativity and design thinking as well as your ability to compromise and collaborate.
You will program with an open mind and realize there are multiple ways to tackle a problem.
Another method of collaboration involves dividing the program tasks between you and your partner and merging the tasks once they are completed. If you decide to use this method, you and your partner should share what you’ve been working on and provide frequent feedback during the development process. This will prevent coding the same functionality twice and ensure a cohesive code structure. To ensure consistency, combine your code often and complete a detailed code review during feedback sessions. Check for code efficiency and remove any redundancies. Code reviews will help to improve programming skills and the overall code quality.
Software development in industry requires a lot of different people working together. To ensure work is completed efficiently, developers often use a methodology called Agile development. The Agile method prioritizes people and interactions over tools and processes. It focuses on producing results and responding to changes instead of following a set plan.
When you combine your code for review and discuss the next tasks to tackle, consider what tasks are essential to reaching a milestone in your project and reflect on whether your initial ideas need to be adjusted.