Don't get it twisted!
If your injection molded part is not what you expected then there are many things you may not of considered in the design stage as well as the fact it is such a complex process where many aspects can affect the part and it is hard to get it perfect first time.
Different thickness sections of a part will cool at different speeds. A thinner section, such as a rib will cool quicker than a large thicker surface. So a rib cooling quicker can twist or bend the section of the part that is yet to be fully solid. This obviously creates issues, as you want a part that is the same as the CAD and therefore needs to be analyzed before the manufacture stage to see if you could have issues with the design with a software package such as Moldflow from Autodesk (which is free for students).
A lot of the time you don't want to sacrifice the designed-in ribs and thin sections as they are normally therefore a reason. Therefore a part will be overcrowned. By running Moldflow analysis it is possible to predict how much the part will bend in the injection molding process. With this information you can then reverse the bending so ideally when the part does bend, it bends into the correct position that you want.
In a perfect world you would just want a constant thickness part. To achieve this practically you need to core out sections. Cored out sections reduce the thickness of features. Coring out is explained as well other techniques on Protomold's website. Where you can also get quotes for injection molding for prototypes (which is good for students to estimate costing for course work!)
For help with ribs and bosses, Protomold give a way a free Cube.