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,โ€

๐Ÿ‘‰ ๐‘ฐ๐’‡ ๐’•๐’‰๐’†๐’“๐’† ๐’˜๐’‚๐’” ๐’‚ ๐’•๐’†๐’„๐’‰๐’๐’๐’๐’๐’ˆ๐’š ๐’•๐’‰๐’‚๐’• ๐’˜๐’‚๐’” ๐’‹๐’–๐’”๐’• โ€œ๐›๐ž๐ญ๐ญ๐ž๐ซ,โ€ ๐’๐’๐’ƒ๐’๐’…๐’š ๐’˜๐’๐’–๐’๐’… ๐’–๐’”๐’† ๐’‚๐’๐’š๐’•๐’‰๐’Š๐’๐’ˆ ๐’†๐’๐’”๐’†.

๐ต๐‘’๐‘“๐‘œ๐‘Ÿ๐‘’ ๐‘Ž๐‘‘๐‘œ๐‘๐‘ก๐‘–๐‘›๐‘” ๐‘Ž๐‘›๐‘ฆ ๐‘ก๐‘’๐‘โ„Ž๐‘›๐‘œ๐‘™๐‘œ๐‘”๐‘ฆ, ๐‘๐‘œ๐‘›๐‘ ๐‘–๐‘‘๐‘’๐‘Ÿ ๐‘Ž๐‘ ๐‘˜๐‘–๐‘›๐‘” ๐‘กโ„Ž๐‘’ ๐‘“๐‘œ๐‘™๐‘™๐‘œ๐‘ค๐‘–๐‘›๐‘” ๐‘ž๐‘ข๐‘’๐‘ ๐‘ก๐‘–๐‘œ๐‘›๐‘ :

  1. What are your systemโ€™s requirements? (functional and non-functional requirements)
  2. Which requirements are most ๐ข๐ฆ๐ฉ๐จ๐ซ๐ญ๐š๐ง๐ญ, ๐œ๐ซ๐ข๐ญ๐ข๐œ๐š๐ฅ, or ๐ซ๐ž๐ช๐ฎ๐ข๐ซ๐ž๐ ๐ญ๐จ ๐ ๐จ ๐ญ๐จ ๐ฆ๐š๐ซ๐ค๐ž๐ญ ๐ช๐ฎ๐ข๐œ๐ค๐ฅ๐ฒ, and which ones can be ๐šŒฬถ๐š˜ฬถ๐š–ฬถ๐š™ฬถ๐š›ฬถ๐š˜ฬถ๐š–ฬถ๐š’ฬถ๐šœฬถ๐šŽฬถ๐šฬถ? (Prioritize your needs! You canโ€™t have it all)
  3. Does this technology align with your application needs? In other words, is it โ€œperformโ€ or โ€œscalable,โ€ or suited for your specific use case?
  4. 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?
  5. 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?
  6. 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! ๐Ÿš€