Every website or project I take on, I am personally invested in it's success. I care deeply about the software I build and ship. This is why I have put together a guide of sorts, so that you can get an idea of my process. Honestly, I've had my share of successes and failures, and it's normally the same situations over and over that cause problems.
New Drupal Builds
For new projects where I am able to lead the Drupal architecture and also do the visual design I am able to offer fixed project quotes.
Generally this involves several upfront meetings where we discuss your business requirements and I loosely architect the websites structure and functionality. This functionality is provided in a fixed quote that contains detailed line items for all work and the more difficult custom requirements are also quoted as their own line items. This allows you the client to make clear cost/benefit decisions about the features you need to achieve your MVP and control your budget and timeline.
New Drupal Builds (With Existing Visual Design)
Sometimes clients have already started the wire-framing and visual design phases. I will work on Drupal websites where the design has already be completed only after evaluating the designs and speaking with the design team. It's important to me that I am working with a team that will be collaborative during development.
Here are some scenarios I've seen that can cause problems during development.
The designs are done by people who are not familiar with Drupal
Drupal is kind of an opinionated platform and of-course it's also a content management system. I sometimes see designs that do not play to Drupal's strength's. Or worse, they completely contradict what Drupal is capable of. These designs can create huge sinkholes which the client end's up trying to fix with expensive custom development.
This is not to say that difficult and custom designs are not possible in Drupal. My point is that with a meeting where I can provide feedback on the designs and have both the client/design team take my feedback seriously it can almost always save the project thousands or even tens of thousands of dollars.
The designs often infer additional functionality that is not clearly defined elsewhere
What appear to be minor UI components or page layouts may require a lot of extra development work under the hood. So it's important to surface these prior to development and understand if these features warrant the additional cost and complexity. Perhaps an equivelent user experience can be achieved by changing aspects of the design, at a stage where changes are much cheaper.
Designs create expectations.
Often the design has been through many rounds of revisions and both the designer and project owner/client are already heavily invested in the "final design". This can create an expectation that the website will be exactly like the static mockups and the truth is it's only the first phase of the project.
When the reality of developing the actual website hits many parties lose their flexibility and are unable to iterate on the visual design. I recommend that the visual designs are seen as a high fidelity prototype with room to evolve. The web is it's own medium, it is not static, nor pixel perfect (especially with responsive designs and browser/device compatibility) If you can trust your developer to make recommendations and help you evolve the design during the build stage I guarantee you will achieve a better user experience, a better product and you will be far more likely to deliver on time and on budget.
Custom module development
I offer a free consult to understand the business or feature requirement. If I feel the scope is clear I can offer an estimate of hours. This is not a fixed quote. I will do my best to complete the work on time and I often work extra hours without charge.
If the work turns out to be legitimately more complex (which it often does) I will communicate this and let you know that more hours will be needed. At which point I will track my time and bill my hours on a weekly basis.