As OrchestratedBEER continues to gain popularity and our customer list continues to grow, we’re often asked if we outsource development overseas. Other brewery software companies do it but there are multiple reasons why we never will.
We’re proud of our city and we’re also proud to develop, market and maintain our software right here in Portland, Oregon. While 100% of our product is maintained and supported in house, it may not always be possible to accomplish certain projects or complex integration without some outside help. Which is why we may outsource locally, but never offshore development or support. We’re so deeply involved with any and all outsourced projects that it really becomes more of a partnership than just some outsourced work.
Outsourcing vs. Offshoring: What’s The Difference?
Outsource often gets confused with the term “offshoring”, and vice versa. You can sometimes outsource brewing to your contract brewer across town, or bring in a guest brewer for that special seasonal batch. You could also “offshore” your customer service hotline anywhere outside the U.S. in the same way many software companies offshore their development – often with mixed results.
Offshoring development may be a valuable resource for many software companies because many of these development companies are very good at what they do and will create “clean” code and solid work. We don’t really have that option with OrchestratedBEER, nor would we want to pursue offshoring for the following reasons:
1. The Offshoring Disconnect
You can save a lot of time and money by contracting out work to talented companies overseas. The work is solid and the code will function properly. The problem with offshoring development in the brewery software industry is that the code has to be modified and constantly improved. If we try to modify code that has come from overseas, we’ll often run into problems because code is based on logic, and logic is culture dependent.
There are cultural references that appear in code created outside the U.S. that often present problems when you try to cross cultural lines. Different cultures utilize logic and different ways of thinking that are often reflected in the code itself. For example, developers in China used to optimize code for specific hardware speeds that aren’t often dealt with in the states. What you end up is a great discrepancy in the finer points of what the code is being written for, which American coders often have difficulty deciphering.
2. Lost in Translation
Code that is considered neat and well organized is commonly referred to by American developers as “clean” code. In India, some developers will often learn their coding skills from American instructors who often use the word “clean” in classroom settings to describe good code. However, the term “clean” in some cultures almost has a religious meaning to it – so much so that the local translation of the word clean also means no cheating, no shortcuts and development rules are followed religiously.
Some developers will literally bend over backwards with long lines of code in order to abide by the rules they were originally taught in order to preserve the status of “clean code”. What you often get with offshore development contractors is code that is difficult to maintain and decipher for an American developer.
3. Understanding the Language AND the Business
In business software application development, a developer needs to understand the programming language as well as understand the brewery business. Here at OrchestratedBEER, our developers have to learn SAP, understand accounting processes, and they must understand how breweries work. This combination of skills and knowledge must work together in harmony in order to develop and maintain an effective product that isn’t constantly breaking and full of bugs.
4. Outsourcing Locally Can Still be a Challenge
Unfortunately, even local outsourcing can present a challenge. You can bring on top-notch developers or contract out to another local company but they still run the risk of making some very fundamental mistakes because they may not fully understand the processes involved with making beer. For this reason, we are dedicated to maintaining our our own in-house development and technical support teams.
We Don’t Outsource – We Partner
We’re very proud of the fact that we keep all departments under the same roof in our Portland office. However, there are a few exceptions where we are better off partnering with select third-party companies that have already developed top-notch products for our industry. We like to refer to it as “partnering” rather than outsourcing considering the fact that we are so selective about the companies we choose to work with and have rigid performance expectations. A good example of this is our partnership with local Portland-based Knuckleheads Inc, a mobile app development company that helped design our new mobile packaging app coming later this year.
Knuckleheads had a lot of experience working with enterprise companies like us to deliver great solutions. What we’re able to accomplish through local partnerships like Knuckleheads is the ability to utilize their experience with mobile apps and mix in our experience with managing brewery processes in order to get quality products out to our customers faster. Some of our other third-party partners include ADP for payroll processing and iVend or Aloha for Point-of-sale systems (POS)
The Benefits of Keeping it Local
Local partnerships are important because we’re able to meet face-to-face and they’re able to replicate our vision more efficiently. There’s something to be said about physically meeting in person to convey requirements and give immediate feedback to keep the project heading in the right direction. We submitted our requirements for our new mobile iPad packaging app and had an amazing design five days later. It’s definitely worth paying a little extra to work with someone local and reputable who understands your needs.
No matter how tempting the cost savings of outsourcing or offshoring may be, there’s just no way we could continue to provide outstanding technical support and maintain our product code without keeping it in house. Outsourcing/offshoring support can be a nightmare, which is why we keep our technical support department staffed with local, talented individuals who understand the software and understand the business of beer. That’s the OBeer difference.