* The evolution of a cracked elastic solid is governed by the time-continuous minimization of the total energy functional. Three strategies are presented for the solution to the discrete fracture growth problem; these are based namely on: (1) load-control, (2) fracture area-control, and (3) on the energy gradient. We cover the advantages and limitations of each scheme and remark on the type of fracture problems that can be solved by each scheme. * A step-by-step procedure is presented for algebraically computing the derivatives of the potential energy of the mechanical system with respect to the crack tip positions within the XFEM framework. We verify the good accuracy and robustness of the proposed implementation in contrast to the solutions obtained by finite-differencing the potential energy. * We analyze another solution strategy to tackle the difficult case of competing crack growth in the case of an unstable fracture front configuration, i.e. a non-convex energy function. We show via the solution of several fabricated benchmark test cases that solutions are possible in the discrete framework even if constrained to fixed-length crack tip extensions. * Finally, we make available the open-source Matlab code including documentation, benchmark and example cases as supplementary material for the verification of our results and with the hope that the code can be useful in general.