Vision = reality
With the project successfully prepared, development can begin. The purpose of the development phase is to build software that meets the scoped requirements, in a manner that delivers value early and often to the customer. The development of a product can commence at any point after the scope has been fully delivered.
The cycle is comprised of many iterations which continue until development has been completed to the product owner’s satisfaction. Every iteration includes meetings, checkpoints and software releases to ensure the delivery of functional software and keep the customer satisfied.
The development workflow is underpinned by many product iterations that result in a releasable product version, typically called a build. An iteration is a short, time-boxed period when a delivery team works to complete a defined set of requirements. Iterations generally have project related goals associated with them, but in general should deliver an increment that can be used and tested. Defining the work to be completed during an iteration, called the iteration backlog, is a shared responsibility between the product owner and the delivery team.
The length of development varies between projects and depends heavily upon the scale and complexity of the solution. As mentioned, there is a preference toward shorter scopes, which tend to create smaller and more manageable development cycles. Reducing the size of a build not only allows for increased certainty around estimations, but also lets the Product team incorporate user feedback into subsequent scopes.