Agile development best practices
Best practices for agile development and automating release management
In most projects, users expect that changes or fixes are applied as soon as possible so that their customers get the maximum benefit of using the application. The inability to deploy changes quickly or the failure of deployed changes in the production environment can negatively impact the customer's business. Incorporating agile methodology in application development facilitates frequent changes and ensures that those changes work as expected.
Pega Platform™ is built on the agile methodology, which makes it easy to implement agile development practices in Pega applications. Agile development best practices include:
- Frequent development iterations that are small in scope
- Continuous application testing to identify issues early
- Branched development that ensures only quality configurations are introduced
An agile development approach allows continuous, iterative application development based on small scope business requirements. When the requirements change, you can quickly capture feedback, and then make smaller but more frequent in-app changes to incorporate feedback in real time. For example, you may modify the user interface or add a chatbot based on feedback, user stories or bugs added in Agile Workbench.
To take the agile process further, DevOps is the process of bringing these components together to streamline how you build, validate, deploy, and deliver an application. Teams work across the application lifecycle and DevOps tightens the integration between development teams, test teams, and post-go-live support teams to provide a more streamlined and automated build, test, and deploy process across the development to production lifecycle.
In the following image, click the + icons to learn more about each agile development best practice.
Continuous integration best practices
During continuous integration, maintain these best practices:
- Keep the product rule Rule-Admin-Product, referenced in an application pipeline, up-to-date.
- Automatically trigger merges and builds by using the Deployment Manager.
- Identify issues early by running PegaUnit tests and critical integration tests before packaging the application. If any of these tests fail, stop the release pipeline until the issue is fixed.
- Publish the exported application archives into a repository, such as JFrog Artifactory, to maintain a version history of deployable applications.
Continuous delivery best practices
Follow these best practices to ensure application quality:
- Use Docker or a similar tool to create test environments for user acceptance tests (UAT) and exploratory tests.
- Create a wide variety of regression tests through the user interface and the service layer.
- Check the tests into a separate version control system such as Git.
- If a test fails, roll back the latest import.
- If all the tests pass, annotate the application package to indicate that it is ready to be deployed. Deployment can be performed manually or automatically.