When it is too late to look back?

A while ago we’ve received a request from one of the 🇨🇭Swiss startups that needed a technical support of their newly developed solution. This product was in an MVP stage, built by some Asian team, but was really unstable as struggled with various issues and bugs. The whole solution was based on a Node.js as a core technology with a use of LoopBack, Nuxt.js and Vue.js frameworks.

Long story short but the main issue with the code base was the fact that most of the major libs, such as Bootstrap or Vue.js, were in an unstable alpha stage that would work ok for the initial project phase but not at the end.

So what’s the problem, someone will say🧐?! Just update the libs and here you go!

But, the real world is not that simple. First, if you’re updating a lib to a major version some methods may become deprecated or may even not exist anymore. Next, when you update one part, it leads to an update of the dependent libraries as required. And surely ruins the build🚨. So, as a result, these all make the whole solution unstable, corrupt, require significant code fixes and proper full-cycle testing.

For example, Bootstrap 4 alpha initially had an input-group-btn class that was replaced with input-group-append in a stable release.

Another example was an email template library that initially had an option to transform SAAS resources into CSS, but, starting from 3rd version – not anymore😱. Thus we had to implement a workaround to explicitly enable this with native CSS and transform SCSS resources into CSS beforehand.

Thus, you have to be extremely careful using the alpha libs and once you really require those, constantly keep an eye on the updates and promptly perform the latter☝️.