I do something similar for my games:
1: All abilities start at a score of 10.
2: Apply any racial ability bonuses and penalties. These become the base scores for that race.
3: Give players X points to distribute among them.
4: Scores may be lowered or raised as desired to a maximum of the base score +/-6.
3: At least two ability scores must be odd.
I also usually remove one -2 ability penalty from each race, then give all races without penalties (Humans, Half-elves, etc.) a +2 racial bonus to one ability of the player's choice. This is to demonstrate such races' diversity and give them a chance at getting an 18 in one score. Naturally, I lower the number of points I give out to compensate.