1.The development team should be highly professional and client-oriented.
2.New requirement may be a conflict with the existing architecture
3.There may be difficult to estimate the final coast of the project due to constant iteration
4.All of the above