Complexity requires collaboration
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.
Using review for collaboration
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 review not only for code, but for every aspect of our product. We also consider user testing to be a form of review.
When doing review, we try to adhere to the following principles:
- Critique the work, not the author.
- Be critical, but remain affable and curious.
- Differentiate between a) suggestions, b) requirements, c) and points that need discussion or clarification.
- Move discussions from text to face-to-face.
- Don’t forget to praise the good parts!