Two algorithms, the $R$-process and the $Q$-process, are presented which can be effective tools for determining the estimable contrasts in a classification model. Both algorithms operate on the incidence matrix of the model as opposed to the design matrix. If the model is partitioned as $E(Y_u) = h_u\cdot \xi + t_u \cdot \theta, u \in U$, the $R$-process produces a spanning set for the estimable $\theta$-contrasts (i.e., contrasts involving only $\theta$ parameters) whenever the set of distinct $h_u$ vectors is linearly independent. If the distinct $h_u$ vectors are dependent, the $R$-process is still useful and often simplifies the problem of obtaining a spanning set for the estimable $\theta$-contrasts. After the $R$-process has been applied in a case when the distinct $h_u$ vectors are dependent, the $Q$-process produces a spanning set for the estimable $\theta$-contrasts provided a partition $h_u\cdot \xi = f_u\cdot \phi + g_u\cdot\omega, u \in U$, can be made such that the sets of distinct $f_u$ vectors and distinct $g_u$ vectors are both linearly independent. As examples, the $R$-process is used to investigate the additive two-way model; and the $R$-process and $Q$-process together are used to investigate an additive three-way model, a two-way model with interaction, and a Graeco-Latin square model.