Developing Applications with Process Director

Process Director is designed to enable Business users, BPM specialists, and other people without software development or coding experience to create complex, sophisticated, and fully functional BPM applications. As a no-code/low-code platform, Process Director doesn't require any knowledge of coding to create applications in most cases. This feature makes it much easier for non-programmers to create applications from a technical standpoint.

Technical proficiency is, of course, a good thing to have. But, in addition to technical proficiency with the product itself, it's also good to have a basic understanding of how software developers go about the process of designing applications. The technical process of creating objects or placing controls on a form is only a small part of the high-level process of designing applications efficiently and effectively.

In this course, we will describe that high-level process of application design, to give you a road map you can use to create any application you need. Since this course assumes that you are probably not a software developer or programmer by trade, we will not use a bunch of technical terms or processes that are common to software development. Instead, we aim to give you a simple and effective method for managing all the activities that go into building a new application.

The Customer

Every application you build will have at least two customers.

The primary customer is the person or department in your organization who asks you to build something in Process Director. This person will most likely already have a process in mind that they want to incorporate into a new application. You must ensure this customer receives an application that meets all their needs and automates the process correctly. This customer should be directly involved in the development of the application, right from the start.

The secondary customer, or customer group, is all the people who will use your application. The application must be as convenient as possible for them to use, implement any required accessibility components they need, and be usable across a variety of devices. No matter how effectively the application automates a given process, this customer will be dissatisfied if the application is hard for them to use or understand.

The goal of the Application Design Process is to ensure that all customers are satisfied with the application you build.

Stages of Development

The Application Design Process can be broadly divided into four stages: Design, Development, Testing, and Release.

Design Stage

In the Design stage, you will gather requirements from your primary customer. In this stage, you will learn the purpose of the application, and the process you are being asked to automate. As part of this stage, you will need to ask many questions of the customer to ensure you understand the project completely. You need to learn the tasks and time constraints that will be required, what notifications must be sent, and what data you'll need to collect.

Development Stage

In the Development stage, you'll create all the required Process Director objects and configure their interactions. You'll also need to ensure the application objects are properly organized in the Content List so that they can be easily imported and exported between your development, staging, and production systems.

Testing Stage

Once the initial application is built, you move into the testing stage. Using a relatively small group of users, you will have them run the application, performing all the tasks it requires. As they do so, you will gather feedback from all customers to gather suggestions for improvement and revise the application to incorporate that feedback. This will usually be an iterative stage, as a change in one aspect of the application may prompt additional feedback in other places. Once the testing stage is complete, the primary customer will approve the application for release in your production environment.

Release Stage

In the release stage, the simplest of the four stages, you will export the application from your development environment into your production environment. Once you've done so, you will use the Versioning feature of Process Director to create the initial production version.

Development Environments

In an ideal environment, there would be three different Process Director installations:

  • A Development system that is relatively open and can be used for testing and development in a fairly unrestricted atmosphere. Development and development testing would be performed on this system.
  • A Staging system that exactly mirrors the configuration, users, permissions, and content list structure of the production server. This server should replicate the production environment so that the Testing Stage can be completed in a copy of the production environment before an implementation is moved to production. Fresh replications of the Production system should be made on the Staging server before any pre-release testing is performed.
  • A Production system where all the real-world operations are conducted. This is the system into which your completed application will be imported.

Conclusion

In the sections that follow we'll take a look at each stage of the Application Design Process and provide detailed instruction on how to complete each phase. By following this simple Application Design Process, you will ensure that the applications you create satisfy both your primary and secondary customers. This customer satisfaction will greatly improve the chances of success for your development projects.

Continue to the Design Stage of the application development process.