At work, we have a pre-QA step where we (the developers) would test each other's work (broken up to individual bugs or enhancements). While this is useful to have (good to have a sort of 'double check' to make sure failures from QA are kept to a minimum; also useful to look at the stuff that other people have been doing); it has always bugged me that I'm essentially replicating the work that a QA tester would do after me (except that the tester is probably more thorough).
Note that I'm not talking about a code review, essentially we run through the changes from a functionality point of view.
Am I currently doing it right (i.e. doing a quick QA test)? Does anyone have any suggestions as to how this could be done more effectively?