Organizations looking to mature their design and delivery teams must establish best practice guidelines to ensure consistent and efficient outputs.
Skills Checklist:
Good design and delivery practices start with having the right skills and knowledge, built on collective experience. But, knowledge is frequently siloed to specific teams or team members. As such, sharing best practice knowledge is a must for all organizations looking to mature their design and delivery teams rapidly. Building a norm of experience & knowledge sharing into an organizational culture can be difficult, but embedding this norm is one of the most effective ways to ensure that best practices accelerate and enable teams to deliver faster, better quality implementations every time.
Organizations should promote high quality best practices and seek to embed those practices into design and delivery team culture. A good first step is to make sure that best practices (and antipatterns to those practices) are published and socialized. A central repository of best practices will go a long way, but make sure to also schedule knowledge sharing sessions regularly to showcase new techniques and successful implementations.
Enable further knowledge transfer by supporting peer forums, brainstorming sessions and communities of practice. These informal gatherings provide great opportunities for like minded developers to discuss new practices and address regularly seen pain-points. Finally, engage in regular training courses to keep developers up to date with Appian functionality, new capabilities and best practices.
Anything can be tested. In the same way you test code to establish that it is defect free (comparing it to a defined set of acceptance criteria) a design can be tested. An example would be the ERD for a database. The proposed design can be ‘walked through’ by the designer to a set of Peers, articulating the relationships between the entities and comparing how it ‘works’ to the expressed requirements. Walking through a design with an audience can help catch early design flaws that might otherwise end up in the implementation where remediation becomes far more costly and disruptive to the delivery.
When designing, either at the macro- or the micro- level, focus as much about what can go wrong as about the requirements at hand. In this way your designs (and thus implementations) will become more robust and require less rework to remediate downstream. At the macro-design level, you may therefore consider building redundancy into the infrastructure to mitigate against service outages. At the micro-level you may mandate defensive validation code in your expression rules to test the provided values of the rule inputs as a prerequisite to the execution of the core expression itself.
These guides can be many things, but can be as simple as a checklist that defines design best practices for Appian use at your organization. They should be easy to follow and written with the goal of making delivery processes easier or more understandable for Appian teams. They should also allow for internal and Appian best practices to be cascaded across various Appian delivery teams across your organization. The goal of these guides should be to make Appian teams more self-sufficient. The Center of Excellence (CoE) is often responsible for updating these guidelines with each new release of Appian.
Best practices are usually organized into the categories discussed in this section. The organization should consult with the Center of Excellence when discussing or making decisions in these areas. See below for a list of suggested best practice coverage areas.
Hardware Infrastructure
Details and diagrams about available server host topology, sizing estimates, and scaling options.
Solution Architecture
The high-level organization of Records, Reports, and Actions as well as the social collaboration paradigm employed by the organization. This also includes defining the top level process models, groups, document folders, integrations, and structure of key data entities and their relationships.
Authentication and User Management
Which external authentication provider and single sign-on solution, if any, will be employed by the system? If using an external authentication/identity provider, how will accounts in Appian be created, updated, and deactivated?
Feature Design
Recommendations on how to best use the Appian platform, including but not limited to feature best practices, patterns and antipatterns, naming conventions, tips and tricks, and lessons learned.
Integration
How will the Appian platform integrate with other systems within the enterprise? This should include general guidance for recommended integration options (web services, JMS, emails, etc.) as well as a repository of specific integration details.
Testing
What will be expected of teams in terms of functional testing, integration testing, test automation, and performance tests?
Governance
How will the Center of Excellence monitor projects for compliance and how will different project teams work together and with the Center of Excellence?
Component Reuse
What are the shared resources in the system, and how will teams work with the CoE to update and evolve shared resources? These resources may be common utilities, integration methods, or business entities such as data types or Records.
Change Control
How will teams package their applications, promote them across environments, and manage subsequent releases of hotfixes, patches, and new versions, to minimize the impact of change-related incidents upon service quality, and therefore improve the organization’s day-to-day operations? This area also involves concurrent development and how to isolate development changes so as to not affect other teams. Change control also covers how project teams plan and prepare for deploying new features and enhancements to production, and includes the procedure and responsibility matrix for addressing critical defects in production.
While a repository for storing best practices guidelines and reusable components is often curated by a Center of Excellence (CoE), all teams should be encouraged to add their tips, tricks, and examples to the knowledge sharing repository.
This document formalizes the project management process, with clear deliverables and well-defined governance checkpoints and reviews. This model gives teams a clear understanding of how to engage with governance partners and also sets expectations for how and when to address recommendations made by those partners. More mature organizations can seek to right-size this engagement model based on delivery team maturity; allowing less mature Appian teams to receive extra guidance, while enabling more digitally mature Appian to operate with greater speed though autonomy.