What is conceptual Integrity ?
Conceptual integrity is a principle in which if you look at a software/system, you can tell that design is being proceeded from one mind or from group of similar minds. In order to implement a better overall design of a software conceptual integrity should always be there. There might be situations in which certain feature and improvements needs to be omitted which are anomalous in nature in order to reflect one set of design.
This includes low-level issues such as formatting and identifier naming, but also issues such as how modules and classes are designed, etc. This is vitally important because inevitably unanticipated issues come up that must be resolved quickly. If there is a coherent design to the system, it can be much easier to resolve these issues by determining what would be consistent with the overall design, especially if the other designers are not present.
A system must have a powerful metaphor that is uniformly applied throughout a system.
Imagine a software in which all people from team applies his/her brain which are not in resonance or in other words don't think similarly, the
software will have a lot of pieces of different systems which won't integrate with each other and hacks would need to implemented in order to fit these un-matching pieces together.
This also doesn't mean that the entire team shouldn't be part of Design and Analysis phase. The role of Architect is important but including entire team gives a lot of better quality to analysis and new ideas in which something better can be implemented, The role of Architect here is to refactor these ideas such that conceptually all pieces should look like they are part of same design. On the other hand team must be open to criticism and there must not be any ego in members [Egoless programming] if idea's are rejected.
All the team members should understand this principle in order to build better systems which can prosper for years even if that means all their great ideas are being rejected. The idea can be revolutionary but if it's not fitting the system it has to be dropped.
Whenever a system is being built for years there are situations where the Project Managers, Architects keep on changing and with this change new ideas comes floating in, If the ideas are not similar to overall design there might be situation in which the complete project is being built upon from scratch again and again and making the already developed system obsolete. This is a disaster for software industry and startup's these days are facing something similar. I too worked in a project which is being built from scratch for 7 years and is still being built, each year from scratch. In order to avoid such scenarios the Architects and Project managers should understand the already built system and sacrifice some of their ideas to maintain the one and only required feature Conceptual Integrity
Everyone has to sacrifice some of his/her own ideas in order to achieve conceptual integrity