SlideShare a Scribd company logo
Marcel de Vries
Continuous delivery with
Release Management for
Visual Studio
Marcel de Vries
@marcelv
http://nl.linkedin.com/in/marcelv
Development
teams work
using agile
methodologies
IT Departments
most of the time
split in at least
two entities
Well
established
boundaries
Deliver MVP’s so we can
learn what customer
really needs
Keep machines and infra
as stable as possible
Monitor
Define
Deliver
Operate
Sprint
Define
Deliver
ComplexError-proneChaotic
Learn
Deploy
Continuous
deployment
Continuou
s
Build
Continuou
s
Test
Continuou
s
Deploy
Continuou
s Learning
Release management with tfs 2013
DEV TEST QA PROD
FS DEV TEST QA PROD
Automates Workflow
DEV TEST QA PROD
Full Traceability
DEV TEST QA PROD
Full traceable
way of building
the deployment
package
Full traceable
way of
deploying the
software
Management
environment
TFS Drop Location
IR DesktopIR Web
QA
DEV
IR Server
Release management with tfs 2013
Release
Deployment path
DEV TEST QA PROD
Environment
Tool / Action
Component
Release template
Release management with tfs 2013
Deploy agents work based on a pull model
Tools for deployment also pulled to server
Proxy for dop location
Enable an
optimized
process cross
organizational
boundaries
Start the
learning loop
Optimize based
on your
learning
Lean can help
Release management with tfs 2013

More Related Content

Release management with tfs 2013

Editor's Notes

  1. Ok your teams are agile and now you should be able to deliver a continuous flow ofvalue to your users.Unfortunately, that’s not always what happens. In many casesyour release process requires you to go through a series of gates before you actually get to production. This can take days, weeks or even months before it is completed preventing you from delivering value continuously to your users.In fact, complex and error-prone manual deployments based with untested installation scripts coupled with long approval cycles. manual deployment => error prone, delays …. Detail des troiscontraintes de releasesThe solution is to fully automate the release cycle for all stages with a common platform for both dev, qa and ops allowing the flow of value to go from development to customers in the fastest way without reducing quality delivered. That is what InRelease does.
  2. InRelease does 3 main things:One- It automates deployments directly from TFS to all the environments, including production. Part of the deployment procedure may include things like taking back-ups, generating test data, provisioning Servers on Azure or executing your automated tests. Basically everything you need to start working on a given stage. Two – InRelease ensures that all deployments are done the same way from the same binaries so that by the time you deploy your application to production, your deployment procedure has been tested over and over - removing a lot of those release related risks & headachesThree- InRelease automates the approval workflow through all the environments reducing delays and coordination issues to a minimum. Testers receive a notification when a new version is ready for them they come back to InRelease to either confirm that the application meets the stage requirements or stop the release of that specific version.Along the way, InRelease will provide tracking of each attempted release.
  3. InRelease does 3 main things:One- It automates deployments directly from TFS to all the environments, including production. Part of the deployment procedure may include things like taking back-ups, generating test data, provisioning Servers on Azure or executing your automated tests. Basically everything you need to start working on a given stage. Two – InRelease ensures that all deployments are done the same way from the same binaries so that by the time you deploy your application to production, your deployment procedure has been tested over and over - removing a lot of those release related risks & headachesThree- InRelease automates the approval workflow through all the environments reducing delays and coordination issues to a minimum. Testers receive a notification when a new version is ready for them they come back to InRelease to either confirm that the application meets the stage requirements or stop the release of that specific version.Along the way, InRelease will provide tracking of each attempted release.
  4. InRelease does 4 main things:One- It automates deployments directly from TFS to all the environments, including production. Part of the deployment procedure may include things like taking back-ups, generating test data, provisioning Servers on Azure or executing your automated tests. Basically everything you need to start working on a given stage. InRelease ensures that all deployments are done the same way from the same binaries so that by the time you deploy your application to production, your deployment procedure has been tested over and over - removing a lot of those release related risks & headachesTwo - InRelease automates the approval workflow through all the environments reducing delays and coordination issues to a minimum. Along the way, InRelease will provide tracking of each attempted release and provide complete traceability for diagnostic and audit purposes. You can actually set simple to complex deployment procedure in InReease….
  5. InRelease does 4 main things:One- It automates deployments directly from TFS to all the environments, including production. Part of the deployment procedure may include things like taking back-ups, generating test data, provisioning Servers on Azure or executing your automated tests. Basically everything you need to start working on a given stage. InRelease ensures that all deployments are done the same way from the same binaries so that by the time you deploy your application to production, your deployment procedure has been tested over and over - removing a lot of those release related risks & headachesTwo - InRelease automates the approval workflow through all the environments reducing delays and coordination issues to a minimum. Along the way, InRelease will provide tracking of each attempted release and provide complete traceability for diagnostic and audit purposes. For your release path, You can actually set simple to complex deployment procedure in InRelease….
  6. InRelease does 4 main things:One- It automates deployments directly from TFS to all the environments, including production. Part of the deployment procedure may include things like taking back-ups, generating test data, provisioning Servers on Azure or executing your automated tests. Basically everything you need to start working on a given stage. InRelease ensures that all deployments are done the same way from the same binaries so that by the time you deploy your application to production, your deployment procedure has been tested over and over - removing a lot of those release related risks & headachesTwo - InRelease automates the approval workflow through all the environments reducing delays and coordination issues to a minimum. Along the way, InRelease will provide tracking of each attempted release and provide complete traceability for diagnostic and audit purposes. You can actually set simple to complex deployment procedure in InRelease….
  7. InfrastructureLab ManagerInRelease – actions to trigger provisioning VMsApplicationsMS Tools – default behavior to publish to single environment, requires work to publish beyond thatTfsDeployer – can leverage Build Quality in TFS to trigger moving parts to other environments, still requires custom scriptsInRelease – can deploy applications using different approaches using built-in actions and toolsTestsMicrosoft Test Manager / Coded UI – helps define and execute automation of testsInRelease – can leverage existing tests for execution and can trigger test data creation via built-in actions and toolsApprovalInRelease – can manage governance, controls when and if deployments go into environments, notifies recipients of actions throughout the release process