Tech Articles‎ > ‎Other‎ > ‎

Types of custom software development work

One of the great features of Cloud Retailer is the ability to customize it to meet your specific needs.  This can be done via API, the user interface layer, workflow, reports, labels, etc.

If the Cloud Retailer team conducts the customization we classify the work into two different categories:

Bespoke development

This is where we modify the system where the functionality is specific for an individual customer.  We charge an hourly rate for this work plus a small monthly fee.  The monthly fee represents the work we will need to do to make sure any custom tailoring will continue to work with new versions of Cloud Retailer.

Framework development

This is where we modify the system for a specific project BUT the customer involved will allow us to do this work in the manner we see fit to make the functionality they are after generally reusable for public consumption.  This has an important few key elements typically:
  • It often accomplishes the customer's goal for the project but it likely does not work or look EXACTLY the way the customer wants it to.
    • If we can build it in a way that accomplishes the goal but fits into our product more generally then it may be a candidate for framework development.
    • If you feel you need something to work in a very specific manner or look a specific way - then it is bespoke development.
    • We typically build features out less for a specific purpose and more like a tool in a toolbox that can be used for multiple things.  It's a bit more generic than bespoke development.
    • If we built it for one customer, one time, then it's bespoke development.  
  • It takes us much longer
    • If we build something out to work for many customers and make it apart of our core product the amount of time we spend to make sure it's fully featured is a lot more than bespoke development.  When it's part of our core product we make sure it's performance-optimized, that we have automated testing build in (unit and integration tests), it's likely more configurable, etc.  
    • That said - it's typically cheaper to have the work done.  Since it's a general enhancement to the product we fund a majority of the costs associated with the development.
  • Since it's apart of our core product there are usually no ongoing costs as we're no longer attempting to maintain a special thing for a single customer.