Why is so much software so bad?