Why do we need Front-end Architecture?
Why do we need front-end architecture when it comes to building a web application which is scalable and sustainable? Well, if you’ve read my preceding article, “What is front-end architecture?” you could find in there a few hints as to why front-end architecture is critical to fulfil the upcoming requirements and deal with challenges as they arise. In this article, we are going to understand the role of front-end architecture in more depth.
As a Product Owner, front-end architecture is important because we are moving towards Data-Driven Development (DDD). The data itself controls the placement of correct data in the appropriate location at a specific time in a user’s journey. That also sets the journey of any application and drives the growth of any project. Therefore, the front-end architecture plays a critical role in the successful development and delivery of any digital project which aims high.
As developers, you sometimes find yourselves bound by the front-end architecture standards, processes, tools and technologies. Trust me, however, when I say that this is for your benefit. It keeps you from getting distracted, wasting your time researching or learning new tools and technologies that are irrelevant, having to implement new processes, and a variety of other challenges.
Let me explain how by using a food analogy. Why would you need the recipe of your favourite childhood food or beverage that your mother prepared for you so often? You can recall that food for a minute and enjoy that moment.
The answer would be the mouth-watering taste. For me, it’s Rajma Chawal or Light Speckled Kidney Bean with White Rice. That is quite common in India. However, the taste in my mother’s hand is unbeatable for me. Has it ever occurred to you; Why? Because; She knows me very well and understands my taste, considering many aspects in which my health is most important for her. Similarly, the business requirements are essentially and entirely responsible for any project.
Now, we are going to make a correlation between that recipe and the front-end architecture: Here, Rajma Chawal symbolises the Web Application or Platform and the person eating it is the end-users. However, budget and business requirements indicate the health and taste of the person. Furthermore, Mom is the architect who understands every requirement along with the ingredients as tools and technologies that fulfil them and documents them as a recipe, in IT we call them Front-end Architect. Additionally, the chefs are the developers who develop that project with their niche skills. Now, if you have that recipe, then anyone can recreate Mom’s magical food or drink ever forever. Remember, the favourite food or beverage recipe will differ for each and every person. Likewise, the front-end architecture of any project will not remain the same, even if they share the same business requirements.
Let’s take another look, why front-end architecture is necessary. While I was writing this blog, my MacBook died accidentally. Fortunately, before starting this blog, I decided to document all of my content on Google Docs. What if I would have used any offline tool such as Microsoft Word desktop software? I would probably be stuck for some time or may lose my entire content. In the same way, front-end architecture can handle futuristic challenges and risks.
In short words, Front-end Architecture helps us to establish the development roadmap and streamline the processes to fulfil the business requirements. It will not only assist you to understand the complexity of the project. However, front-end architecture also supports you in analysing the project’s long-term viability and scalability. It also handles futuristic issues and challenges as they emerge due to change in business requirements or technology upgradation. Front-end architecture will overcome the risk of failure or trap situations, and help to identify the requirements and constraints in the earliest stages of the project. Ultimately we can reduce the risk, effort, time and cost of any project if we have a front-end architecture.