Sometimes, teams are built around a person, someone that accumulate the most part of the knowledge and who is only that feels the security to evolve a software with a huge technical debt. How can you detect it?
For sure your development is very dependent on that person, the rest of the team don’t feel the code like theirs (collective property), things broke frequently due to side effects, design decisions are not shared between all the members of the team, etc. It is all bad when the app is small but when it grows and the complexity goes up it could be catastrophic, a time bomb. The complexity a person could manage is limited, sooner or later your solo-man would be overstretching himself. Bugs will become more common and to introduce new changes will be slower, the other members of the team will get tired of to found changes they don’t agree with and they will start leaving.
Although you can think the described situation is not big deal and it is tolerable as professional, our commitment wouldn’t be to make a trade-off between the tolerable and not tolerable rather than to offer the best to resolve the problem without wasting the money of our client or company.
Be professional, be a team player.