Analogical thinking is the concept of recognizing conceptual similarities from disparate domains. When developing software, you’re often facing new problems that you’ve never faced before, so using analogies is a great way to put those problems in context. In this Tech in 2, Principal Consultant John Moore discusses how to use analogical thinking in software development.
What is Analogical Thinking?
We’re always facing new problems in software and often times they’re problems we’ve never faced before, so using analogies is a great way for us to put those problems in context and provide or come up with better solutions.
Analogical thinking is the concept of recognizing conceptual similarities from disparate domains, so essentially, using analogies to find common ground in a problem we’re trying to solve. A cross functional team that engages in analogical thinking will be better suited at contextualizing problems and solving them within that new context, as opposed to tackling them based on just their technical skill sets.
So as colleagues, we can lean on this idea to leverage each other’s expertise and creativity to better contextualize our solution. Here’s some tips on how we can do that.
Use Cross-Functional Teams
Build a cross-functional team. Multifaceted teams with diverse experience are more likely to have some relevant experience or just be creative enough to better contextualize a problem than a singular domain team.
Be Intentional
We need to be intentional. We need to actually dedicate time to this exercise. Give your team time to actually come up with some analogies, some examples and then challenge them and see how they fit and see where they do and don’t add value to the problem you’re trying to solve.
Be Agile
Starting with analogies is just the beginning. As we do this, we need to be comfortable pivoting, changing those analogies or even abandoning them altogether once we narrow in on a solution that works.
Be Careful
Don’t just get hung up on the initial analogy that you come up with. It may seem like it fits and it may seem like it makes a lot of sense, but it can add the risk of driving us down the wrong road because it fits maybe too nicely. We need to take time to think of multiple disparate domains to make sure that we’ve contextualized the problem properly.
Teams that engage in analogical thinking are more likely to create better contextualized solutions that will be longer lasting and more efficient for their end users, because they understand the context in which the problem takes place as opposed to just the solution that we’re trying to implement.
Adaptation in Software Modernization
Traditionally, capital investments were very concrete (ie building a factory on the river because you needed water to power the mill), but nowadays in software development, things are easier to change. In this Tech in 2, Director of Solution Engineering Jackson Stakeman shares why adapting your strategies to accommodate for change is key and why you should employ the Wayne Gretzky method of skating to where the puck is going to be.
Modernization in the Insurance Industry
Platform modernization is becoming an increasing priority for insurers, particularly for tenured insurers with legacy applications. In this Tech in 2, Client Services Partner John Suminski discusses the many benefits of modernizing in the insurance industry and why keeping applications current is so important.
Three First Steps to Cloud Modernization
Modernizing in the Cloud allows you to reduce tech debt and take advantage of the benefits of modern technology. In this Tech in 2, Principal AWS Consultant Jeff Pabian shares the three first steps you should take if you want to modernize in the Cloud.
How Sparq Uses Generative AI
Sparq began using generative AI tools in early 2023, when we started offering it to our customers as an option on their projects. In this Tech in 2, Chief Engineering Officer Janet Pierce shares where we've found the most success with AI, the productivity gains we're seeing and how other organizations can get started with it.