This 4-part series provides a useful primer on how to approach technology and manage its integration into a business, with the aim of avoiding unexpected costs and issues.
Platforms
By this stage, you should have a blueprint for your project that outlines the Business, Functional and Technical Requirements. With this in hand, you can now begin to match the right platform tools to your requirements to start building the project.
Choosing a supplier before you have a clear idea of what you need can be like gambling with the odds against you. However, if you do your due diligence and research, you could join the ranks of the 13-20% who take that path.
At this stage, you’ll probably know roughly the kind of software development vehicle you need to get to your destination, allowing you to make more informed decisions and keep the journey in your hands.
Platform Categories
Here I categorise technology platforms in order to facilitate discussion about which approach(es) is/are needed for projects and platforms.
Within each category there may be a variety of competing products. For example, in the area of Content Systems there may be multiple solutions available.
When working with consultants or potential vendors, you can use the questions from your requirements to assess how well their platform matches your project. Utilise your research and knowledge to determine if it is the right fit.
This categorisation also provides a structure to evaluate existing platforms used within an organisation and identify areas for improvement.
They are:
- Tier One – Hosted Platforms
- Tier Two – Wordpress
- Tier Three – Database and Middleware
- Tier Four – Prototype, Low Code and No Code Platforms
- Tier Five – Static Generation and Code Frameworks
- Tier Six – Apps
- Tier Seven – Insight, Data and Analytics Projects
- Tier Eight – Enterprise Systems
Tier One – Hosted Platforms
When these platforms first emerged, they promised that anyone could easily create their own projects without needing a developer.
As they have added more sophisticated elements to keep up with their competitors, however, many of them have attracted specialised developers to take advantage of the new features.
I think the range spans from using a Facebook Page, a hosted builder (such as SquareSpace [2003], Wix [2006] or Weebly [2006]) or more sophisticated shopping platforms such as Shopify (2006) or BigCommerce (2009). There are others, though that’s the basic idea.
Many platforms now offer a commerce component as part of their core offering. Shopify makes it easy to integrate an online shop into your Facebook page for example.
When you use one of these platforms, you are subject to the platform company’s development roadmap and any changes they make. This must be taken into account when assessing your risk and tech debt strategy.
Tier Two – Wordpress
WordPress (2003) stands alone in its niche, combining an interface with middleware and a database like Tier Three, as well as offering a hosted option. It is easy to set up for many integration developers, who can add a template, plugins and have a website running in no time. Furthermore, it is completely customisable depending on the scope and skill of the developer.
You might not want to build your new product platform directly on WordPress, but a savvy developer could still use it for many applications, or even host other apps on the same server. Additionally, WordPress has the popular WooCommerce plugin for setting up an ecommerce store.
WordPress makes it easy to get a website up and running quickly with its selection of plugins, themes, and page builders. However, the abundance of code that comes with this setup can be prone to bugs as much of it is being rewritten from PHP to JavaScript.
Tier Three – Database and Middleware
This tier of the software stack consists of databases and middleware, such as most Content Management Systems (CMS). A CMS typically features a web interface, middleware to communicate with a database, and the database itself.
WordPress and other content management systems have evolved from their roots as blogging platforms, where content was the primary means of engaging with an audience. Nowadays, however, utility value is often the focus when selecting a CMS; users are more likely to choose a system that enables them to achieve something specific. This is particularly true for businesses where content is a core part of their offering, or when opting for a headless CMS with no front-end templating.
Some example products may be Drupal (2001), Joomla (2005), Expression Engine (2005), Craft (2011), Umbraco (2005) and Kentico (2006). HubSpot (2005) is in this space as well, linking their CRM solution with content management, although that could really be considered part of a hosted solution.
Many of these platforms were originally created with a focus on content, and the introduction of eCommerce functionality has been an afterthought. As such, they are beginning to show signs of ageing technology, with increasing levels of technical debt.
Tier Four – Prototype, Low Code and No Code Platforms
Low code and no code platforms are aimed at ‘solopreneurs’. They allow for rapid prototyping for startups. This can be necessary when despite having tight requirements documentation, you need to also try things out and iterate. They may increase collaboration between business teams and development teams. These prototypes can be developed previously in visual products such as Figma, Axure, Sketch or InVision. An actual working prototype though, may allow greater clarity. They allow a focus on the architecture and outcome rather than on the technology.
One of the best examples is Bubble.io
Low code and no code is not a great name as it makes a lot of people think that nobody had to code these in the first place, and aren’t currently coding up new features in the background. They feel like the developer version of the hosted platform, and a natural successor to services such as CodePen.
They can also be a way for developers to increase productivity by automating tedious work whilst allowing them to also write code modules.
Alongside this, connection tools such as Zapier allow integration of platform tools, code, low code and other applications to work together.
Tier Five – Static Generation and Code Frameworks
This is where we start straying into hardcore developer territory. These are projects where a developer has an IDE (Integrated Development Environment) such as Visual Studio Code and a development environment on their machine. Usually a Mac because it’s Linux based. That’s why you see all those developers rocking MacBook Air.
Usually a project will have a repository on BitBucket or GitHUB, with a pipeline setup to push changes to the ‘repo’ and with automation to the ‘Staging’ or ‘Live’ site. Frameworks such as Node.js (2009), Golang (2009), React (2013), Vue (2014) , Grunt (2016), Gulp (2013), Docker (2013) and other libraries form part of the project that is compiled and delivered to the web server. Sure we can also yell out, PHP (1995), .net (2002) though in heavy usage, this isn’t the most modern set of tools anymore.
This is where fully customised developments get built. The environment allows full control over the development, and the ability to control the source code, working in a team via the repository. This allows a company full ownership and control over the source code with the ability to put in place processes to minimise tech debt.
Many of the hosted solutions would have this kind of team and development structure sitting behind them.
Tier Six – Apps
Apps are built where there is some ongoing ‘utility value’. Something that you can do with the app on an ongoing basis in the context of a mobile use case. You can use it again and again, in the best case on a daily basis.
A good example is Spotify (2011). If you are listening to music on your phone or tablet, you can continue when you get home in the desktop app. There is also a web version for all devices. There is deep-linking from web to app where the app can be triggered to open and continue on with a track you have been listening to.
A plane booking app is a lesser example where the app is useful, though you might not use it every day unless you are an extreme traveller.
One of the biggest tech debt areas on apps is the integration of Google Analytics tools which can be vital for measuring conversions and interactions. Platforms such as Unity (2005), Sencha (2010), Xamarin (2012), Firebase (2011) and Flutter (2018), exist for developing apps. In this space many hosted app development tools have arisen and the same caveats apply to those, as hosted web development platforms.
Tier Seven – Insight, Data and Analytics Projects
The concept of bringing all your data together and presenting end-to-end insight is becoming a big deal. Not the dashboards we have seen for years with bar charts, pie charts and funnels only. Those have generally been coming from 3 sources. Advertising, Sales Data and Analytics. The best solutions bring these together, merging the data and allowing for ROI measurement, insight and service design.
Advertising data from agencies can include Google Marketing Platform (2018), Adobe Experience Cloud (2012) or from simpler sources such as Google Ads (2000), UTMs, Facebook (2004) and others. Customer relationship and sales data can come from products such as Salesforce (1999) and HubSpot (2005). Interaction and user data can come from Google Analytics (2005).
Data can be integrated with a Customer Data Platform such as Tealium IQ (2011), or combined in a cloud database such as BigQuery (2011).
Visualisations could then be provided in a number of business intelligence tools such as DataStudio (2016), Tableau (2005), Power BI (2011), Metabase (2014) or customised.
Tier Eight – Enterprise Systems
Although a corporate entity may have a customer-facing website with all that that entails, the service is generally delivered by a portal that needs an enterprise level framework for security (e.g. financial, online banking, customer data platforms, military).
Even in this space though, the tools may have been around a long time. For example if you were working with a legacy system it might be Java based and use J2EE an enterprise framework. This was first released in 1999, 23 years ago. COBOL code still drives a lot of old servers, particularly government. COBOL was released in 1959, 63 years ago.
There are big moves towards Tier Five frameworks for enterprise and the internet is constantly evolving in this space. There is a lot of patched code out there.
The Future
What’s the future? This analysis shows that there is a lot of legacy code and platforms out there. That means a lot of opportunity, though also a lot of tech debt for companies to get into, and hold back innovation.
Augmented Reality, Artificial Intelligence, Machine Learning, Web 3.0. A lot of expansion is happening.
In our next and final article in this series I’ll just list some strategy tips to bring it all together.