This week, as I was researching OLED vs QLED for my home office screen, a thought realize me. The comparison is applicable to tech decisions as well.
โIf you want precise colors, you have to go with OLED, if you want vivid colors, you have to go with QLEDโ, it is all about your requirement

โAs an architect, you should design for the present, with an awareness of the past, for a future which is essentially unknown.โ โย Becoming an Agile Software Architect

source:ย https://www.amazon.com/Becoming-Agile-Software-Architect-continually/dp/1800563841
In the context of agile software development, the architect plays an important role in quickly delivering high-quality solutions that fulfill customersโ immediate requirements. This is achieved through consistent velocity, cost optimization, and the delivery of maximum value. Ensuring a continuous flow by removing obstacles is important for sustained delivery success. Architects are tasked with providing a comprehensive vision, breaking down solutions into manageable components, analyzing trade-offs, and future possibilities of architecture, and necessary decisions.
In this architectโs decision-making process, one of the key determinations lies in technology selection. Here, Iโll describe my perspective on technology selection.
๐ Why is one technology better than another? To me, these types of questions are the wrong to ask.
Every technology is ๐จ๐ฉ๐ญ๐ข๐ฆ๐ข๐ณ๐๐ for a specific ๐ฉ๐ฎ๐ซ๐ฉ๐จ๐ฌ๐. That purpose could be:
๐ A ๐ฐ๐จ๐ซ๐ค๐ฅ๐จ๐๐
๐ ๏ธ A ๐ฎ๐ฌ๐-๐๐๐ฌ๐ ( business context)
๐ Operations like ๐ซ๐๐๐/๐ฐ๐ซ๐ข๐ญ๐
๐ฅ๏ธ Environmental parameters such as ๐ซ๐ฎ๐ง๐ญ๐ข๐ฆ๐/๐๐จ๐ฆ๐ฉ๐ข๐ฅ๐ time, or ๐๐ ๐ซ๐๐ง๐๐๐ซ๐ข๐ง๐ .
It is never simply โ๐๐๐ญ๐ญ๐๐ซโ. It is โ๐๐๐ญ๐ญ๐๐ซโ for that specific โpurpose,โ
๐ ๐ฐ๐ ๐๐๐๐๐ ๐๐๐ ๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐ ๐๐๐๐ โ๐๐๐ญ๐ญ๐๐ซ,โ ๐๐๐๐๐ ๐ ๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐๐.
๐ต๐๐๐๐๐ ๐๐๐๐๐ก๐๐๐ ๐๐๐ฆ ๐ก๐๐โ๐๐๐๐๐๐ฆ, ๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐ ๐กโ๐ ๐๐๐๐๐๐ค๐๐๐ ๐๐ข๐๐ ๐ก๐๐๐๐ :
- What are your systemโs requirements? (functional and non-functional requirements)
- Which requirements are most ๐ข๐ฆ๐ฉ๐จ๐ซ๐ญ๐๐ง๐ญ, ๐๐ซ๐ข๐ญ๐ข๐๐๐ฅ, or ๐ซ๐๐ช๐ฎ๐ข๐ซ๐๐ ๐ญ๐จ ๐ ๐จ ๐ญ๐จ ๐ฆ๐๐ซ๐ค๐๐ญ ๐ช๐ฎ๐ข๐๐ค๐ฅ๐ฒ, and which ones can be ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ๐ฬถ? (Prioritize your needs! You canโt have it all)
- Does this technology align with your application needs? In other words, is it โperformโ or โscalable,โ or suited for your specific use case?
- Do you have the current ๐ซ๐๐ฌ๐จ๐ฎ๐ซ๐๐๐ฌ and talent pool to effectively support this technology? What will happen to our current workforce? are they willing to migrate or will you force them to migrate?
- Is it truly worth it to migrate to new technology because it is just โbetterโ or โmore popularโ than other technology? If someone prefers one technology over another and tries to force it, do they have hands-on experience with both?
- Did we /Do we have a proper analysis of the decision? โ๐๐๐ญ๐ ๐ฆ๐๐ฒ ๐๐ข๐ฌ๐๐ฉ๐ฉ๐จ๐ข๐ง๐ญ, ๐๐ฎ๐ญ ๐ข๐ญ ๐ง๐๐ฏ๐๐ซ ๐ฅ๐ข๐๐ฌ.โ
๐ ๏ธ Architecture is all about balancing trade-offs, so when selecting technology, it is important to choose the right tool at the right time. You might need to revisit your technology choices from time to time and adopt them whenever needed.
If you enjoyed this article and found it insightful, please consider supporting it with some ๐ claps, sharing it ๐, and following me onย LinkedInย ๐. I value your feedback and would love to hear your opinions and ideas ๐ก. Donโt hesitate to comment below with topics youโre interested in or thoughts youโd like to share ๐ฌ. Letโs keep the conversation going and explore together! ๐