For reliable project management it is necessary to create and to manage contingency reserves (buffers). If your software includes risk management capabilities and calculates required contingency reserves then use Success Driven Project Management (http://spiderproject.com/images/img/pdf/SDPM%20Approach%20to%20project%20planning%20and%20performance%20analysis.pdf).
But if you manage your projects without the software then CCPM is fine. You will create some initial schedule and add buffers to keep it stable. And then instead of rescheduling you will consume buffers. Easy and nice solution.
And of course in any case resource constraints shall be taken into account. So CPM is not the right term because classical Critical Path Method does not consider resource constraints. Good schedule is leveled and Resource Critical Path (or Critical Chain) replaces classical Critical Path.