REM's guiding principles are applied to how we develop our core product and custom solutions. In this blog post I will demonstrate how REM fosters improvement in our overall development process by way of embracing iterative development practices.
When our team decides on a new feature to add to [email protected], we dissect the requirements and intended output of the feature to determine all of the pieces that will make it tick. By doing this we are able to break down larger requirements into smaller pieces that we can refine separately from all other parts of the solution. As these various pieces are developed, they are constantly tested against the full solution to ensure they meet the list of requirements. This is the principle behind iterative development and it applies well to our work flow.
An example of this in action within the [email protected] ecosystem can be experienced in our eCommerce solution. A small, but very important part of our eCommerce solution is the receipt generator. The code that we have developed to produce receipts for orders processed through our eCommerce solution acts entirely separate from other processes in the eCommerce solution. This lends many benefits to us and our customers. Not only are we able to constantly refine and tweak our receipt generation process so that it is quick, efficient, and reliable - we are also able to completely customize its output in order to meet our customers' specific needs. If a customer requires receipts to prevent pricing from being visible, we can easily remove pricing from their receipts while preventing this custom requirement from affecting any other customer's receipt generation process. Once we have made this change, we can test the newly modified receipt generation process and tweak it as needed without affecting the rest of our eCommerce solution.