COTS vs. Custom: The Debate Rages On!
For me, a good debate is one of life’s great pleasures and I particularly relish the ones that go on for decades while failing to award either side with a clear win. For you RVers out there, you’ve got “Motorhome vs 5th Wheel”. Wherever pulled pork and brisket enter a discussion, the “Traeger vs Green Egg” debate emerges. Golfers will drone on for hours promoting Tiger or Nicklaus in the “greatest golfer of all time” debate. In my 25+ years in technology, a perennial favorite is “develop custom applications from scratch” or “buy purpose-built COTS applications” to meet specific requirements.
Our legacy at Bamboo Solutions gives us a unique perspective on this argument since (in the earliest days of MS SharePoint) we began life as a designer/developer/provider of COTS web parts. Additionally, Cloud Parts® is SharePoint Apps for SharePoint Online.
As we catered to more and more SharePoint customers, we saw the opportunity to integrate SharePoint with other MS components – e.g., Power Automate, Power BI, Power Apps, etc. At this point, we adopted a new hybrid persona. While continuing to develop and improve our COTS product line, we also developed into a potent service provider delivering everything from SP upgrades and migrations (including SPO->GCC) to custom integrations.
Not surprisingly, some of Bamboo’s oldest diehard fans continue to categorize us as a pure solution vendor with a cute Panda mascot. We fought hard to establish this persistent brand so now we must continuously remind all of our friends that we do so much more.
In any case, how does a company like ours, with a leg on either side of the fence, approach the COTS vs Custom Code duality? Here are some guidelines that we try to follow when supporting a customer’s needs:
START WITH COTS
With dozens of MS-certified web/cloud parts, there’s often a lot we can accomplish while ensuring minimal cost with maximum reliability/dependability. We also work hard to stay synchronized with SP releases which is one less hassle for our customers to deal with. We’ve helped customers deploy everything from comprehensive security tracking (Security Audit Plus) and project monitoring (PMC) to Self-service RFI portals (Knowledge Base). All of these were accomplished using our native cloud parts configured (not coded) for specific needs.
DESIGN COTS PRODUCTS THAT “SNAP TOGETHER”
Keeping in line with the principles of “Composable Architectures” (and yes, I promise to delve deeper into this popular topic in a future blog post), we design all our products to easily interact with one another. For instance, our Project Management Central (PMC) application for SharePoint uses our Calendar Plus Application which also provides a GANTT chart feature. This minimizes the complexity of maintaining multiple independent code streams while promoting the use of reusable components.
LEVERAGE COTS DEVELOPER PRINCIPLES FOR CUSTOM WORK
It seems like most of the “pure” integrators/coding shops I’ve worked with during my career dream of evolving one or more custom solutions into a true COTS offering. The challenge isn’t technology so much as mindset and revenue model. Custom projects are designed with some measure of longevity and future revenue potential in mind.
As stated, Bamboo wears both hats but the arrow of evolution usually goes in one direction. If we had started out managing custom projects, I doubt we’d have a successful portfolio today. Designing, developing and supporting commercial products used by thousands of customers worldwide requires a rigorous level of discipline when it comes to testing, Q/A, customer success and associated processes. Our approach to custom services leverages similar discipline and processes we adopted as a COTS vendor.
MINIMIZE USE OF “HIGH CODE” METHODS
While Bamboo’s programming staff has a wide range of programming skills, our custom services rely on low-code principles wherever possible. Microsoft has come a long way in evolving the Power Platform to provide Efficiency, Flexibility, Responsiveness, and Iterability (is that really a word?). Could Bamboo engineers take the high code approach and bind customers to long-term maintenance engagements – absolutely. But that would run counter to the direction that Microsoft (and the rest of the world) is going. If we can create a custom workflow using Power Automate, it’s more convenient for Bamboo and our customers.
TEACHING OUR CUSTOMERS TO FISH
Depending on the technical acumen and appetite of our customer, we’re happy to transfer knowledge as we configure new applications via the Power Platform so they can create new processes on their own. This is another major advantage to promoting low code methods. Microsoft has tailored an entire suite of products designed to engage “Citizen Developers” that are becoming a dominant factor in many workforces. Bamboo is happy to enable these folks since it endears us to our customers.
So the debate continues and the use of custom development and “high coding” methods may never disappear completely, but through SharePoint and the Power Platform, Microsoft is empowering a whole new class of technical roles and Bamboo is excited to be part of the revolution!
If we can set up a quick demo of our MS-certified COTS applications or discuss our services in more detail, let us know.