Why choose Off-the-shelf Software over Custom Software?

business custom software

For those who don’t know, my name is Casey Li, and I run a business that provides Custom Software services. So it might be a bit strange to see an article from us that talks about why you should NOT choose Custom Software.

However, the reality is that a lot of times when we talk to new customers, we recommend that they go with a solution that we cannot provide. We believe that if we try to sell everyone on Custom Software - even to the ones that it doesn’t make sense for - then not only will they suffer, but we will too. They will end up spending too much money and time and end up with something that they are not happy with. Meanwhile, our team will consistently fail to meet expectations and sour the relationship.

With that, I’m writing an article on why it’s best to consider one of the alternatives: Off-the-shelf Software.

What is Off-the-shelf Software?

There are other names for the type of software that we are calling “Off-the-shelf Software”. Some people call this “Commercial Off the shelf software” and we’ve referred to it as “Mass Market software” in previous articles. What it boils down to is software that is already made and available to use for the public.

Nowadays, most of the time, this takes place in the form of something you can easily buy online and either download to use, or simply use through a browser like a website.

Examples of Off-the-shelf Software cover a wide range of uses. They include Microsoft Office, GMail, Quickbooks, Spotify, Adobe Creative Suite, and more.

Generally speaking, if you can go online and purchase it (or use it for free), you’re most likely dealing with Off-the-shelf or Off the shelf software.

What is Custom Software?

Custom Software, on the other hand, is software that doesn’t exist yet. It’s software that you pay someone or some organization to build specifically for you to solve your problem.

What can Off-the-shelf Software do for your business?

Why are we even talking about this in the first place? Usually when you’re considering your options like Off-the-shelf Software or Custom Software, you’re usually looking to solve a problem. Very commonly, you run a business and you’re looking for some tools to help your business.

You might be looking for some software to manage your accounting - something that can keep track of your expenses, invoices, and time tracking. You might be looking for something to manage your staff’s schedules. Or maybe you’re looking for software to run email marketing campaigns.

Either way, most of the time you’re looking for something to augment your business and the reality is, if you have a problem to solve, there is a very high likelihood that someone has built software to solve it.

Why choose Off-the-shelf Software over Custom Software?

Ok, so now that you know what Off-the-shelf Software is and what it can do for your business, what are some of the reasons you would choose it over Custom Software?

Timing

One of the best things about Off-the-shelf software is that it’s available right away. If you need to solve your problem today, or just want to try out the solution, you can start implementing your solution today. In fact, most web applications today can be set up within minutes.

For example, you need an invoicing system, you could easily sign up for an account on Waves (https://www.waveapps.com/) or Freshbooks (https://www.freshbooks.com/). Within minutes you’ll have access to a very powerful invoicing tool.

If your problem is urgent, or time sensitive, or you realize the importance of moving fast on a solution - then off-the-shelf software is probably right for you.

Price

Companies that build off-the-shelf software typically rely on economies of scale and not relying on a one-to-one relationship between the hours spent building it and the money they are charging for it. As a result, most of these companies are able to charge a very reasonable price for a very powerful piece of software.

For example, let’s take Figma (https://www.figma.com/) as an example. Figma is a very powerful tool that lets designers create wireframes and user interfaces. Figma starts at $0.00/month and only goes as high as $45.00/month. For what you get and for what you can produce, this is quite cheap.

What’s more, is that a lot of these services and platforms price their software per user or per usage. What that boils down to is, the more successful you are, the more we’ll charge you, but that also means, if you’re small today, we’ll charge you less.

So not only is paying to use off-the-shelf software generally cheaper than building your own custom solution, it’s also generally cheaper to try out.

In some cases, the costs savings can be quite substantial.

Feature Set

This kind of goes hand in hand with Timing and Price. While Custom Software can get you all the features you could ever want, Custom Software is built from the ground up which means it can take a lot of time and money to get those features built, up and running, and ultimately to a state where they are operating well.

On top of those exciting new features that you want built that Off-the-shelf software doesn’t offer, even basic functionality that you’ve come to expect can take some time to get in there. For example, a sign up and sign in screen, a forgot password screen - all the things you take for granted in software you use has to be built up.

Off-the-shelf software has typically been around way longer than a custom solution and is built by a bigger team. With that, they are usually much richer in functionality at the start. As soon as you sign-up, you’ll probably have access to hundreds of features whereas with Custom software, these features are slowly built over time.

Quality

This argument can be made for either Custom Software or for Off-the-shelf Software. However, all things being equal, Off-the-shelf Software being typically built by bigger teams and tested by more people can lead to higher quality software. Some off-the-shelf software is built by the best software teams in the world and as such you might get access to some of the best software in the world.

Some other things to consider So we’re really starting to make the case for Off-the-shelf software. However, if you’re still not convinced, here are two more things to consider.

One, as we have written about before, if you’re trying to decide between the two, it’s usually a good idea to try out Off-the-shelf software first. It’s usually quite cheap and a lot of the offerings have a free trial.

Two, you should consider that it’s not necessarily all or nothing. There are a LOT of Off-the-shelf software solutions that offer integrations, APIs, and more to allow for a large amount of customization. For example, Wordpress can be considered Off-the-shelf software, but it offers a lot of customization options that allow the best of both worlds.

The right solution for the right problem So, yes, Off-the-shelf software has a lot going for it and like I said, we recommend it a lot. In fact, we use a lot of off-the-shelf software to run our business. However, it’s not always clear cut. What it comes down to is there is a place and time for each and it’s about determining whether or not your problem merits one or the other.

Even though I think most people would have considered the Off-the-shelf software option already, we thought we’d shed some light on the reasons you should choose it.

Photo Credit: Andrea Piacquadio from Pexels

Casey Li
CEO & Founder, BiteSite

SMB Productivity Tools

business software productivity

Everyone loves tools that make life easier. Although phone calls and paper agendas can still be quite useful, there are many alternatives you can use in their place.

Here are some productivity tools we have had success with at BiteSite that you should try yourself. These tools are not limited to developers; they can be used by any type of business or for personal use. There are many tools for productivity as a developer but they have been excluded from this list.

Note: These tools have many features not mentioned. I have focused on the features we use at BiteSite.

1. Slack

Slack is an application used for communication with others through the use of instant messages. This can be used between team members, clients or anyone in a workspace you are a part of.

How does it increase productivity?

Slack organizes your communication and keeps everything in one place. It does this by using a system of workspaces, channels, and threads.

Workspaces are the highest level of categorization. These contain multiple channels.

Channels are group chats that separate the conversations between team members. If these channels are used properly the conversation in a channel should only be related to its topic. This makes communication more organized; especially in the time of remote work. Users in a channel can tag all users or individual users to notify them of a message. Channel members can turn off all non-mention notifications so they are not bothered by conversations where their input is needed. If a channel member needs to get their attention they can be notified via a mention.

Within the channels, sometimes there can be more than one conversation happening at a time. This is where threads can be used. The threads are great to keep topics separate from each other without interrupting a different conversation.

This structure can be confusing at first but the UI presents everything in a way that is easy to understand. This makes it easy to find information from previous conversations and have quick interactions with others.

Website: https://slack.com/intl/en-ca/

2. Trello

Trello is a task management tool in the form of a Kanban board. If you aren't familiar with Kanban boards, picture a whiteboard with multiple columns where each represents a state that a task can be in (todo, doing, done, etc). These columns contain multiple sticky notes. These sticky notes are tasks to be completed. As the task moves throughout the different states while being completed it’s sticky note is moved throughout the board.

How does it increase productivity?

Trello provides a visual representation of everything the team has yet to do, is currently doing, and has done. This keeps the team's collective work organized. Trello also provides the ability to customize your board with Trello Power-Ups. These allow you to have features on your board that do not come native such as integration with Google Drive or Slack. It’s easy to see how this can increase productivity because your work environment can be connected to your product management board.

Website: https://trello.com/en

3. Google Meet

In the current times of working from home, video conferencing is extremely helpful for communicating anything over a few lines of text. Google Meet provides in browser video conferences that can be joined with no extra setup other than clicking a link.

How does it increase productivity?

This increases productivity by allowing many more options than its alternatives. Text with images take time to type out and format, phone calls only allow verbal explanations, and a screen recording doesn't allow real time interaction. Video calling has all these features and more. You can explain the topic through speech while sharing your screen and anyone in the call can speak up just like an in person conversation. This all happens while viewing the other person to note body language and non-verbal communication cues. A five minute call can replace fifteen minutes of back and forth messages.

Website: https://meet.google.com/

4. Google Calendar

Another part of the Google Suite we use is Google Calendar. Events can be created and added to your calendar with a Google Meet link in the email invitation. Since this is accessed from a browser your calendar can be viewed from anywhere.

How does it increase productivity?

Besides keeping your events organized and accessible from anywhere you have access to the internet, the feature I like the most about Google Calendar is its ability to add a notification for a set amount of time before the event start time. This ensures I’m notified of an event before it happens so I can be prepared.

Website: https://calendar.google.com/

5. FreshBooks

FreshBooks is the accounting software that we use at BiteSite. The main feature used is the time tracking. This is from the perspective of an employee but there are many other features used for invoicing, managing expenses, etc.

How does it increase productivity?

The time tracking feature of this software is the feature that saves the most time. As a service company, billable hours are tracked to be able to keep records of time spent on different tasks. FreshBooks makes this trivial. The user starts a timer with the click of a button when they start their task. This timer continues until the user presses stop. The stop button logs the exact time spent on the task with a description entered by the user. The software automatically calculates total billable hours by day, week, or month. There is no need to wonder how long something took to complete anymore. FreshBooks does it all for you.

Website: https://my.freshbooks.com/

Photo by Cesar Carlevarino Aragon on Unsplash

Chris Francis
Software Developer, BiteSite

Custom Software - Software Built Specifically to Solve Your Problem

business software

So we’ve written many articles about Custom Software. We’ve talked about what it is and what the pros and cons are, but we’ve only scratched the surface.

As we’ve mentioned, Custom Software is software built specifically for you. When you’ve tried existing solutions and they didn’t fit your needs for whatever reason, Custom Software is definitely an option to consider.

Let’s take a concrete example. Let’s say you want to build a website, and you’d like to be able to manage the content on it. So you go out and you try all the industry leaders: Wix, Squarespace, Wordpress. As you use these, you might start to think “Hey these are great, but there are some key features that are missing that would be perfect for my business.” At that point, Custom Software is something you might consider.

The hidden message in “Custom Software is software built specifically for you” is that “Custom Software is software built specifically to solve your problem”.

Let’s examine that a bit more closely.

The problem with Mass Market Software

When people come to us, professionally or for friendly advice, we usually recommend mass market software. Mass market software is generally very high quality, feature rich, and cheap. If you look at software like Wix, Shopify, or Freshbooks, you can generally get started for as low as Free and only go as high as maybe hundreds of dollars a year. In the grand scheme of things, you get a lot for your money. For the most part, and for most people, mass market software is the way to go.

However, it’s not for everybody.

The main problem with mass market software is that it’s designed for the mass market. Product companies, rightfully, design their software to satisfy 90% of the market and do a great job at it. The issue is that there is still that 10% whose environment is different, whose problems are different, and whose lives are different.

There are a myriad of reason why you might fit into that 10%. Perhaps you’re in a very niche industry. Perhaps you’ve invested in legacy software that you want to continue to use. Perhaps you’re pushing the boundaries and doing things that no one else has done before. Whatever the reason, if you’re in that 10%, mass market software might not cut it.

Why isn’t there Mass Market Software to solve my problem

So then you may ask, well I’m among a bunch of people who need this problem solved. Why hasn’t anybody solved it yet? Well it comes down to company strategy and creating a successful business. Think about it. If you were building a company and you did some market research and you found that 90% of people deal with Problem A and 10% of people deal with Problem B - who would you go after? Naturally you’d pick Problem A.

So that’s why generally if you find yourself in the 10%, you might not find any mass market software to solve your problem.

What do you mean it’ll solve my problem

We keep talking in high level terms here that Custom Software is designed specifically to solve your problem. However, it can be abstract, so let’s take an example.

Let’s go back to the example of building your own website. Let’s say you try these “built it yourself” programs and let’s say you are creating some kind of booking system. For example, perhaps you are a plumbing company and you want to build a form where people can book appointments.

So you build a form and people start filling out the form to book appointments. As you start to use it, you realize that it would be really beneficial that if someone booked an appointment for today, that any plumber that’s already out in the field be notified. So you enable that feature and emails start going out to the plumbers who are on duty.

Then you run into a problem.

You realize that the plumbers you have on duty are not actively checking their email on their phones. They are busy driving and doing jobs. You find that they respond best when the phone rings.

So they you think “It would be great that if someone booked an appointment that was specifically for today, that it would call a list of phone numbers and leave an automated message”.

This might be exactly the type of problem that no one has solved yet or no one has built for the platforms you’re dealing with.

You deal with this problem because of the industry that you’re in and because of the way your team operates. Rather than get your team to change, you could build software that works well with the dynamic you already have.

To be honest - this is the flow that we typically recommend for people. Try something out like mass market first, and if you really find it doesn’t suit your needs - custom software is a good consideration.

Sometimes it’s more than just features

Sometimes custom software is not just about implementing features that don’t exist. Sometimes it’s about tailoring an existing feature to suit your needs.

Perhaps some mass market software does indeed solve your problem, but it’s clunky, or the interface has too many steps or clicks or taps to execute what you want to do. You want to make it easy on you and your staff so you get a Custom Software shop to build you that same feature but with an optimized user experience.

The other thing is, Custom Software also gets rid of the clutter that can overwhelm you, your staff or your customers. Because mass market software is catering to 90% of the market, sometimes they have a ton of features you don’t need. You might have a huge number of sections to the application and hundreds of pages to navigate through and while the features are there - it becomes very overwhelming to use. With custom software, you only have what you want.

One note about Custom Software Development

In talking about this, I should mention that Custom Software is definitely a spectrum. While we specialize in ground up solutions, Custom Software development does exist in the realm of mass market software. For example, platforms like Wordpress or Shopify do allow for custom development that integrates with the platform.

So do not let anybody tell you that you can’t do Custom Software development on an existing mass market platform. It all depends on the platform. Some are very open and easily to develop on, and others not.

Only when you’re ready

So in the end, the big take home message here is that Custom Software can be optimal for solving your problem. However, because of the time, effort, and money it takes to develop, it should really only be considered after you’ve explored existing mass market solutions.

If you do end up in the 10% though, having a custom solution built specifically for you can be incredibly rewarding and help you grow your company and push the boundaries of your industry.

Photo by Ono Kosuki from Pexels

Casey Li
CEO & Founder, BiteSite

Solution Types to Solve Small to Medium Sized Business Problems

business software

Many problems can be solved with software. Choosing the correct type of software to solve your problems can be tough, especially when you are trying to be price conscious and get the best bang for your buck.

This article will outline the benefits and negatives of some options a small to medium sized business has to solve the problems they encounter.

Non-Software Solutions

The first solution type is very broad, containing all non-software solutions. Forcing a solution by implementing software where it is not needed can cause more problems than the ones you are trying to solve.

This might be odd coming from a software developer but there are many problems that actually shouldn't be solved with software. These types of problems often need a short term solution and possibly are only complicated by the introduction of software where it is not needed.

The main advantage of a non-software solution is that it is probably what is currently implemented. There is no extra cost or effort involved in implementing this so if you only need a short term solution a non-software based solution is okay.

The problem with non-software solutions lies where choosing software is the correct option. It is easy to fall behind the competition if they are using software for the same type of problems. Software not only helps businesses stay ahead of the curve, it also makes it easier to store data safely, and easier to measure the success of the solution’s implementation.

Software Solutions

Benefits of a Digital Solution

The following three solutions - mass market, small scale mass market, and custom software - all contain the benefits of being a digital solution. Some of these benefits include the reliability and speed of access to data, the ability to automate tasks, and the ability to access the software from almost anywhere. Your problem might not need these exact features to solve the problem but they can be great selling points when changing to a software solution.

Mass Market Solutions

The mass market solutions category has the most customers due to the nature of its availability and breadth of features offered in its purchase. Mass market software is readily available software normally purchased on a subscription basis that can be used to help solve your problems. This type of software requires the purchase of many features under one fee and it is up to you to decide what you want to use.

Some pros to this type of software are that it is relatively inexpensive for what you obtain, it is immediately available directly after purchase, and it will have a large user base. The large user base means it likely will have good documentation, regular maintenance, and online help from other users with the same problems. The most attractive feature of this software is that it is ready to use “out of the box”. The problems you have can be solved almost instantly compared to the other solutions.

The cons of this type of software are related to the pros. The first one is that the cost includes many features that are not needed. This is reduced if the subscriptions are offered in a tier structure where you can choose the size of software available. In mass market software the same software is sold to many customers. It must be generalized enough that it will provide a solution to as many customers as possible so it can sell easier. This means that you will be paying for a product that will have many features not used. It is also hard to request changes to the software if it doesn’t fit your needs correctly. This is because it is not feasible for the company to apply all change requests to the software. Related to this is the lack of personal connection with any contacts at the company. Support tickets can be sent to the company’s general mailbox but it is tough to create a connection with anyone there that can be used in the future as a contact with the company.

Small Scale Mass Market Software

This category of software lies in the middle ground between mass market and custom software. Although it is in the middle of the two it rarely contains the best of both. This type of software is great if it fulfils your needs but can be hard to find.

This software can be used instantly just like mass market software as it has already been created. In terms of cost, it is cheaper than custom software but more expensive than mass market due to the lack of users to spread the development costs. The cost might be worth the product if it fits the needs of the purchaser. The lack of users also provides a higher chance for you to be heard by the company and have requests fulfilled via support tickets. This is where it comes close to custom software. If you submit a support ticket and it gets implemented, a developer would have changed the product to fit your needs. The difference from custom software here is that you can only suggest changes, not require them to be implemented.

Custom Software

The last solution category is custom software. This is software that has been designed specifically to meet the needs of the user and has the ability to be modified at any stage in its life. This software is exactly what the user needs and only what the user needs.

There are many advantages to choosing this type of software over the others but it will come at a cost.

All custom software will have a support team available who knows the product inside and out as they were the ones who created it. You can go directly to them to answer any questions or concerns. This is a benefit to them as well because over time your questions can help them understand what you need. They can then suggest improvements to the application that you might agree with but never thought about yourself.

The choice of features is where custom software really shines. It is the easiest out of all solutions to suggest changes since you own it. These changes are billed according to the work required but nothing is paid for that is not needed and discussed prior to its implementation. This allows you to improve your solution at any rate according to your budget.

You also have the most freedom to customize this solution to your problem. Related to customizing the solution to your needs is the ability to work with existing solutions. Custom software can be built to work with your existing environment and the technologies available. Due to this you have control over the security levels built into your solution. Buying premade software doesn't always allow the purchaser to choose how secure the software is.

As you can see custom software has many advantages but there are some points to consider when choosing this type of solution.

The first factor is the size of the solution required to fix the problem. If the software needs to be large to meet the requirements it can get very expensive. Another factor is how quickly the software is needed. Custom software is not ready to use immediately. There is an initial creation time before an MVP is available. This time until it is able to be used depends on the size of the MVP needed. The last point to consider is if you understand what the problem is you need fixed. Custom software shops are good at working with clients who are not 100% sure what they need but if you have no idea what the problem is there can be communication issues with what you need vs what is actually built.

Conclusion

Choosing the correct type of solution is the first step to solving the problem you have. This might not have told you exactly what you should go with but hopefully it gave you an idea of what avenue you want to pursue.

TL;DR: Solution Pros and Cons

(Photo by Sigmund on Unsplash)

Chris Francis
Software Developer, BiteSite

Why we don’t believe in fixed term contracts

business custom software software development

BiteSite was founded in the summer in 2012 and we’ve worked with a ton of clients on a lot of projects. With that comes a good amount of experience that has given us some confidence in saying what works for us and what doesn’t.

One thing in particular that we’ve experimented with in several different ways is the way we structure our contracts and after years of developing software, we’ve come to the conclusion that we don’t believe in fixed term contracts when it comes to software development.

What do we consider ‘fixed term’?

Alright, before we get started in explaining why we don’t believe in fixed term contracts, it’s probably a good idea to get on the same page as to what is a fixed term contract and what isn’t.

While there may be many different interpretations out there, for our purposes and for the purposes of this article, we consider a fixed term contract any contract that states something along the lines of:

You will get this output for this amount of money

Now, obviously contracts are not usually written this way, but they can be boiled down to something similar. What’s more common is something like this:

You will get Feature A, Feature B, Feature C, Feature D for $10,000.00

That is probably looking more like contracts that people are used to dealing with. Now obviously, contracts are usually more fleshed out than that, but the more detailed it gets, the more “fixed” we’re talking about, and as you’ll see, the more “fixed” a contract is the worse it is.

Now, there is a small but very important change we can make to these types of contracts that we are very much in favour of. This small change removes this “fixed” aspect of it. What’s the change? Simply removing either side of the equation:

You will get unknown for $10,000.00

Or

You will get Feature A, Feature B, Feature C for an unknown amount

In either of these cases, while you are fixing either the deliverables or the budget, you are NOT fixing both. When we talk about ‘fixed term’ contracts, we are talking about situations that fix both. If you allow either to be flexible, the contract does not fall into the ‘fixed term’ category.

Types of projects

BiteSite has an interesting history in that it didn’t used to be strictly a Custom Software development company. In the past, we focused on corporate video and before that we offered graphic design and photography services. As such, we want to be very clear about our philosophy around ‘fixed term’ contracts.

When we say we don’t believe in fixed term contracts, we are strictly talking about Custom Software projects.

While our philosophy might extend to other types of projects, we have a lot of concrete reasons and evidence around Custom Software projects and thus this article deals specifically with Custom Software projects.

Developing good software

Our belief around ‘fixed term’ contracts and why we avoid them really stems from our belief in how good software is developed - or rather what we believe is the best process to develop good software. We by no means invented any of these concepts but rather followed in the footsteps of great minds.

At BiteSite, we develop software following many Agile methodologies and principles. We use a process we’ve called Scrum Express (a slightly modified version of classic Scrum) and in our many years of experience, we find following these principles works really well.

Without going too deep into these principles, one of the biggest philosophies is continually integrating feedback into your development cycle. Whatever form the feedback takes, testimonials, usage statistics, data models - it’s important to take it in and incorporate it into your product on a continuous basis.

These principles are based on the notion that no one can really predict what users will do or how they will behave, and it’s important to put out software, observe, and iterate.

We’ve seen time and time again that these principles truly work in the real world. We’ll spend a little bit of effort developing a small feature that we’re excited about and find out very quickly that no one wanted to use it. So we stop developing it. On the other hand, we’ll add a small feature that we thought was a small fix and people loved it so we poured more resources into it.

It’s all well and good to read about these principles, but we (and I’m sure so many others) have seen it in action and it’s very powerful.

So how do you plan your software product? With this in mind, it may seem impossible to have a long term plan for a software product while maintaining effective development practices and in a way - it is.

If you subscribe to the philosophy described above, you should embrace the fact that you just don’t know what the future will bring.

Don’t get me wrong, it’s good to have a plan, and it’s good to have vision, and rough idea of where you’re going, but at the same time, you have to get used to the idea that within weeks if not days, your plan could completely change - that’s what agility is all about - the ability to change.

Processes and concepts like Scrum, Continuous Integration, MVP and more all account for this and give you powerful tools to take in feedback and remain agile.

If you think you can sit in a room full of researchers, designers, engineers and plan exactly how your software will work months from now without ever putting it in the users’ hands - then you’re adopting a waterfall approach - an approach that in our opinion is less effective.

It’s a pretty logical conclusion

If you believe in these agile philosophies as much as we do, then it’s a very logical conclusion as to why fixed term contracts are bad for software development.

Fixed term contracts lay out specifics about how a piece of software will look, behave, be architected, and more - all before some serious thought, but more importantly, all before it’s put into users’ hands.

If the contracts don’t leave room for flexibility or for the potential for the plan to be completely altered, then you could be developing software in a very ineffective way and basing your decisions on what’s written on a piece of paper rather than what your users are telling you.

By leaving your contracts open ended, you allow for the agile principles to shine through.

Is that it?

Following Agile development principles is definitely the main driving factor in our belief to avoid fixed term contracts, but we’ve also seen other benefits arise from it.

When you tell a developer to “Develop Feature A for $200.00”, they will constantly be racing against the clock. They’ll constantly be thinking of ways to shave off hours, and get the minimum amount done without taking some care. Not to mention, they’ll throw out any creative ideas, or spur of the moment inspiration to make things better. The distraction of needing to finish it in the exact time or amount or less leads to uninspired output.

Further to that, if the engineers, developers, or designers have any moral conscience, they’ll probably try to minimize the amount the customer spends. That’s great, but it can also stifle good conversations and discussions that can lead to great output.

When we moved to non-fixed term contracts, we felt we concentrated less on time, and more on just developing great software.

Can’t the contractors just buffer in the expense?

Whenever we’re faced with a client who just can’t do an open ended contract, we do what we believe most companies do - buffer the cost. So even if we think it’ll take 50 hours to produce, we’ll budget in 150 hours to cover these unforeseen costs.

While this can work, there are two reasons I’m not a fan of this approach. One, I think it’s an artificial and inaccurate way to account for the cost of what’s being done. It’s almost like saying “We can’t predict what’s going to happen, so we’re just going to charge you a bunch more money.” Secondly, if it really takes 50 hours, I never liked the idea of a company paying us more than what it took. If it took us less time, the client should pay us less.

Fixed budget is not fixed term

One thing I want to stress is a point I brought up when defining ‘fixed term’. If you remove either side of the equation, it removes the ‘fixed’ aspect of it.

So while we don’t believe in fixed term contracts, we are very much a fan of fixed budget contracts.

A fixed term contract may look like this:

We’ll develop Feature A, Feature B, Feature C for $10,000.00.

A fixed budget contract sounds more like this:

We’ll aim for Feature A, Feature B, and Feature C, however things could change and we may develop other features, but let’s keep our spending to only $10,000.00 maximum.

We find customers who are not comfortable with open ended contracts are at least more comfortable with fixed budget contracts.

Trust

This all sounds well and good, but I have to remind myself that I am writing from the perspective of the Custom Software service provider - not the client. I have to remind myself that it can be really scary to sign an open-ended contract with a provider. Sure I trust myself and my team, but how can I expect you, the client to, if you’ve never dealt with us or worked with us before.

The open-ended contracts we talk about are based big time on a trusting relationship between the vendor and the client.

So how do you establish this trust?

At BiteSite, we usually recommend starting with a small fixed budget contract - not fixed term - fixed budget. In fact, we’ve taken on starter contracts as small as $500.00 to start just to see how we work together.

I’ve never been a fan of companies who say, “We won’t talk to anybody who has a budget of less than $5000.00”. We’ll go as small as you’re comfortable with. Granted, we may not get much done for $100.00 or so, but if that’s what you want to spend, you’ll get to know us and then you’ll know whether or not to trust us with more.

Going through a pilot project of sorts is a great way to establish trust and if things go well, you can continue with that trusting relationship.

So how do we structure our contracts at BiteSite?

So with all that said, how do we structure our contracts at BiteSite? Well, it’s actually quite simple. If you strip away all the fine print, the only thing we really have in our contract is our hourly rates - no feature set, no deadlines - just our rate.

Once the contract is in place, the rest is discussed outside the contract. You only want to spend $1000.00 a month? No problem, we’ll keep track of that and not go over that. You want to try to get these 5 features in by March? No problem, we’ll aim to do that. Again - there is a trust factor, but this works really well for us.

If things go south, we find these contracts work really well too. Don’t like how we’re getting along or unhappy with the progress? Simply as us to stop, and we’ll stop.

One thing I should note, occasionally our contracts will include some extra details about feature sets that were discussed. However, these details in the contract are always stated as “rough plans” or “estimates” and emphasize that we are not bound to these plans.

Value based vs time based

Some of you out there reading this might be frustrated in our use of Time-based billing vs Value-based billing. Value based billing is definitely a philosophy with its merits, but frankly, I don’t know enough about it.

What I do know is it cost X dollars per hour per employee to run my company at a comfortable pace. That’s something concrete I can gravitate towards and something that’s easy for me to plan for. As such, for the time being I decide to use time-based billing.

It can be tough

It can be tough to sell the idea of open-ended contracts, but we find that once we explain our reasons, most clients get on board and it leads to a great working relationship.

I’m not saying that these types of contracts are for everybody, and I know there are definitely organizations that are bound by their contract processes that they have no other choice but to use fixed term contracts.

That being said, the more open ended contracts we put out there, the more evidence we get that it’s the right way to go. We hope that more and more organizations embrace this idea as we believe it lines up perfectly with how good software should be developed.

Footnote:

I want to give a special shoutout to ThoughtBot. ThoughtBot is a company that we look up to and admire greatly. ThoughtBot’s open source playbook was the first place I read about this idea and seeing them write about it publicly gave us the confidence to advocate for it in our daily work.

(photo by Cytonn Photography from Pexels)

Casey Li
CEO & Founder, BiteSite