Why we avoid Fixed-Term Contracts
Over our many years in developing software, we've learned a lot, but one of the biggest conclusions we've come to is this: no one can predict software development. In fact, we think the more you try to predict what a piece software will be, how it will look, or what it will do, the worse the software turns out. This philosophy is behind a lot of modern software design principles such as those practiced in Agile development. It's more important to develop iteratively and get feedback than to try to predict lengthy development through assumptive documentation.
We believe highly in the MVP (Minimum Viable Product*) philosophy where we develop small incremental releases of software with a focus on getting something in the user’s hands as soon as possible. That way we can observe and gather feedback on how to further develop the software.
As such, we avoid fixed-term, fixed-deliverable contracts as much as possible. BiteSite believes that the best way to develop software is to use a Time-based billing system. Our contracts are open-ended with an hourly rate. Concretely, we set up $150.00/hr + applicable taxes contracts with pretty minimal terms.
To be clear, we can work with a fixed budget, but we don’t like to promise exactly what you’ll get for that budget. Trying to predict exactly what needs to be developed relies on a lot of assumptions and leads to poorly developed software and a lot of times, wasted time, effort, and money.
Our contracts are laid out to be very flexible in this regard. If a client sees 2 hours of our work and is unhappy, they can end it right there. If we discover that half way through development, the users want something completely different, we can pivot.
That’s why it’s also important that with a flexible contract and no fix terms, we have honest, open, regular communication. Regular communication allows the client and BiteSite to control costs, use development efforts in the most efficient way possible, and allow for the flexibility that good software development demands.
Now we know telling the client - "Let's just see how things go, and you pay us $150.00/hr every month" is not very helpful. Clients have fixed budgets and concerns about what they get for their money. As a result, in early stages, until we earn the trust of our clients, we provide estimates and explain work before we just begin. We'll also constantly check-in to work within clients' budgets to ensure they are happy.
There is also an unspoken rule that BiteSite developers, designers, and managers, will do their best to maximize the client's dollar. We're really in this together and if clients are not happy with what we produce, then they'll stop working with us, and we'll be without work.
Throughout, we strive for open, honest, and frequent communication so that clients are never surprised what they pay.
As mentioned above, our contracts are structured to be open ended with time-based billing. We feel that this is a good way to take a very low risk start to all projects.
The reality is, it's very hard to predict how well we'll get along with the client and vice-versa. Whether it be personalities, working style, or environment, there are a lot of factors that have to line up for a successful project. With our contract structure, we believe it's easier to try things out for a little bit and if things work out, we continue, if they don't we stop. Simple as that.