The customer response to Application Lifecycle Management (ALM) in Anaplan’s 2016.4 release has been outstanding. Within days of the launch, several customers were using ALM, and the number grows daily. Because there’s so much interest, I want to share some general thoughts (beyond what’s in the documentation) on what’s needed for ALM to synchronize models. I’ll also lay out a couple of scenarios where customers find this feature useful.First, let’s understand what’s needed for synchronization using ALM. Synchronization between compatible models requires two conditions:
- The two models must have a common origin. That means they both originated from the same revision—such as when one model has been copied to produce two models.
- Only one of two the models can have structural (that is, metadata) changes after it was copied or synced.
- Split models. Our largest customers often use a split production model. In these cases, the customer would like to have a single model but chooses not to, to improve performance because of the model’s size. In a split model, the metadata is identical across the set of split models. ALM sync can update all of the models from a single development model or update one production model from another. The revision tags in the production models will confirm that they all are at the same stage. Before ALM, changes required manual updates and downtime of the production application.
- Similar models. In some cases, customers have a set of similar models, and adapt them to be the same with respect to metadata. This enables them to maintain them in a single development model. The conversion to achieve a common development model can be a complex job. A major consumer packaged goods (CPG) customer does this: they have a separate model for each geographic market because user activities in each market vary and market-specific dashboards are required. They have to implement all required dashboards (and navigation paths, and other criteria) in the single development model, then carefully set up user roles, role-based access to modules and dashboards, and market-specific navigation paths to ensure that each user sees only what they need. Once that’s done, they can then sync from the development model to the market-specific production models.