At the point the web is today, it's difficult to build a truly great product without collaborating across disciplines. The best things that we've made, we've made together. Technology, design, and user experience have to play together.
What designers can learn from (code) review
Collaboration can be hard. To avoid a waterfall process, we involve all other disciplines early on. To balance that out, and so we don't end up in a design by committee-situation, we model our collaboration off of the review process. At any point in the process, there is one person who is the author, while the others take the roles of reviewers. This way you can involve several people early on, without the process derailing.
That means we're doing reviews not only for code but for every aspect of our product. We also consider user testing to be a form of review.
When doing a review, we try to adhere to the following principles:
If you want an intro to the advantages of (code) review, check out this blogpost about the advantages of code review and this blogpost on best practice for code review.