A number of Arduino models do reset when you open the Serial Monitor, others don't. The reset is caused by the activation of the DTR line.
Serial Monitor is a terminal program. There are other terminal programs that can be configured not to reset Arduino models that would normally reset. RealTerm (for Windows) is one of them.
The only advantage of Serial Monitor is that it's part of the IDE and can be controlled during upload. The IDE can't control other terminal programs so you will have to disconnect it from the serial port before starting an upload.
There is a trace on the board that causes the board to reset when ANY terminal program connects. You need to cut this trace. After you do this, you then need to wire a switch between those two pads so you can reprogram your board. I have done this many times with a small toggle switch labeled "run" and "program" such that "run" means the trace is open and I can open Serial Monitor without resetting the board and see the current output. Or, I can toggle it to "program" which closes the connection and allows the IDE to reset the board to download new code.