Prove Your Success

Get in Touch →

CUSTOM DEVELOPMENT

Shopping Cart Elite operates under Agile Software Development schedule. We are able to roll out features that customers need. Whenever we build a new feature it is crucial to understand that we are not doing a custom feature that is strictly for one client, and we are not hard coding anything just to make it work. We have to create the feature for everyone and we have to think of every possible business case scenario, so we dont have to re-develop it in the future. Every feature we develop is released to every client in Shopping Cart Elite, so it is essential we follow this process.
SPECIFICATION ($150/hr)
  • Business Case Scenario - We draw out charts of all possible business case scenarios for a feature
  • Current and Future Conflicts - We need check if the new feature will conflict with an existing feature and how it will conflict with future features. For example, we have an automotive vehicle search on the website that starts with MAKE MODEL YEAR. A customer requested we change that to YEAR MAKE MODEL because that would eliminate so many models in certain cases. The client thinks this is simple, just change the places of the drop down, and it will work. But this five minute enhancement actually took two months. There were over a dozen conflicts. The MAKE MODEL YEAR was first built from a database then cached on the website. The database was used in four separate places on the website as 8 separate places on in the back office. So once we switch the database to look up year first, all 12 places would need to be modified. A client might request a very basic feature, but due to the conflicts the price of the enhancement would cost more than some genuinely big new features. Shopping Cart Elite has over 4 million lines of code, unfortunately a feature cant be judged by its initial development only.
  • New Development or Enhancement - Sometimes developing a new feature doesnt make sense because we can enhance an existing feature, and sometimes enhancing a feature would take so much work that we find a new way to address a certain feature. Both scenarios have their Pros and Cons.
  • Project Scope - If we feel that this feature is not aligned with our core focus, target market or it is outside of our framework. We will reject the feature altogether. At times, the feature the client wants is already on our to do list, and we either reimburse up to 70% of the development cost or do it free.
DESIGN ($75/hr)
  • Back office UI - Design a user friendly screen in the desktop back office application for the new feature.
  • Back office Setting - Add a setting to the global setting for all customers and add it to the setup wizard
  • Website UI Graphic Design - Design a UI for the website
  • Website UI HTML/CSS Coding - Slice and apply the design on the template. Map all Classes to themes in the settings
DEVELOPMENT ($125/hr)
  • Backoffice Development - Develop the feature in the back office and address all the conflicts
  • Front End Development - Code the new design on the website, merge themes with all customers and optimize the performance of the feature
  • Middle Tier Development - Some features require a service to be developed. For example an auto responder that must send out an email on a certain schedule, or Quickbooks integrations which requires communication every minute.
TESTING ($30/hr)
  • Beta Release - Release feature on the beta server for testing
  • QA Testing - Spend X days testing the feature to make sure it is bug free
  • Website UI testing all browsers - Test the feature on all desktop and mobile browsers
  • Back office UI testing - Test the back office to make sure the feature works and no conflicts arise
DEBUGGING ($125/hr)
  • Missed Enhancements - It is common that we miss something in the business scenario and have to come back to enhance it.
  • Bugs - Even though the developers release the code bug free, it is only bug free on their computer environment. Once in beta environment bug commonly arise. Most new features that are released have bugs in them, it is rare for it to be released bug free. All bugs must be fixed before production release.
  • Future Upkeep - When we introduce a feature we need to upkeep it forever, depending on the liability of the feature and how it will be used by all customers the rate will change for the project.
SUPPORT ($25/hr)
  • Tutorials - Once the project is closed, a tutorial is designed for the new feature and released into the knowledge base.
  • Customer Support - Some customer do not like to go through the tutorials, so they request customer support. Depending on the complexity of the feature we need train not only the client who ordered the feature, but also future customers who will use it.
  • Managing - Each project must have a dedicated manager who is responsible to start and close the project. The manager will be the bridge between the client, developers, designers and Shopping Cart Elite.
NOTE:
  • Unless agreed otherwise the client will be responsible to participate in the BETA testing and report any bugs. The client should understand that any new enhancement released into production (even after BETA testing) may not be stable for up to 2 months and should be used with caution. The client should not be surprised or get upset when the BETA testing did not experience any issues but some issues arise in production. The client should be patient for the fixes to be released and participate in the process.
  • Any fixes that will be coded in most cases can't be released into production on demand. This means that if the enhancement is not stable in production, then the client will have to find a work around and not use the feature until the fixes are released. Usually the release can be done within 1-2 weeks after the fix is done in BETA. The client should be prepared that new enhancement that are not stable may not be usable until they are stabilized so work around should be prepared in advance.
  • The client should participate in BETA testing in BETA environment when asked to make sure when released into production there will be no issues.
  • If we make a release, and the new code or the previous existing code will break, the client must be aware of the following. Depending on how many clients are affected it may not be possible to release another patch into production on demand. If the code broke and it is affecting one client, it is not a mission critical feature, and it is past the window of releasing patch (24 hours after release), then the patch will have to wait for the next release date. We typically have a release once every week. The client must understand this and make an effort to be make themselves available on release date to test their new features, otherwise they risk stalling their business for a week if something happens on a weekday after the release was made.
  • When we promise a feature to a client without a deadline, the reason is because we have create to a specification for it first. Depending on the complexity of the enhancement we may need more than one developer involved as well as the UI designer involved in the project. If we require more than one person to be involved we must schedule a time when they will all be available to discuss the new feature, and then schedule it accordingly for each party to work after each other. If one of the responsible parties is in the middle of the project we will have to wait until all parties are available to start this discussion and once the specification is complete we can begin. When the specification is this complex we are unable to deliver the features within 1-2 weeks, it may take as long as 3-6 months to complete it.