CiviCRM is open source and thus the implementation, provision of service and customization depends upon the expertise of the developer selected to implement the project. We went with a "Local" web development company that indicated expertise in CiviCRM -- in the end their expertise was limited, which resulted in delays and many, many problems. We have since changed developers to implement an upgrade and add several new modules selecting a company closely involved in the ongoing development of CiviCRM.