Great Questions to Decide on a Technology

As Tech Lead or Software Architect, we need to know what technology currently available and what they are capable of doing. We can’t possibly know everything, but we need to be broadly familiar with nearly ALL of it. We have to always live with passion about technology as an adventurer. Constantly we need to choose a new technology in order to increase the odd of resolving existing problems at hand. Great! So, what should we ask first before jumping in?

Following questions are the ones I collected and constantly used:

Question 1: What type of apps is the technology being used for ? Are other areas within our industry using it ?

Question 2: What problem does it solve ?

  • Does the technology align with our product development needs?
  • What percentage of capacities will you use it ?
    • If it’s relatively low percentage, do you have clear justification for its worth since there is extra overhead involved (e.g. paying significant amount and resource)

Question 3: What problems does it introduce ?

  • It is important to understand the operational impacts the technology will have on our organisation.

Question 4: Where are people struggling when they implement it ?

Question 5: Is there good online support ? Does it have active community ? Can we find the information about it in Stackoverflow ?

  • We need strong community when the real issue arise and need to be be resolved fast.

Question 6: Is there active development around the technology ? Any growing level of interest in it from company or community ?

Question 7: What are the alternative ? Where is it going and does that align with where we anticipate the business going ?

Question 8: Does it have a road map ?

  • Where is it going ?
  • Does it align with where we anticipate our business growing ?

Question 9: Are there books written about it ?

Question 10: What revision is it ? Has it gone beyond a 1.0 release ?

  • Using a technology before a 1.0 release can be very tricky when things go wrong.

Question 11: What are the cost associated with it ?

  • One-time charge ? or per user or computing power ?
  • It’s important to know it before trying to sell it to business

Question 12: What are the licensing implications ?

  • Di they affect our intellectual property or the ability to charge for our product ?
  • We need to understand the licensing impacts on our business in term of our ability to generate revenue and how it limits us

In retrospect, I found those questions extremely useful in affirming a right decision and stop a wrong choice from being made. Often I used it to identify the mistake that I made so that I could improve my future decision making.

Last but not lease, picking up and learning new technology is always very appealing to us as Software Architect or Tech Lead. But we must remember that technology needs to be appropriate for the problems at hand.