So often: 1. The team is going slow because the code is to hard to work with 2. The code is hard to work with because the team went too fast
Software isn't construction—no one knows enough up front. Software isn't craftsmanship—no two apps are alike. Software is risk management.