In 1975, American pediatrician John Gall published a short, ironic book about how systems are organized and how they fail. The book was written almost as a satire, but one thought from it outlived everything else and is now known as Gall's law: “A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.”
It sounds categorical, but the logic behind it is simple. Any system lives in an environment that cannot be completely predicted on paper: people do not behave as expected, data turns out to be messier, and there are more exceptions than rules. A simple system encounters this quickly and on a small scale. It is easy to adjust, and each correction is backed by real-world experience. A complex system, designed entirely in advance, encounters everything at once. Errors within it are intertwined with one another, making it unclear which specific part is broken and why.
That is why working complex systems are usually not designed, but grown. First, something small but actually used appears. Then it gradually becomes more complex—just as much as practice requires.
In HR, Gall's law is constantly violated. A company decides to implement grading and immediately builds a comprehensive system: twenty evaluation factors, all positions, linkage with compensation, KPIs, talent pool, and training. The project takes a year. By launch, the organizational structure has already changed, managers do not understand the evaluation logic, and the system lives in reports, but not in decisions.
The same thing happens with forty-item competency models, performance evaluation systems with complex bonus formulas, and HR platforms that are implemented “across all modules at once.” The more complete a project looks on paper, the higher the chance it will not work in practice.
What helps
Starting with a minimal version that solves one real problem. For example, grading a single function or a single level rather than the entire company at once.
Launching it into operation as early as possible and observing how it is actually used, rather than how it was planned to be.
Adding complexity only when the simple version hits a real limitation, not just because “it would be more proper that way.”
If a large system is already failing, do not try to fix it endlessly. Sometimes it is more honest to return to the simple core that is actually used and grow the system anew.
A good HR system is not the one described most comprehensively in a presentation. It is the one that started working before anyone had the chance to overcomplicate it
