Examples of Building Block Approach
Here are a couple of examples of how programmes could be broken down.
The first example, below, shows how the core Building Blocks could be identified. In this case, there is a single delivery phase but there is a split between the Front End from the Back End development, with other building blocks for Reporting, ETL (Extract, Transform and Load), a Public facing Interface, and Third Party, private interfaces. The Reporting, and Database Building Blocks could be delivered using cloud hosted COTS products in many cases.

In the second example, there are combined teams for Front End and Back End development, but the delivery is split into two phases, with Phase 2 contracts dependent on successful delivery of Phase 1.

I