The glue between a web sites design, content and code, is the configuration of the Drupal core. There are many ways to accomplish the same task in Drupal, picking the right one requires deep understanding of the Drupal admin interface and how best to configure it to support each client's needs. This CMS configuration for Drupal has become a discipline unto iteself called "site builders."
For example site builders split the content architecture into content types, add fields to support the design, set up blocks, design views or lists of content, enable permissions, set up menus and navigation, customize toolbars, and handle complex configuration related to content workflow. It is a highly iterative process of taking the design and sitemap and teasing out the administration/CMS components needed. There is generally no specification provided, the system is the spec, and adjustments are made throughout the build process as content flows in and the front-end development is completed.
New Drupal sites start with the installation of the “core” Drupal 7 code. This is the base set of modules that make up the heart of Drupal. Drupal core is maintained by a small group, but there are hundreds of thousands of developers who contribute work to the project, often in the form of modules that will extend Drupal’s functionality. Because Drupal core modules are the most solid, we try to keep the community-contributed modules to a minimum. However, the right community modules can enhance and speed the development process, and we are experienced in identifying the most stable, useful ones. Site builders identify and plan the correct set of modules for your site.