The Schur class, denoted by \({\mathcal {S}}({\mathbb {D}})\), is the set of all functions analytic and bounded by one in modulus in the open unit disc \({\mathbb {D}}\) in the complex plane \({\mathbb {C}}\), that is $$\begin{aligned} {\mathcal {S}}({\mathbb {D}}) = \left\{ \varphi \in H^\infty ({\mathbb {D}}): \Vert \varphi \Vert _{\infty } := \sup _{z \in {\mathbb {D}}} |\varphi (z)| \le 1\right\} . \end{aligned}$$The elements of \({\mathcal {S}}({\mathbb {D}})\) are called Schur functions. A classical result going back to I. Schur states: A function \(\varphi : {\mathbb {D}} \rightarrow {\mathbb {C}}\) is in \({\mathcal {S}}({\mathbb {D}})\) if and only if there exist a Hilbert space \({\mathcal {H}}\) and an isometry (known as colligation operator matrix or scattering operator matrix) $$\begin{aligned} V = \begin{bmatrix} a &{}\quad B \\ C &{}\quad D \end{bmatrix} : {\mathbb {C}} \oplus {\mathcal {H}} \rightarrow {\mathbb {C}} \oplus {\mathcal {H}}, \end{aligned}$$such that \(\varphi \) admits a transfer function realization corresponding to V, that is $$\begin{aligned} \varphi (z) = a + z B (I_{{\mathcal {H}}} - z D)^{-1} C \quad \quad (z \in {\mathbb {D}}). \end{aligned}$$An analogous statement holds true for Schur functions on the bidisc. On the other hand, Schur-Agler class functions on the unit polydisc in \({\mathbb {C}}^n\) is a well-known “analogue” of Schur functions on \({\mathbb {D}}\). In this paper, we present algorithms to factorize Schur functions and Schur-Agler class functions in terms of colligation matrices. More precisely, we isolate checkable conditions on colligation matrices that ensure the existence of Schur (Schur-Agler class) factors of a Schur (Schur-Agler class) function and vice versa.