Your approach looks OK, the truth table approach works for a limited number of variables, above 4 it starts getting tedious. Not to mention when you start adding storage or sequential logic.
My reference book is William I. Fletcher, "An Engineering Approach to Digital Design"