People offering services in this area have to be well trained and experienced ... because the product is so flexible, and there are different ways of doing things, you can make a great job or a right royal stuff-up. But that's no different than with any other software development environment; if a developer gets the constructs and underlying logic wrong in a C++ project, it won't work as to specification and the users will be most unhappy. Due to the rapid application development environment, Notes/Domino do have some redeeming factors over say C++, but nonetheless, if the underlying data model is wrong from the word go, it is expensive and time consuming to find redemption.This statement couldn't be more accurate nor more frustrating. If it's so easy to screw up other platforms and even harder to fix them when they are screwed up, then why does Notes/Domino get such a bad rap? Is it due to it's ability to adapt easily and therefore it should have been done right in the first place? Or is it because, unlike with a lot of other languages, developers of Notes/Domino applications have to be part business analyst, part systems analyst, part developer, part designer, and part trainer. I can't say as I have ever met a VB or C++ developer that does all the requirements gathering, developing, and training for a given system. They may actually do this sort of thing, but not at any of the companies that I have worked at.
In the end, it is important that you understand how essential your roles as a Notes Developer is to the success or failure of the platform at your company. While at times it might seem unfair to ask so much of just one person, think of the opportunities you have to shape the way your company does business for years to come.