In this phase, the first examples of solutions are derived. The Requirements Document from the previous phase should provide all of the answers as to what the project should accomplish, but it is in this phase that the development team derives how it will accomplish these things.
This phase includes the development of many prototypes, often the first merely in paper and sketches, while later ones might be more elaborate. There are often two semi-parallel tracks of development. In the first, the experience (or front-end) team is designing the interface for the experience while a programming team may be prototyping actual technology solutions. Prototypes, for the most part, are examples and not the final solution. They are usually hard-coded, that is, they don't actually work as intended, only appear to.
After the front-end interface is mostly finalized, it is time for the engineering team to integrate it into whatever technical prototypes they have been building. These technical prototypes are the results of research and development that concentrates on the back-end, technical requirements to make the front-end work properly. It is essential that the front-end development proceed before the back-end decisions are finalized.