4) Disagreement between the design documents and the
implemented code: During the design phase, we carefully
designed the software architecture to support efficient
distributed development. However, design changes
frequently since our project is in its research phase. Without
effective sharing of up-to-date design documents,
developers may work on programming based on incorrect
design information.