A snapshot is a quick photograph taken with a camera or a phone, but it can also mean a piece of information that gives an understanding of a situation at a particular moment.
In migration projects, we use this term to illustrate the state of a system or a system’s functionality. In this context, snapshot refers to the state of the code and a number of important related artifacts at a certain point in time.
Here's a short video explaining how snapshots work:
There are 4 elements that we should consider when talking about snapshots:
1. All source code of all different types: for example business programs and supporting scripts, including the screens – that are delivered according to clearly specified guidelines.
2. Code data structures
3. Data or test data
4. Test cases
All of these artifacts are frozen at the exactly same time and completely in sync. We call this "coherence".
Equally important, the snapshot must be 100% complete: there can be no artifacts missing. Every single module or program called should be part of the snapshot.
Once a snapshot is created, it is typically transferred to the Factory. Here, it is used to migrate and test according to Migratonomy, which is Anubex's migration methodology.
Creating a snapshot does not interfere with evolutionary application maintenance of the legacy application, which ensures business continuity.
In a migration project, several snapshots are taken while the project progresses to stay current with the then-current production environment.