Choosing the right technology for your project can sometimes be a difficult decision. Most developers and technical leads face this demand every time a new project lands in their lap. With that said, the technology that is ultimately chosen means little if good development practices are not followed.
Good Web Design Practices lead to:
- better estimates for your project
- lesser costs
- higher end product quality
- shorter time to market
- less bugs introduced by the development team
A few of the latest server-side and client-side web technologies available are (Basic Frameworks):
- Laravel (PHP), Django (Python), Ruby on Rails, ASP.NET
- BackboneJS, AngularJS, Ember.js
A few platform based technology solutions available are:
- Ecommerce (Magento, Zencart, Bigcommerce, Shopify)
- CMS (WordPress, Joomla, Drupal, CMS Made Simple)
- LMS (Moodle, Scorm)
Choosing The Right Technology
The reason I wanted to go over the different types of solutions is because the scope requirements for the project should dictate which technology you move forward with.
Talking from experience I recommend choosing a basic framework only if the project is unique enough that a platform based solution won’t or can’t meet your requirements.
How do you make the right choice?
Understand your requirements by understanding your actual end goals for the project. What are you trying to achieve? What are the pain=points you are trying to overcome?
Breakdown the requirements into logical modules based on business logic. Don’t get ahead of yourself and start thinking about implementation logic at this phase. If a module is to vague then break it down further until you can’t break it down any more.
Identify the type of solution you wish to provide. Once requirements are gathered and logical design in place, identify your core modules that solution is most dependent on. If your requirements is predominantly a marketplace or product transactions, then clearly its an Ecommerce project. If the requirements focus on content delivery, then you likely need a CMS solution. If the requirements involve data processing and various inputs taken from different sources or if the requirements are a collection of different unrelated components interacting in a unique fashion, then likely a basic framework will be required. This is the choice if there are no platform based solutions available to meet your requirements.
Lastly, do plenty of research. This is the most critical part of the decision making process for choosing the right technology. Most mistakes and technical debts are made here at this point. Once the core modules are identified, research about them and find out the most popular technology or solution in that field.
In the unlikely case that coding complexity is too much, you will need to rethink your choice of platform. Choose another platform that covers most of your core requirements and search for modules or extensions to handle the remaining requirements.
Remember that the more code introduced increase the possibility of additional bugs which will lead to increased QA efforts before a production release.
If you liked this post please share it using the social media icons and/or comment below. We will respond!