In most software development projects, code is stored in Git, and code reviews can be easily conducted in a lightweight fashion using GitHub pull requests.
With Appian there is no easy or intuitive way to do this. The only way to review code (that we have found) is to review the object in its totality. For expressions and interfaces you can manually comb through the Version history, pick out the prior definition, and run it through a text diff tool locally, but this is tedious, and doesn't allow collaboration as easily. For process models, it is impossible, which is another reason we try to make our models as small as possible and do everything in SAIL.
Has anyone built a tool for enabling efficient and collaborative code reviews, or is this just generally accepted as a limitation of the Appian product and an impediment to generating high quality code?
Discussion posts and replies are publicly visible
Generally we review our code story by story. We list the objects that were created in our scrum board so that the reviewer will know what items to look at. We require heavily commented code to increase the efficiency of the review. Additionally, for expression rules, you can require that your developers create test cases, which will greatly speed up the review and testing of code. The ease for code review is definitely a limitation of Appian, but the way to go about it is to organize outside of Appian.
As jacob suggested heavily commented code is one of the key for increasing the efficiency of review. Creating test cases for expression rules at the time they are written is very good practice and since now Appian provides Automated Testing for Expression Rules, it will be really helpful while reviewing the test expressions.For a proper functional testing you can use Fitness/UI Testing, which is really helpful for testing the proper functionality of an application.
Per Ashok and Christine, there are two levels of reviews - code structure and best practices/design review.
For the former, there is no easy way to do it - SAIL could be maintained in git and potentially diffed. From there, things will get progressively more challenging all the way to process models which at this point have to reviewed visually. As Christine noted, change logs with peer review are the best way in this situation.
As for design reviews, we have best practices checklists for each stage of a project. Additionally, I always start my review with teams running Appian Health Check, which checks for many items on the best practices lists and focusing on the flagged risks. It is incredibly useful - at some point teams include it into the delivery cycle and only escalate items that they are having a hard time resolving.
© 2022 Appian. All rights reserved.