Software Evaluation General Considerations
Big questions are always raised when new initiatives – those kinds of things that are coming from nowhere – starting getting shape from company departments which are in trouble or is a need to innovate. Initiatives are born mainly from necessity and because in a company is not in a constant state of affairs: you either innovate or die – troubles and issues are always present so something needs to be done.
Over the years I have started many initiatives which had became real projects or just references for others. Tipping the sea with the finger is what is described more accurately as an initiative.
We are facing all the time customers who are more or less educated in the field where they want to leverage their creativity. Helping a customer is the most valuable thing to do and we need to remove any doubts from our minds and theirs since if you do don’t do it it could end up in a complete lack of understanding of the scope or context for the project.
First, we’ll need to make them understand all the implications and create for them – and for our sanity – a view of the big picture. We need to let them know that Renascence is for everyone and knowledge should be share not to a few but to all of us. Let’s presume we’ll need to build an e-commerce website for our customer and we’ll need to explain what are the main steps in delivering the project. Out there are a plethora of e-commerce platforms where we can pick and satisfy the needs of any demanding customer.
Still, we need to thick a small list of items which will – first – educate our customer – second – will cover the missed requirements or not even considered and third but not the last – will clarify a few among many questions: What do you want to do? How much you need have to start doing what you want to do? How quick can you be out there? How much it costs?
Let’s have a look at the some of the main questions for our study case.
What are the out of the box features?
Out of the box features of a software product is a set of features or functionality of a software product that is working immediately after the installation without any configuration or modification. The list of features is part of the product presentation and can give you a top overview of what can be delivered or achieved with the product.
Have a detailed look and invite others to have they views regarding the features of the software product.
Very interesting term indeed and its definition is as: the length of time it takes for a product being available for sale. Probably you’ll think that an e-commerce platform which is already built should not be considered under the time-to-market scope.
Well, that is not true. There is no silver bullet solution in e-commerce and it’s because even there is a general scope covered within the features of the product, always is something that needs to be configured specifically for the business. It could be that some of the features could be missing or are not as they should be – a general case for e.g.: delivery options.
Developing or reconfigure the features requires time and therefore time-to-market should be considered as a deliverable factor of the project.
Data migration should be considered when the customer has already a history as a business and most of the time for medium and large businesses data migration is required. How quick the data can be migrated and if the data is consistently transferred into the new model? In most of the cases, the data which is required to be migrated is more complex and we should not assume is no any need to add or extend the new e-commerce model. Therefore are different levels of migration and probably the best representation is as follow:
- One-to-One: models are similar and there is required just a field matching.
- One-to-Many: the model we migrate “to” data is more complex from the one we import from and we need to extend/fill data model with default values.
- Many-to-One: the model we migrate “to” data is less complex from the one we import from and we should extend the new model with properties/columns – it is possible – to include the data in all the queries or command.
In some cases is required to have some integration mechanisms to keep the new system data consistent with the rest of the software components from the company ecosystem. Which means, the new platform should allow by default entry points for data CRUD. If they don’t exist then we need to build them. How easy and quick can be build should be considered, analyzed and estimated?
Every time when I had to deliver a new e-commerce platform – for e.g.: on WordPress or Magento – I had to customise more or less the solution for the benefit of the business. How easy can the customisation be achieved? Customisation process is started from brandification – look and feel of the website or customer experience – to the internal process flows like for e.g.: customer checkout. The process will continue during the online life of the e-commerce platform. Customisation done right means that changes are frequent and are required for growth.
Upgrades are important due to their quality to improve the core services and features of the platform. It is important to understand the impact of the upgrades to the entire platform and plan any upgrade including the packages, plugins or other independent components that are coming bundled with the platform. How much money, time and effort will be expected to invest when completing an upgrade? Are you going to be able to move from one version to another?
Extensions and Add-ons
Extensions are improving the existing code base with the new functionality. Extensions could be tight to the version of the source code that has been developing on. This means that each time when a source code is upgraded then every extension should be tested for compatibility. However, the principal reason for having extension is cutting the time-to-market and bring more value to the solution. Most of the online frameworks have marketplaces where from with one-click you can add more features to the solution.
Add-ons, on the other hand, are components that are decoupled from the source code. Which means there it will be a more grade of compatibility with the newer versions of the source code.
If the site grows and the products we sell can be a rollout to multiple countries we need to evaluate how easy it will need to handle a multi-country roll out. Releasing the site in multiple countries would actually mean to have some sort of zone identification access to the server from the appropriate location. This means we can opt-in for zone availability or at least to consider the option.
What is the investment after the final solution is deployed and the platform requires maintenance? Maintenance costs should consider both administrative e-commerce function as well as technical support. Can be on premises or hosting. In-house development or partnership – partners are companies chosen by the software provider to work with since there are best practices and policies to be in place for the product to work as defined.
Having a strong community of fellow merchants, developers, and marketers is like having a large group of experienced personal advisors. Most of the community forums are free of charge and free to join. Check if the solution adopted has a community and how easy is to join. Addressing any query is very important activity once the adoption is a definitive solution. When you start to assess the features you should get around easy and bring knowledge in-house, so having a strong based knowledge is important.
Online Documentation and Code Sample
Documentation and Code Sample are also important for any technical and non-technical personnel within the business. Most of the companies which are building software solutions are providing a certain level of documentation and support. At this stage is an option for you to be let to evaluate “in cold approach” the solution just using the documentation or/and the code provided. This way the teams can evaluate correctly and place the solution in the company context under procedures, processes and policies.
This is a specification to be used as an interface by software components to communicate with each other. Some of the e-commerce platforms offer some API for extending functionality or features. This is a win-win situation since standardization is required for platform consistency. API allows building functionality extensions for your store when custom functionality is required and cannot be added by extensions or add-ons. Look for that too.
Cost structure of the solution
Costs, costs and other costs. Everywhere are costs. Let’s have some splitting of the costs: software, hardware and customisations costs.
Software costs represent the money you will pay for the solution or any of its components. In the case of an in-house development, you might have to pay for database engines, development IDE’s, application servers, web servers. In the case of an e-commerce solution, the cost is associated with the core engine and any associated components required. In some cases, if the solution is hosted in the cloud and just installed then this is the total cost. Price models for the e-commerce depend on where you would like to host your solution: decoupled from a marketplace or dependent on the marketplace. Marketplaces are dedicated multi-shop online solution like Etsy or Shopify and you are depended on their infrastructure. In the case of the marketplace, there are price levels based on the number of items you want to sell or the revenue your website generates. In case that you host the solution on your own premises or in your own cloud, you could find that some of the models contain software licenses based on the number of servers used to run the solution or some other standard software pricing mechanism.
Hardware costs are related to how much you pay for the hardware which is used to run the solutions. Back in the days when the best way was to host on-premises investment into hardware could have been tremendous. However, the model started to shift very quickly when the cloud hosting solutions flourish on the market. Nowadays you pay for what you use with the option to scale horizontal and vertical anytime based on the traffic load.
Customisation costs are incurred when a question like how much it cost you to change the look and feel of the platform? In case, you have developed the solution in-house the costs are the money you have to pay for completing the job. On the other hand, in case of e-commerce package, this is the cost of professional services to complete the required customisation of the solution.
Conversion of a site is that one factor which shows you if the goals and marketing strategy are successful for your online solution. It doesn’t matter how much you will invest into the solution if the website does not convert – which means getting the visitors to do what you want them to do, whether is buying your product, sign up to the newsletter etc. We need to have at this stage a conversion research of the solution adopted. We need to find answers to a few questions like: How well is the out-of-the-box solution optimized for conversion? What are conversion rates for the other e-commerce sites using the same platform? How easy is it to introduce optimization work to the platform?
Software evaluation is part of software adoption protocol and yet many of companies ignore any evaluation before adoption. Evaluation should be started by internal teams before requesting other information from the vendor or adoption open source solutions. If there is a positive answer related to the solution by answering to the questions above and other more – some of them will pop up in the middle of the process – then the picked solution is the right one. Still, expect the inevitability of costs and customisation time since every solution is design around models which in many cases do not fit your vision.
There is no getting right from the start, no any silver bullet when picking the solution. Continue to search, research and reevaluate your options against the solution and you’ll make the right decision.
How to create RESTful API
Restful APIs services and Microservices with Mule E.S.B Community EditionThe PDF file contains hand on tutorial alongside with technical details related to flow components. Standard screen shoots have been made however some of them have low quality. There are34 pages in landscape mode. What is in this chapter?
- Why MULE ESB RESTfull APIs?
- Bounded Context
- The Project
- Products API URI
- Customer API URI
- Order API URI
Introductory Chapter 01
Create a New Project using Anypoint StudioThe PDF file contains step-by-step tutorial. Standard screen shoots have been made however some of them have low quality. There are 15 pages in landscape mode.
- New Project.
- Run the First Flow.
- Export for deploy.
Introductory Chapter 01
Create a New Project using Anypoint StudioThe MDA file contains the source code for the Introductory Chapter 01. The source code has been generated using Anypoint Studio - Tooling for Mule ESB version 6.3.0 on Mac OS Sierra. The code compiled and is not a guarantee that will work on Windows machine when imported. Has not been tested on other OS than Mac OS Sierra.
- New Project.
- Run the First Flow.
- Export for deploy.
Comments are closed