Appian Workflows - Record Centric Design or Task-based workflow

I found multiple points raised on community regarding how to build workflows in Appian, almost at all place it's mentioned to prefer task based workflows. But i went through Appian success guides and feel both approach are well documented and in some places it's highlighted to build record centric design over task design. Wanted to know why record centric design should not be preferred in first place over task based workflow?
  • Record Centric Applications or Task-based Applications (Modular Design with Sub-processes) are both documented approach of building the applications
                  
  • Under Appian "Best Practices: Appian User Stories", Appian has highlighted issue with Process centric design
                     
  • Under Appian "Antipatterns: Solution Design Mistakes to Avoid in Appian", Appian has recommended "Take a records-first approach by centering workflows around data and records"
  • Ideal way of building data-centric or task-based workflow, are both well document approaches

  Discussion posts and replies are publicly visible

  • So, in Appian we have the capability to build applications with various methods, and there are some best practices for each of these different methods.  To me, which paradigm to choose depends almost entirely on the application and user base.

    Record-centric designs are my favorite for server health and scalability.  I look in this direction when either the process is designed for focused user groups who perform a specific job all day (think Service Desk, etc), or records such as a Customer Details list which are updated occasionally and do not require complex approval flows, etc.  These are just a few general examples.

    Task-based configurations I lean on often for things like enterprise-wide applications, that may be more fast paced, where approvers may be calculated (employee's manager, or HRBP), from all around the business where users are busy performing their primary job and may need occasional reminders that a task is waiting, or escalations need to occur after some time, etc.  In these scenarios, the User Input Tasks can easily handle these functions, where on the other hand you would need to build in custom processes around your record-centric design to mimic this functionality.

    That is my general $.02 Slight smile

  • Thanks Chris for your inputs and it's good suggestion. I initiated the new thread with primary purpose to support record centric design as well while looking to build projects as I felt previous similar threads on community were partial to task based approach highlighting that Appian is only task based first platform but the technical team should be open to both ideas if rightly implemented.

  • Sure thing!  To note, Appian began as a task-based-only type tool (a long time ago). Originally, no business database was even required - processes and data were all stored in-memory (KDB).  "Related Actions" were "Quick Tasks" only available on actively running process instances.  Those were interesting times compared to the current state, and our environment held over 1 million process instances at some points (which it was not very excited about..).

    Record and data-centric capabilities have come about nicely later on, and should definitely be considered due to aforementioned server health, scalability, etc, if it fits requirements.  But, task-based paradigms still have some advantages, and can be used successfully when following best practices Slight smile