One of our challenges involves the creation of budgets for custom web application budgets. The reason is that web development is, basically, unpredictable. There are typically three elements to web application budget development: database expense, application expense, and UI (user interface) expense.
The most straight-forward of the three is database expense. The rules, roles, and execution of database code is fairly predictable. The interaction between application code and the user experience is a completely different animal, and not for reasons you might assume. Our biggest challenge in this area is keeping our client on track with the original specification.
Often, as we develop and deliver custom application code, our client(s) will think of new things to add, change, or eliminate. Now, keep in mind that our work Agreements include a design, feature, and engineering freeze clause, including dates related to the overall project. At the same time, our job is to satisfy each client with the best possible solution. In many cases, these individuals aren’t experienced with application development, so their eyes are their biggest connection to the code they thought they were going to see. Often, what is delivered inspires them, and as such, they want changes – and they want those changes included in the original spec budget.
For our team, the key is often to spend some extra time in the pre-production phase of the project. On occasion, we’ll even add a separate “pre-production” design phase to a budget, so we can work more closely with the client to ensure there are fewer changes as the project moves forward. Even so, there are times when clients want to make changes, regardless of how the preparation process was developed. And, while it is often an opportunity to add revenue to a project, the end-result is delayed, and that has a cost to both parties.