What is most valuable?
- Process Designer - If properly used, the executable flow itself helps you understand the business flow.
- Call Web Service Smart Service - Web service integrations with other systems are super simple and fast to create, supported by low code menus.
- Write to Data Store Entity - Saving data in SQL databases is done easily using entities. Entities (CDTs in Appian terminology) define relationships and target schema tables via XSD files.
- SAIL interfaces - Writing code that creates forms requires coding skills in Appian SAIL, a proprietary language. The forms are mobile-ready and components can be reused in forms and reports.
What needs improvement?
Even though the company has made great improvements in online documentation, featuring rich material which includes case studies of real-life use cases, the material could definitely be better in quality and coverage of use cases.
Another point of improvement would be the SAIL forms. The built-in tool used to generate forms does not have debugging support (to view local variables as they change on live preview, and step-by-step valuation) which is a big drawback for form development. Moreover, the script language used to build SAIL forms does not support inheritance or lambda expressions (functions as arguments of other functions), which makes the code base more verbose.
Last but not least, I am missing a team collaboration solution. Only one person at a time can work on objects. This is not a big issue really, because, if you follow the Appian best practices, all objects are pieces that fit single-person workloads.
For how long have I used the solution?
One to three years.
What do I think about the stability of the solution?
The platform is super stable in BPMS and rules execution.
Issues can appear in the following ways, related to development and design choices:
- The underlying database is facing locking or performance issues. The instability of the database is very quickly propagated in the flows and forms executions (Appian engines/application server) and the platform can become non-responsive, experience deteriorating performance, or create numerous exceptions in running processes.
- If the platform is used for data-intensive tasks, especially in deep nesting of data manipulation rules, the performance can quickly be affected and may also lead to exceptions.
- If you don't follow the Appian best practices, and your application is scaling up, then on pick times the performance will be bad or exceptions may occur. This situation can be avoided by identifying potential issues by running the health check diagnostic tool.
What do I think about the scalability of the solution?
Scalability is very good, but there are limits imposed by the underlying hardware and the JVM's heap size. Notably, even with a configuration having multiple application servers, the Appian engines installation is always one. However, the capacity of the topologies is very high and will not be an issue for companies with up to 10 applications per installation and up to 4000 active users per day. Appian provides a sizing document and Professional Services to help with decisions on the subject.
How are customer service and technical support?
Technical support is considered good, and various levels of support can be selected.
Which solution did I use previously and why did I switch?
Prior to Appian, there was a Java-based BPMS solution, but Appian was valued for its low-code characteristics that lead to the fastest development cycles in the industry. It was also valued for the scalability, the flexibility on development, the level of support, and the increasing developer base.
How was the initial setup?
Appian has two offerings for its customers, on-premise and Appian Cloud (PaaS). In the case of PaaS, setup is very minimal and straightforward. For the on-premise product, the initial setup is pretty straightforward in most cases but requires a level of systems expertise, especially if you are setting up a high-performance production machine.
After some initial use, tuning the database is advisable. For mission-critical applications, an initial round of stress testing may be a good idea for identifying potential bottlenecks in your applications. Setup can also be tricky if you try to migrate from very old installations which used a different topology. If this is your situation, you may need support from Appian Professional Services.
Which other solutions did I evaluate?
The alternative we evaluated was Pega BPM.
What other advice do I have?
If licensing cost is not a problem, then Appian is definitely a go, either as a stand-alone platform or with the PaaS offering in the Appian Cloud. When it comes to speed of development, system integrations, BMPS workflows, and digitization of manual processes, Appian is possibly the best choice there is.
Which version of this solution are you currently using?