Для того, чтобы программы не были корявыми, нужно для каждой фирмы писать свою программу...
Всем угодить очень сложно...
Есть фирмы, которые так и поступают, но в конце концов это заканчивается тем, что через несколько лет программист уходит на поиски более длинного рубля и проект затухает...