At Ymbra we use Scrum as a methodology to work in our projects. Scrum is part of the so-called agile methodologies, which have shown significant advantages over traditional methods, mainly to get a shorter project times and a better tailored solution to the customer needs.
The keys to why this methodology provides the best results are:
Scrum is based on a holistic approach to the solution by allowing partial deliveries of fully functional software, giving more flexiblility to the development process, and allowing the customers to have better control over the outcome. The Product Owner is the Scrum team member who liaises between the client and development team, and the representative of their interests in the process.
The client has control of the project, coordinated with the Product Owner, based on a series of tools, onsite and online, so you can keep track of tasks performed and pending changes, consumption of hours, budget monitoring, etc..
In addition, Scrum is ideally suited to development with Drupal, allowing to take full advantage of this platform.
Software development, especially in customer tailored systems, is a creative process, with some research component. We can not predict exactly how long the development of "Feature A" may take. You can make a prediction, a guess, but it is just that: an estimate. This is especially true when we consider the limited information of each feature is normally available at the beginning of the project.
A developer knows that, however much time is invested in the initial functional analysis, the possibility of slippage between what is beign developed and what the client imagines or ultimately desires, can be great. This usually leads to an overestimate of the tender process (estimate in excess to minimize the risk).
Scrum optimizes this process by minimizing efforts and adjusting the functional results and budget to client needs.
Although you can use this methodology for fixed-price projects, it is especially efficient in projects that allow some variation in costs depending on work actually performed. Because the client needs to work on the basis of a budget, we establish metrics and formulas so that any differences and changes do not mean to avoid supplier's responsibility to adjust the timming and get the results. On the contrary, we make both the customer and the supplier benefit from the best result at the best price.