Design the processes that are necessary to validate, process, extract, and format data for the desired output. In earlier steps, these processes can be defined as "black boxes" with specified inputs and required outputs, but without overdue regard for the details of the internal processes. This allows us to work on the several preceding definitions and design steps without being sidetracked into the inner workings of the output-related processes.
These processes are the cogs and gears of the functional application. They are necessary, but often not pretty. By leaving the design of these processes in the application design as late as possible, we increase the likelihood that we will be able to create common routines and standardize how similar tasks are handled across a variety of parent processes. At this point, we may identify opportunities or requirements for improvement in material that was defined in a previous design step. In that case...