Blog

What is important when evaluating the tech to support your product development

Posted by:

For business owners. Keep you tech team honest.

For techies. Make sound, objective decisions.

When evaluating a tech framework to build a product it is important to take the following into account:

Language v/s framework. What is the difference?

Language is the language used to code applications or products. This is the technical version of the spoken language . Frameworks are built on-top of 1 or more languages and are aimed to make development easier by cutting down on the amount of code we need to write,

Language to use

When choosing a language it will depend if you are coming from a corporate perspective or an entrepreneur perspective as the reasons for these choices will be quite different depending.

CorporateEntrepreneur
Wider technical landscape and corporate governance: integration with wider system landscape will play a roll. Lowest cost to get to market. If the product is new and the only one you have you would want to get to market at the lowest cost and as quickly as possible. Once you have demonstrated the success of the product, you will have money to invest to rework some parts of the application if necessary.
Existing skills set within the business. Accessibility to skills. Maybe local skills are consideration for you as you want to first work with a local team, before accessing international skills.
Existing frameworks used within the business. It becomes expensive and difficult to maintain a wider system landscape if we have a million different frameworks and languages to support different moving parts of a highly complex, highly integrated system landscape.
Where and how the application will be deployed. Will this be a mobile application, a web application or a desktop application. What operating systems need to be supported? Example: if it is a desktop application and it will be running within a Windows environment, going for a Microsoft based language might be the best option. But if you do not have control over the operating systems of the main user base, you might want to consider an open source language that can be packaged to run on a Windows machine. If you do not have a close relationship with the customer you might not want to have operating specific requirements and the support of an environment outside of your control might be problematic.Where and how the application will be deployed. Will this be a mobile application, a web application or a desktop application. What operating systems need to be supported? Example: if it is a desktop application and it will be running within a Windows environment, going for a Microsoft based language might be the best option. But if you do not have control over the operating systems of the main user base, you might want to consider an open source language that can be packaged to run on a Windows machine. If you do not have a close relationship with the customer you might not want to have operating specific requirements and the support of an environment outside of your control might be problematic.

Framework to use

CorporateEntrepreneurs
Since cost or budget is often not a constrain you can choose to write an iOS and an Android app with 2 different codebases as you have existing teams and applications in place running on these platforms anyway.Cost of the code base. Often entrepreneurs do not have money to develop native mobile applications. 1 for iOS, 1 for Android and potentially even a third if you want to consider Windows only phones. Often cross-platform frameworks and languages makes more sense. Historically this would have meant choosing open source.
Existing skills set within the business.Accessibility to skills. If you have a small team, introducing a new framework might reduce time to market as new learning will be required from an existing team. If you do not have a team, you might want to look at the most readily available skills sets.
Future hires: if you have a small team and adding new tech, think about the skills required for new people joining the team or people replacing developers of your current team.
Security. Nowadays it does not matter if you are a corporate or an entrepreneur cyber security is a big deal. How secure is the framework and what security standards and protocols are used or applied within the framework.Security. Nowadays it does not matter if you are a corporate or an entrepreneur cyber security is a big deal. How secure is the framework and what security standards and protocols are used or applied within the framework.

Cost of securing your application is unfortunately no longer an optional extra. You have to test your application for infiltration vulnerabilities and make sure your image and credibility will not be ruined after launch based on a security breach.
Activity and prolongevity:
* How long has the language been around?
* What is the support community around the framework?
* How frequent is updates being released?

If the framework is discontinued you will have to completely rewrite the application at some point.
Activity and prolongevity:
* How long has the language been around?
* What is the support community around the framework?
* How frequent is updates being released?

If the framework is discontinued you will have to completely rewrite the application at some point.
Is the framework built on technologies and approaches native to the provider? For instance, why would Microsoft bring out support for Java? If they do, it is probably not a good idea to jump on the band wagon.Is the framework built on technologies and approaches native to the provider? For instance, why would Microsoft bring out support for Java? If they do, it is probably not a good idea to jump on the band wagon.
Bank on open source to get you going. These communities have huge support and has been around forever (for instance JavaScript, Java). It keeps your launch cost low.

Framework selection gone wrong

An example of where we went wrong before when selecting a framework.

In the mid 2000’s I worked at a business where the following was the landscape:

  • There were 3 different systems in place supporting 50% of the same functionality.
  • Every Java based front-end framework that was brought out was used across the system, making a single user experience very challenging.
  • We needed to rewrite to provide a consistent user experience and had to choose a new web-based UI framework.

We chose: Adobe Flex, built on top of Apache Flex. Last activity in this community was in 2017.

That business just had another UI framework introduce with half migrated functionality and no consistent user experience.

I believe it is best to bank on known languages and the frameworks built on top of them, unless you have a very specialised and specific problem to solve that requires different tech. One of the first languages I coded in was JavaScript. This was back in 2000. It is still hugely used today and many frameworks have been built on top of JavaScript. I can dive right into coding on any of these new frameworks as the fundamentals it is built on comes form the same language.

Both Adobe and Microsoft is known to discontinue frameworks that results in huge financial implications to replace the technology.

Adobe discontinued products: https://helpx.adobe.com/africa/x-productkb/policy-pricing/discontinued-products.html

Microsoft discontinued products: https://en.wikipedia.org/wiki/Category:Discontinued_Microsoft_development_tools

Selection sign off

To prevent what is explained under Framework selection gone wrong ensure you have a peer review or sign off process in place to validate the findings of the individuals that chose the framework and make use of an evaluation framework to keep it objective and have the analysis outcome visible. See Evaluation matrix.

Operating platforms

What operating systems and browsers do you have to support?

  • Internet explorer
  • Chrome
  • Firefox

What mobile platforms would you want to make your app available on?

  • Google Playstore
  • Apple Appstore
  • Microsoft App store

Evaluation matrix

When in doubt, draw up an evaluation matrix framework. You can do this in excel or table format. That is generally the easiest. Make a list of important considerations for your product or organisation and score each language and framework against your evaluation criteria.

For a sample evaluation matrix please download the following excel example:

Online resources

Obviously also consult online resources when doing evaluations. Wikipedia has base info on everything you looking to evaluate.

Example eval on web frameworks: https://en.wikipedia.org/wiki/Comparison_of_web_frameworks

Author: Tania van Wyk de Vries

0

About the Author:

  Related Posts
  • No related posts found.