Web development clients often want a set price for a set scope of work. But project scopes are always changing. Here’s how charging for pre-paid chunks of developer time can benefit both clients and developers.
Charging a set price for a set scope is a holdover from the Waterfall method of project management, where each successive step of a project is dependent on completion of previous steps. Waterfall makes sense when a project’s scope is set in stone- literally. It is perfect for construction projects that require multiple sign-offs before the foundation is laid, after which any changes to the blueprints can throw a project off course. You cannot erect the frame without the foundation; cannot put up the drywall without the frame; and so on. So it makes sense to pay for the completed project given all the requirements are known from the start.
For the equivalent in web or software development, blueprints correspond to software requirements specifications to which developers must strictly adhere. Any requests for alterations by the client will require change orders which will likely result in negotiations for extra fees and/or turnaround time.
Change being the universal constant however, this is a recipe for either death marches or constant haggling, leaving everyone involved annoyed at best. This seems unnecessary for software development projects where changes can often be made without having to start from scratch.
Enter Agile. Agile is a project management methodology that was created specifically for software developers to address this and other concerns. It takes into account that software projects are often fluid, with changing business conditions, user preferences, technologies, and so forth. What starts out as a photo sharing app might become a dating service when the company decides to pivot based on how people are using their app. Change is assumed and embraced.
Nevertheless, many web development agencies will charge by the project even as they espouse Agile as their project management methodology. This is likely because clients hate paying by the hour. They are afraid of runaway costs that they cannot accurately estimate.
And it doesn’t help that business “gurus” have been suggesting since time immemorial that contractors charge flat fees as a way to maximize profits. This works well for businesses like locksmiths who do many small, similar jobs that don’t take long. Can you imagine if a locksmith told you she charged by the minute?
But given the nature of web development, where even the most static of brochureware websites can go through dozens of iterations before and after launch, where project scopes are often amorphous at best and often downright plastic, it often makes more sense to bill for developer’s time- which again, clients hate.
How then to bridge the gap between the two parties billing preferences? Here’s where having clients pay in small pre-paid chunks of time reduces risk on all sides, benefitting everyone involved. Clients and developers can feel one another out by starting with little commitment, and low stakes. By working collaboratively in small doses, clients can gauge the velocity of a project and keep an eye on their budgets.