Fundraising software has developed in the same way. In order to use it effectively, you have to learn a new language. You constantly have to translate what the system is asking of you and what you want it to do. You spend hours trying to get a report that should really only take a few minutes. Or, you are presented with fields to fill in that aren't pertinent to your organization.
Error messages pop up that are incomprehensible to the average user.
This is the way software has been designed from the start. But now there is another option. This process takes the designing of software out of the hands of programmers and puts it into the hands of people whose first and foremost priority is to think like the person who will actually use the software. In many cases, the designer is someone who has a background in the area for which the software is being designed. Programmers must be sympathetic to the nature and needs of the computer.