With recent introduction of both Team Development and Applications as fairly new tools in your ServiceNow development toolkit, many customers continue to struggle with how best to utilize these new tools alongside the existing ones like Update Sets. I will discuss how each of these tools were designed to be used, and where best to use them in conjunction with each other, to best achieve your internal development and deployment process goals.
In development we have individuals and/or teams managing multiple work streams to achieve a project goal within a specific deadline:
Perhaps you are familiar with some of the development tools that exist outside of the ServiceNow platform such as Git, Perforce, or Jenkins. Much like these external tools, the internal tools provided within ServiceNow are designed to help you achieve your goals of fast development and deployment, with no production downtime. All of these tools are; however, just that, tools. How each customer uses them will be determined by their internal processes and best practices, along with the scale of their individual instance architecture. Lets take a look at each of these tools a little more in-depth to understand where best to utilize each one within your individual organizations.
It is important to know the difference between a version, and update, when looking at Team Development and Update Sets:
Team Development allows for collaboration between instances using a Parent and one or more Child instances, and is a version control system similar to Git. Team Development compares the current versions of records within the sys_update_version table to locate and tag local and remote changes between instances.
Team development should be used for the development process only, and not for the deployment of changes; update sets will continue to be used to deploy changes to Test and Production instances regardless of whether you choose to utilize Team Development or not. Additionally, Team Development is not a 'one size fits all' feature and should only be utilized by customers that have multiple development teams working in multiple development environments with complex development timelines.
As we can see from the illustration above, Team Development and Update Sets work hand-in-hand to develop and then deploy your customizations through your instance pipeline. Team Development should not be used to deploy changes to any Test, UAT, or Production environments, as this falls outside the design and scope of this feature, and doing so can cause undesired results to occur which can be problematic to recover from.
Update Sets remain an integral part of the deployment pipeline, and Team Development is not meant nor is it designed to replace Update Sets. You will continue to utilize them regardless of whether you use Team Development, or not. Update Sets are essential for customizing both Out-of-box applications and applications purchased from the App Store. Where Update Sets shine is by letting you apply changes in bulk and helping you to force an instance to load the file versions you need, additionally they are very useful for:
Applications are not entirely new to the ServiceNow platform, but how they are used in the Fuji and Geneva releases has change somewhat to how they were used and deployed previously. Prior to Fuji, applications were deployed through the use of Update Sets. Since Fuji however, through the introduction of the App Store and Company Repository, applications can now be uploaded into the company repository and then subsequently downloaded and installed (much like a plugin is installed) to the target instance without ever needing to utilize an Update Set in the deployment process.
Update Sets can still be used to deploy an application, should the user desire it, by utilizing the Publish to Update Set UI Action, from the Application form. This will in turn package the application, in its entirety, into a new complete update set, allowing you to retrieve and commit it to your target instance of choice. You should choose to utilize either the Company Repository OR Update Sets to deploy your applications, but never both. Once you begin to deploy your applications through update sets, it becomes very difficult to switch back to using the Company Repository going forward.
In the case of Applications that have been purchased from the App Store or Out-of-Box System Applications, this is where you will need to use Update Sets exclusively to customize the application to your needs, and deploy these changes through your instance pipeline.
Conclusions:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.