Heuristics of Complex User Stories
While scoping, prioritizing and designing user stories for the Appian platform, pay close attention to the technical design and implementation of user stories exhibiting the following heuristics.
Appian recommends for the implementation teams to review their designs and approaches with Appian lead designers or Appian architects.
|
User Story Heuristics |
Risks |
|
Import or export of data from/to a file like Excel, CSV, flat file, etc... |
Storing/caching large amounts of text data in the Appian engines. Heap memory usage on application server. |
|
Query more data than what is needed to be shown to the end user |
Heap memory usage on application server. Long running database query affecting UX and scalability. |
|
Multi-step workflow assigned to the same user |
Abuse of the activity chaining feature. Application server threads "locked" to activity chains. Application server scalability. |
|
ETL-type user stories: data is transformed using complex logic without user interaction |
Application server and engine server resource usage. Overall impacts on performances. |
|
Complex business logic and processing in process models |
Large process models are difficult to develop and maintain. |
|
Unattended and headless user stories |
Hard to predict system load. Potential impacts on user driven activities that compete for resources. |
|
Functional use cases stretching over weeks/months |
Long running Appian process instances. Unscalable application design. Complex and resource intensive process-to-process communication. |
|
Process centric design |
Long running Appian process instances. Unscalable application design. Complex and resource intensive process-to-process communication. |
|
JMS inbound/outbound integration |
Not supported on Appian Cloud. |
|
Email inbound integration |
Fragile integration patterns. |
|
Appian to Appian integration |
Siloed applications/platforms. |
|
Complex data dictionary and data model |
Complex nested CDTs difficult to create and maintain. JPA cascading refresh and update issues. Complex logic in process to work with nested CDTs. |
|
Document generation |
Storing/caching large amounts of text data in the Appian engines. Resource intensive text manipulation. |
|
Large volume of process instances, nodes (PM size or MNI), users, documents, data, etc... |
Large resource usage. Scalability of the solution. |
|
Internationalization |
Can add overhead and complexity depending on the use case. |
|
“Hacking” the product |
Using unsupported APIs, functions, etc. or leveraging features in a way that weren’t intended. Not always supported by Appian Support and subject to product changes. |
|
Event-driven architectures |
Generally high-volume use cases that can lead to scaling issues if not implemented correctly. |
|
Complex integrations |
Non-modern, high-volume, and high-load integrations, or integrations with non-standard authentication methods. Scalability of the solution, resource usage, response time, and/or security. |
