In this blog post, we’ll go through the 4D strategy behind the decision to release versions that are not fully developed, which is summarized in the “release early, release often” paradigm.
What is Release Early, Release Often (RERO)?
RERO is a software development philosophy that emphasizes the importance of early and frequent releases. And we at 4D try to live up to that philosophy by establishing an agile and open-minded culture that allows us to include customer feedback at an early stage.
Experience the Latest and Greatest earlier
By releasing early, we give our users the chance to experience the latest software release. If the released feature is inadequate for any reason, users get to respond much faster. These short feedback loops allow us to steer product development teams in the right direction to ensure that customer preferences are addressed.
Faster Identification of Bugs
Early releases are an opportunity to test new features in real-life scenarios. This allows us to identify bugs and fix them quickly. This happened recently with the autocompletion of some 4D commands which automatically add closing parentheses; In certain contexts, this would create errors in the code. Something difficult to discover without putting the product in the hands of real customers to use it in real scenarios
The Smaller The Release, The Less Likely Something Will Go Wrong
Longer periods between releases increase the pressure to make each release meaningful, which means more code, more features, and more testing. The result is the possibility of having more bugs. Smaller, faster versions naturally limit the number of features and therefore the number of bugs.
The first principle in the Agile Manifesto highlights that “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
You can always choose what strategy fits your needs. Early releases ensure short feedback loops and allow you to benefit early from new features, but you can also decide to wait until they are fully developed.