This year I got assigned one of the main changes to our system. The hard part was nailing down the exact requirements for what I needed to change. Once that was done, I went to town documenting a design for the changes.
The big boss told me I would do the design. But a new developer would code the changes. With that in mind, I made sure I explained a lot of details in the design.
Today I reviewed the requirements with a new developer. Then I provided him with my design document. The test was to see whether the design gave him enough info to allow him to write the code. He only had one or two questions after going over the design.
The next step is to design some of the changes the customer wanted but were not approved on the first time around. I know they are going to want everything they asked for. We just got a break in that all the changes are not due immediately. The rest of the changes will be in a staggered roll out.