It depends on what you're trying to say. Let's start with: The implementation we have made before may become a cause of code duplication. Does "the implementation" refer to the current implementation, or are the two implementations identical? If so, then it should be: The implementation, which we have made before, may become a cause of code duplication. If "the implementation" refers to a previous implementation, then it should be: The implementation that we made before may become a cause of code duplication. People often suggest rather strongly to omit "that" when used as a subordinating conjunction; I prefer to leave it for the sake of clarity. There are instances in which omitting it introduces ambiguity. As for your question about pauses: pause at the commas, if they are used. Peripherally, you may want to remove the "have", as it implies an ongoing process--as if you are continuing to build the original implementation. [Here's an article][1] with more detail. [1]: http://www.quickanddirtytips.com/education/grammar/omitting-%E2%80%9Cthat%E2%80%9D