Developing Front-to-Back is a strategy that we like to use on existing codebases (and sometimes new ones), where we start at the most visible and immediate to the user - the design, then proceed to front-end development, and then eventually do back-end development last.
What this does is allows Design and Front-end Development to set the data structure that they prefer when building the front-end, ensuring that data's cleanly formatted.
The front-end can be delivered in a fully completed state, meaning that all markup, CSS and JS are 100% finalized and ready for launch.
Whenever we want to get information from the CMS/Backend of the application, we "stub" that content in, or make static, pre-formatted information come from the controller, with the intention of having another developer properly hook up the backend logic later.
Once we receive a finished front-end, the job of the backend developer is then to find the stubbed content, and replace the static values with dynamic information coming from the back-end or CMS.
We follow the examples above to replace all of the stubbed content with real, dynamic content. Once that's done, our job is complete, and the app should be pretty much ready for QA.