1. Самопис не надо делать в принципе. Если вам надо выкопать пару кустов картошки - вы же не гребете руками потому что лопата - это избыточно.
2. ТЗ для CRM не бывает завершенным, посему - лучше подложить сена заранее и писать на фремворке, например на Yii2, или Laravel
3. Система контроля версий, например git - ОБЯЗАТЕЛЬНО!