The Pega Business Process Management (BPM) platform is built with Agile development and DevOps in mind. It consists of a suite of studios to support each member of the development team in their roles:
- Business Analysts (BAs)can quickly create working prototypes using the Designer Studio to help elicit requirements;
- Developers can use the App Studio and Dev Studio to quickly build and test intuitive user interfaces;
- Developers and Testers can easily create automated unit tests to ensure rules and other application components function as intended and bolster the Continuous Integration pipeline;
- Release Managers can create release pipelines with guardrails, test execution, package, and deployment to seamlessly take applications from the development stage all the way into production.
- The entire team can track, coordinate, and manage work using Pega Agile Studio, an agile project management system.
In this blog, I will discuss how the Pega BPM supports key components of Agile Developments and DevOps approaches.
The Pega BPM platform uses an approach called “Directly Capturing Objectives” (DCO) to allow BAs to visually capture requirements directly in the Pega Designer Studio, creating effective prototypes in real time. Prototypes created by a BA, and more complex requirements, business rules, and algorithms can then be refined and perfected by a Software Architect. This approach is more agile than a traditional Requirements Document to Software conversion because it:
- Produces working software more quickly (even if not complete),
- Fails fast (if the customer sees you building the wrong thing, they’ll identify it sooner),
- and is More responsive to change (indeed, this kind of real-time collaboration inherently welcomes and captures change throughout the process.)
Testing & Quality
Testing is a critical part of application development, and in Agile development a significant amount of the testing is done while development is still underway. The Pega platform provides several mechanisms to support this. First, when an Analyst or Architect is building a component of the system, they have the ability to Run the component (isolated from anything else) to see how it behaves. By doing this they can ensure their configuration has the intended effect, at the individual component level. Additionally, Unit Tests can be created to test components, processes, data models, transformations, and other isolated and integrated aspects of the system.
The latest release of the Pega platform at the time of this writing, 8.1, introduced new Scenario testing. This feature allows developers to record interactions with the system to develop automated tests not only for individual components, but also to test the full user interface and process flows as well.
Pega has a dashboard which shows test statistics, including overall scores for guardrail compliance, test coverage, and pass/fail rates of unit and scenario testing. This dashboard also shows tests broken down by case type, allowing you to quickly see what areas of your system need additional test attention.
The Pega Deployment Manager enables assisted or fully automated migration of applications between environments (e.g. from Staging to Production). A lead developer, build manager, or other designated person creates a deployment package containing all products, components, rules, user interfaces, and other pieces of an application. The deployment pipeline can be configured to check application quality, ensure guardrail compliance, validate successful test case execution, and deploy to one or more environments. Deployment pipeline execution can be fully automated for hands-off, repeatable deployments, and include stage gates which require manual intervention to proceed (such as a manual review of test results prior to approval to proceed to release.) The Application Packaging wizard can also export an application for deployment in disconnected environments.
Even with the rapid prototyping, DCO design and build capabilities, and built-in unit testing of Pega, it is still necessary to track features, change requests, defects, and other issues that come up over the course of developing and maintaining an application. Pega’s solution to this is Agile Studio – an agile-oriented work tracking system.
There are many ways that agile software development has been implemented (SAFe®, Adaptive Software Development, Scrum, Kanban, and Scrumban, just to name a few) – Pega Agile Studio is based on the Scrum framework. Agile Studio has the four standard Scrum roles of Stakeholder, Product Owner, Scrum Master, and Development Team. It includes Products, Releases, Backlogs, Sprints (time-boxed iterations of work), Planning tools, Dashboards and Reporting, and everything else you need to successfully manage an Agile project.
Work in Pega Agile Studio is organized around Products and Releases. A Product is the top-level organizational container and represents the system being developed. You might have one or many Products depending on your business model, or in the case of a single large Product, you might break it down into multiple smaller Products. One example of this would be a System of Systems, where each subsystem is organized as its own Product. Each Product then has one or more Releases, which are planned and tracked against a schedule. In addition to this, Agile Studio includes several Backlogs, which contain Epics and User Stories. The highest-level backlog is the Product Backlog, which is the full collection of epics and stories for the Product. Beneath that is the Release Backlog, which contains only those items which have been chosen for inclusion in a release. At the lowest level is the Sprint Backlog, which is limited to only those items which are part of a time-boxed Sprint.
Dashboards and Reports allow you to monitor the progress of your application development. One of the most important charts available in the Agile Studio dashboard is the Burndown Chart, which shows how much work is planned for a sprint or release, the planned rate of work completion, and the actual rate of completion, so you can quickly and easily see if you are on track for meeting your goals and timelines. Agile Studio also has a wide variety of canned reports, and if those don’t meet your needs, you can also create custom reports for the information you need.
Pega’s Business Process Management Platform is built from the ground up to make it easy for you to work in an Agile development methodology, using whatever Agile implementation best meets your business needs. With the addition of Agile Studio to the Pega suite, you can plan, track, build, test, and deploy your applications all in one familiar, business-driven platform.