We used pair progrmming because we are working together. And refactoring for our codes so we can use them easier for other new features, code review to make sure the viability of our code, and unit testing for runnability of our code.
We found that the pair programming practice is really useful and efficient, as we can monitor each other and give recommendations and implementation methods an individual alone can think of, and also maintain the viability and correctness of the code. Another practice we think worked well is refactoring, we can change a part of a code or data base to make it run smoother without impacting the rest due to our modulization