Every time our engineers make a substantive change, they will commit this change to GitHub (or other hosting service of your choice). Def Method employs an automated continuous delivery process whereby any changes in GitHub are detected. Once a change is detected, all unit tests are run. If they fail, all developers are notified immediately so that a fix can be made. If all tests pass, the continuous delivery system will deploy these new changes directly to the staging environment.
Def Method maintains two environments when building applications: a staging and a production environment. Production is what you might expect: it’s the live site, the public-facing application that everyone uses on a daily basis. The staging environment is not open to the public. Our customer and Def Method engineers are the only ones who can see the staging environment. With a staging environment, stakeholders can see our progress, evaluate features, and experiment without worrying about impacting real users. We also benefit from seeing features run on an identical ecosystem as production. This increases the efficiency of delivering features and reduces the risk of introducing bugs into the production system.
At Def Method, we have several core values that we insist on when working with a client. One of those core values is the use of test-driven development. Test Driven Development or TDD, for short, is a software development process that builds up a suite of automated tests alongside our software. These tests run continuously to ensure proper functionality and to reduce the presence of bugs. In our opinion, testing is paramount for the future success of your project. Since we partner with each of our clients, your future success is a main priority. See more on our philosophy on test-first in the article below.
In almost any software engineering project, you will find the use of third-party libraries/dependencies. While the practice of using third-party libraries can help to speed up the velocity of development in the short term, it's important to be mindful of the code being added to your project so that it doesn't have adverse effects in the long-term. In this article, Principal Engineer Paul Ort explores the topic of code reuse in the delivery of value. To learn more about this topic or connect with Paul, please contact us via the form below.