Reading this daily WTF: The Customer-Friendly System I'm struck with how much wasted money companies pour into systems designed so "non-technical" employees can update/alter/re-engineer technical systems.... I propose that 90% of the time is easier, cheaper, and faster to simply bring in people with real skills to actually maintain real systems.... (and if your IT/DEV department is not skilled enough? Find people who are!)
Now don't get me wrong, I'm not saying hard-code every web page and screw pulling content from databases.... But when the system created to be "easy for non-technical people to build and maintain" ends up needing considerable specialized skills in "The Tool" then you've gone down a deep dark rabbit hole....
The dividing line as I see it is business rules: Business rules essentially boil down to process flow and logical operations. Technical people do not necessarily know the business rules for whatever applications they happen to be creating; business people know those rules, but don't have the technical skills to code the system. This is what Requirements are for, but rather than encourage effective communication, lead projects productively, and recognize that any system built will need ongoing technical maintenance and updating; many companies go down this path of creating a system whereby the business rules can be stated "easily" by the business people and directly entered into the system, like content. Except rules are not content; rules are logic, and business people don't always think logically.
There are systems where business rules can be created in simple english phrases and then are automatically translated into updates to the system. But these systems are in their infancy, and it is very difficult to combine enough power, flexibility, and performance into these systems. Maybe someday, but not today. Today it is vastly easier to have good, skilled technical people, and good skilled technical project leaders convert business requirements into technical implementations.
-A