Integrate DevOps and Micro Frontends only if you can tackle these three challenges

A new age application demands a combination of Continuous Delivery and Scalability. Though, there are a few challenges to be taken care of.

Continuous Integration and Continuous Deployment (CI/CD) don’t work well with Monolithic frontends. Consider a situation for your DevOps automation pipeline. A frontend developer writes the code for the application as fast as possible. They then run tests like linting, unit tests, integration tests, and other important checks. Finally, the code is deployed on the server and the overall application is updated. Assuming that all this work is done for Monolithic frontends, here are a few challenges that might arise:

  • Monolithic architecture discourages independent development. Frontend developers need to understand the whole architecture. This makes the development less suitable for automation.
  • The complexity of the highly coupled architecture further complicates the testing processes. This is not recommended for DevOps practices like Continuous Testing.
  • It doesn’t make sense to use a CI/CD pipeline for monolithic architecture. A continuous upgrade of the application’s frontend is difficult with the monolithic frontend. It can be complex and time-consuming

Therefore, the micro frontend architecture goes best with the DevOps pipeline. In this article, we will discuss why the combination of the two is highly recommended. We will also try to understand the challenges that an organization might face with this combo.

Micro frontends and DevOps: A recommended combo

DevOps practices are well capable of enabling automation for business agility. They integrate the principles defined in the agile manifesto, with the automation pipeline. However, the technology architectures employed by the organization also play an important role. Micro frontends are decoupled and domain-driven. Therefore, they work well with the CI/CD processes. Here are a few important benefits of including the micro frontend architecture (MFA) in the DevOps pipeline.

  • Scalable Development: The decoupled nature of micro frontend units helps them scale independently. In fact, one can also plan to scale the units that attract more end-user traffic than others. This makes the automation pipeline more flexible and customer-oriented.
  • Easy Deployment: DevOps is meant to promote agility. This requires necessary provisions to roll out newer versions regularly. With independent frontend units, this becomes easier. There is no need for the whole application frontend to be immediately affected by every upgrade.
  • Failure Resilience: Any issue or failure in a micro frontend unit only affects the end-user specifically consuming it. Even then, there are replicas present for these domains that can help to a great extent. This gives space for the CI/CD pipeline to deal with the failures and deploy patches.
  • Team Distribution: Team autonomy plays a crucial role in the automation of delivery processes. More interdependent the teams would be, more difficult it can be to define standard procedures for automation. With MFA, teams can be distributed with respect to the knowledge context they excel in. This makes development more technology agnostic.

Thus, CI/CD and independent frontend is a productive combination for the business. However, technology leaders need to be aware of a few challenges that they might face in the process.

Understanding the Challenges

Micro frontends are a fairly new concept. Hence, a little skepticism for them is understandable. Though, a little awareness of the actual challenges may be more helpful. This will allow the DevOps-MFA combo to flourish more. So, here’s the list.

  • Decision Making.  The micro frontend influencers have been sharing knowledge about the decision making process. However, a certain level of first-hand experience is always recommended. Organizations need to collaborate with consultants studying and working with this architecture. More knowledge, smoother will be the integration for CI/CD and MFA.
  • Updated with Automation. Although DevOps practices have been around for a while, yet their understanding might need a regular brush-up. Teams aware of updates about the cloud, virtualization, etc. can avoid unnecessary failures. Also, MFA can benefit more from newer automation practices and tools.
  • Valuable Integration. It is true, DevOps and Micro frontends are both here to stay for the long term. That said, rushing to incorporate them both might bring more damage than benefits. The current pressure to find new ways for customer-oriented deliveries can be exhausting. Therefore, this integration needs to be approached steadily and purposefully.

Conclusion

The combination of DevOps and Micro frontend architecture is the next logical step. The sooner the organizations are ready to adopt it, the better. That said, one cannot ignore the challenges that they might find in the way. Thoughtful planning can help organizations bring wholesome agility to their business.

Applying design thinking to identify urgent and important business problems

The business owners need to build a framework that can address immediate issues and prepare for future scenarios. Design Thinking approach has proven to be effective against such “wicked problems” for businesses. Let us try to use their principles and build the required framework for the contemporary scenario.

‘What now’ and ‘What then’ – the two phrases have been baffling businesses of all scales and sizes across the globe. Business owners are juggling between taking action on urgent matters and planning for the way ahead. The cherry on the top is the shifting legislative and economic landscape around the world. Even internally, the teams need to be motivated to channelize their focus on the business vision. It seems like the pandemic has qualified a whole new category of problems. These aren’t simple one-liner business challenges. These are multifaceted problems that are attacking multiple business vulnerabilities at a time. The Design Thinking approach had been guiding problem-solving frameworks in the past. It only makes sense to once again set up a Design Thinking Process to deal with the confusion that has surrounded the business world. Let us try to understand how this can be done.

Multifaceted Wicked Problems

In 1967, American philosopher C.W. Churchman coined a term – Wicked Problem. The term categorizes a class of problems that are socially complex and rigged with ambiguities. In other words, one may find it impossible to define the problem itself, let alone solve it. With the unforeseen situation that the world is dealing with, businesses seem to be hit by a wave of wicked problems. Let’s talk about ‘remote work’ for instance. Over time, the companies started to realize a list of problems with remote work and all of them as complex as the other:

  • Project Management. A lot of companies working with distributed teams had already started taking Scrum calls on the phone or the internet. However, the remote work situation has further distributed the teams. Managing the work at a centralized level is now more difficult
  • Employee Motivation. Human resource management is suddenly loaded with overwhelming queries. Employees are querying about
  • Updated work policies
  • Leave management
  • Measures for mental well-being

Moreover, the HR team is also working on conducting engagement activities. They are holding useful webinars to maintain communication with the teams. Of course, all of these points have underlying issues of their own.

  • Socio-Political Awareness. Everyone feels saturated with the amount of information being released on a daily basis. Many employees find themselves triggered by this, and it has obvious ill-effects on their health and productivity. The effects of the flood of information coming from official sources as well as social peers have started to show in the work as well.

There are many scenarios like remote work that are plagued with such wicked problems. The business owners need to build a framework that can address immediate issues and prepare for future scenarios. Design Thinking solutions have proven to be effective against wicked problems for businesses. Let us try to use their principles and build the required framework for the contemporary scenario.

Empathy against Confusion

One of the best things about the Design Thinking Process is its minimal dependency on the sustainability of a solution. Every solution prototype is fed to a testing-feedback loop and is improved for the expected end-user experience. Take e-commerce businesses for example. When the pandemic hit the world, the apps took some time to register that change. Initially, they started listing the essential products on the homepage. Gradually, they also started assuring customers about shipment and delivery safety. Now, some of the businesses have already started putting their products on “Sale”. None of these decisions were meant to stay long term. But they addressed the problem at hand while leaving space for the business to plan for what’s ahead.

Design Thinking is an empathy-based approach. It tries to define the problem from the end-users point of view. In this instance, the end-users are the businesses dealing with the post-pandemic world. Therefore, it would be wise to empathize and begin with what’s at the root of the current business challenges :

  • Firstly, the customers being served by the business no longer seek services per se. They are more interested in fresh experiences. They rarely care if the company website has a chatbot for their queries. They would prefer a one-to-one call with the minimal waiting time. The same can be said about the internal teams. A contentful experience with employers will motivate teammates for maximum productivity.
  • The customers too are eager to find their way back to the normal relationship with the companies and brands they were loyal to. However, with measures like social distancing, their priorities on these matters have shifted.
  • Moreover, the bandwidth for experimentation has substantially reduced for the business owners. More focused on the crucial customer services, the room for trying new approaches is closing in. However, at the same time, they are forced to incorporate certain transformations to stay afloat.

Based on these observations, the Design Thinking experts can help the businesses to define the problem in terms of –

  • Improving the experience for both customers and internal teams
  • Finding new ways to establish a relationship with customers
  • Finding ways of experimentation within the current bandwidth

With its divergent nature, the Design Thinking Process encourages as many ideas as possible. Ideation is, certainly, important for these times. Brainstorming over the problems defined above would lead to the desired problem-solving framework. At the very least, the businesses will be able to understand their situation better. They would be able to understand what works for them specifically. Maybe improved communication is the answer, maybe some policies need to be modified, maybe some third-party tools can help. No one actually knows right now, but this seems to be the best way to change that.

Conclusion

The Design Thinking approach has been applied time and again against the wicked problems of the world. The complexity of the present and the uncertainty of the future are creating a sense of fear among business owners. Building a solution framework rooted in design thinking is a great way to deal with this fear.