Compared to web development, Data Warehousing and Business Intelligence is still somewhat in the dark ages. Coding a Data Warehouse solution from scratch is still a common choice, while the amount of high-quality CMSs in the market makes that hard to justify in the web space.

featured-image-TH-blog-1080x675

At TimeXtender, we’ve been working on this website for some time.

An important part of that process is choosing a platform. There was a time where websites would proudly display “Made with Notepad”-graphics to underline that it was coded by hand and not by some WYSIWYG-tool that generated code only specific browsers would render correctly. This time is long past: these days, websites are typically built on a combination of a CMS and a theme.

Compared to web development, Data Warehousing and Business Intelligence is still somewhat in the dark ages. Coding a Data Warehouse solution from scratch is still a common choice, while the amount of high-quality CMSs in the market makes that hard to justify in the web space.

Still, I’ve had some of the same concerns as some of you might have when considering a Data Warehouse Automation solution for your business:

  • We have uncommon needs – standard solutions won’t work.
  • Generated code can’t be trusted – hand-written code works better.

The 20/80 look on needs
When it comes to specifying your needs in a website – or a business intelligence solution – it’s easy to think that your case is a little bit different from all the others.  And it’s true that different companies tend to do the same thing in slightly different ways.

Here, I came to a conclusion that can be described in a slightly distorted version of the 80/20 rule.

This rule of thumb states that 20% of the effort generates 80% of the effect. By using a CMS and a theme that enables us to get the first 80% done very quickly, we can get on to tackling the last 20%.

This is the part where we handle the things that makes our company a special snowflake. At the same time, it’s the part that takes to most effort, but also the part that has the fun challenges.

Trusting the code
Coding a website from something close to scratch has a certain appeal, not only because you can have it tailored to all your needs, but also because you get know the code better.

I think a have a fair amount of coding competency without actually being a developer. Still, it’s not easy to figure out exactly how the CMS generates the pages we see – and the complexity only grows when you extend the base functionality with plugins.

It all comes down to trust. Today the website is a critical asset for most companies and you don’t want it to go down for some reason shrouded in mystery or slow down to turtle speeds because of badly coded customizations. The same could be said for a Business Intelligence solution.

I quickly realized that the benefits of trusting the code generated by CMS, theme and plugins greatly outweighed the downsides. Here’s the primary benefits:

  • By trusting the code that others have created, the time from idea over mock-up to published change is much shorter. This makes it much easier to help my colleagues when they would like something set up.
  • 99% of the time, any decently popular CMS, plugin or theme is made by someone who’s much better at PHP/ASP/C#/HTML/CSS than I can ever hope to be. The code of a modern CMS contains lifetimes of combined developer experience.
  • The web evolves at an incredible speed – compare these examples of the early web to modern websites and it’s hard to understand that the technology is basically the same – and the CMS moves with it. I don’t have to change the code if some features in the underlying modules or programming languages change. I just have to make sure to keep the site updated.

Conclusion
In conclusion, using a CMS, or a DWA platform such as TX2014, requires you to trust the system to generate proper code. In exchange, you get much faster development, higher code quality and easier updates. I don’t think the choice is very hard.