Another disadvantage is that the architecture of the first version of the system must support the changes introduced in each cycle. Otherwise you will have to redesign your system completely, however the experience of earlier cycles is very valuable input when doing this.