Embarking on your journey to create a web application or launch a thriving online venture involves more than just lines of code – it’s a strategic blend of technology and business acumen. In this article, we’ll guide you through the crucial process of choosing the right technology, offering you a compass to navigate the dynamic landscape of web development and IT projects. Get ready for insights that will transform your decision-making process!
Recently, our client has launched mobile applications. They have been finely tuned and significantly improved in some areas, yet they remain fundamentally the same. But why, you may ask? It’s because, for several months, they lacked a team member with expertise in the technology stack that we had previously used for our mobile applications. During this time, both their backend and API underwent transformations, resulting in endpoints that no longer returned the expected data. This led to frequent app crashes, eventually reaching a point where we had to withdraw these applications from public view due to their impaired functionality. Today, we joyously celebrate their resurrection.
Have we made a poor decision regarding technology selection? No, I still believe it was a smart choice. However, this decision unquestionably exerted a significant influence on our business. Regrettably, I, engrossed in other facets of the business, failed to promptly recognize the ramifications stemming from this decision. These repercussions manifested as pure business threats.
So, why should the selection of technology for a product or web application be regarded as a business decision rather than solely a technical or technological one? Because when you choose a technology:
✅ That is not very developed, something that has already seen its glory years – sooner or later, you will have to rewrite at least part of the application.
✅ That is old and not adapted to the needs of today’s world – sooner or later, you will hit a wall and have to rewrite the whole thing from scratch.
✅ In which development is slow and applications are heavy and resource-intensive – you will progress slowly and incur high costs.
✅ That is avoided by better programmers and perceived as inferior – you will face challenges in recruiting top talent.
✅ Suited for simple applications but not ideal for complex algorithms and scaling – sooner or later, you will need to rewrite at least part of the application or maintain two parallel technology stacks.
✅ Where hardly anyone writes – you will struggle to find available programmers
✅ In which programmers are expensive – each subsequent recruitment will create a significant dent in your budget.
Indeed, there is no one-size-fits-all technology solution for every type of business. We are aware of companies that have successfully developed products using technology that wasn’t initially designed for their specific use case, and those decisions didn’t necessarily lead to failure. Conversely, we’ve seen instances where businesses selected the most appropriate technology and thrived.
The key takeaway is that the choice of technology for developing our product should align with our business goals and be well-suited to the specific needs of our industry. It’s not just about whether a technology is technically feasible or popular, but also about its relevance within the broader business landscape and its capacity to address external challenges and market demands.
Choosing the Right Technology. Find the best Fit for you.
You’re absolutely right; technology decisions can indeed be complex, and their long-term impacts are not always immediately clear. I’d be delighted to hear about your personal framework for choosing technology when developing a product. Please go ahead and share your insights and approach – it could provide valuable guidance to others navigating similar decisions.
1. Do I need to program the product, or can I use some tool to create this product?
In recent years, all kinds of no-code / low-code solutions have gained incredible popularity. The rise of these tools has democratized software development and made it accessible to a broader audience, even those without programming skills. It can significantly accelerate the development process for simple applications or prototypes. You can skip further steps if a no-code or low-code solution meets your needs. Efficiently is a wise choice.
2. Or maybe RPA?
A well-programmed Robotic Process Automation (RPA) system can indeed automate a wide range of business processes effectively. Considering RPA as an alternative to developing something from scratch is a smart approach, especially if it aligns with your specific business needs. RPA can be an efficient way to streamline and optimize processes without the need for extensive custom development, ongoing maintenance, and continuous development efforts.
If you believe that RPA is a suitable direction for your project and can fulfill your requirements effectively, it’s a significant decision, and there may be no need to proceed with further steps.
If you want to know more about RPA, read this article ‘What is RPA’.
3. Let’s start programming…
Begin by asking yourself a few questions. What competencies are available on-site? What languages/technologies do I and/or team members possess, and at what proficiency level? Consider the applications of these technologies and what can be achieved with them.
Start by compiling a list and assigning relevant parameters.
4. What do I need to maintain the product in these technologies?
Creating it is one thing, but then it needs to be hosted, maintained, and scaled. So, what exactly is required here? Are there specific servers, hosting solutions, cloud services, DevOps skills, specialized environments, or perhaps something else?
You should compile a list including all the steps.
5. Business technology research
Here we arrive at an intriguing juncture that essentially determines whether I opt for a particular technology. While we may possess the necessary expertise to create a product using a specific technology, it becomes vital to consider its performance and cost-effectiveness. After all, what’s the use if it’s slow, expensive, or both?
At this stage, I conduct a comprehensive evaluation, taking into account several factors:
- Market Popularity: I assess the popularity of these technologies in the market, whether they are on the rise or decline.
- Reputation: I investigate what others are saying about these technologies, as well as the volume of available online resources.
- Economic Factors: I delve into how much programmers earn working with these technologies, which markets they are in demand, and the associated maintenance and development costs.
- Alternatives: I explore potential alternatives and the capabilities they offer.
This process rarely provides a straightforward answer. There are often multiple considerations and trade-offs. Sometimes the cost may be high but justified, while other times a lower cost may not entirely justify the choice. Occasionally, it may make sense to start with one technology and transition to another at a later stage, among other possibilities.
Nonetheless, the bottom line is that the numbers must align. If they do, I can confidently make a decision. If not, I opt for the most promising alternative and revisit step 4.
Choosing the Right Technology: What’s the Best Option?
Of course, there is no one-size-fits-all answer. Choosing the right technology in which to build your business, product, or application is a challenging decision, to say the least.
Certainly, it’s easier to provide guidance on how to choose technology than to pinpoint a specific technology to use. This is especially true since technologies, trends, habits, and the capabilities of various solutions are continually evolving.
However, one crucial aspect remains paramount: the importance of making an informed decision based on diligent research. It’s essential to approach this choice consciously, wisely, and without preconceptions.
It’s also worth noting that your initial decision doesn’t have to be set in stone. While making a well-informed choice at the outset can simplify things in the future, remember that you can always redevelop the application (even though it can be challenging and costly, it’s possible). Furthermore, pivoting is always an option.