SlideShare a Scribd company logo
Setting up a Deployment
Pipeline with TFS
José-Luis Soria
jlsoria@plainconcepts.com
@jlsoriat
Speaker Bio
                                                                 Chapter I
Once upon a time, there was a little kid whose name was José-Luis.
Nobody knows the actual reason, but he began to be interested in
computers in the mid ’80s when, after so much careful consideration by his
parents, he received an 8bit computer as a present, along with some other stuff
such as a bicycle and pajamas. That day he felt so happy with the bicycle, so frustrated with the
pajamas, and somewhat confused about how to properly deal with the computer. Soon he started to
write all kinds of small and useless programs, but surprisingly none of them have made their way to being mentioned in
the history of computer programming. Several years later he went to university, where he studied Computer Science and signed
up for the weirdest student associations. His strange inclination for Application Lifecycle Management began unexpectedly one
sunny spring day when, while playing a soccer match, he was hit hard on the head by the ball and lost consciousness. When he woke up in bed at
hospital after a couple of days, all the words that came out of his mouth were about arcane and obscure matters related to version control systems,
automated builds and similar kinds of esoteric no-brainers. From that moment on, his parents, close relatives and friends lost the small amount of hope they still had in
Jose’s ability to succeed in life and be a person of worth. This behavior has done nothing but get worse until the present day, when he travels around the world trying to
(shorter) Speaker Bio
•   ALM Team Leader at Plain Concepts
•   Professional Scrum Trainer for Scrum.org
•   From Madrid, Spain
•   Knows about Continuous Delivery with TFS ;-)
In This Session, You’ll Learn…
What a pipeline is    Potential benefits
Why bother            Success criteria
Who can use it        Warning signs
How to implement it
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
What is a pipeline?
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
Deployment Pipeline
                       AUTOMATED
            COMMIT                      MANUAL TESTING       RELEASE
                     ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                        AUTOMATED                         NON-FUNCTIONAL
1.0.1.4               ACCEPTANCE TEST
                                         MANUAL TESTING
                                                             TESTING
Another example
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
Stages
                     AUTOMATED
          COMMIT                      MANUAL TESTING       RELEASE
                   ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                      AUTOMATED                         NON-FUNCTIONAL
1.0.1.4             ACCEPTANCE TEST
                                       MANUAL TESTING
                                                           TESTING
The Cowboy Coder Pipeline
             COMMIT      RELEASE         FIGHT FIRES


   1.0.1.1

   1.0.1.2

   1.0.1.3

                        AUTOMATED
   1.0.1.4            ACCEPTANCE TEST
                                        MANUAL TESTING
The Bureaucratic Pipeline
                                            FILL        ASK BOSS      RESERVE                    SNEAK INT
                    ACCEPT.     MANUAL                                              BRIBE THE
          COMMIT                          OFFICIAL        FOR       DEPLOY TICKET                THE SERVE
                     TEST       TESTING                PERMISSION    AT IT DEPT.     ADMIN         ROOM
                                           FORM

1.0.1.1

1.0.1.2

1.0.1.3

                   AUTOMATED                 NON-         NON-         NON-            NON-         NON-
                                MANUAL
1.0.1.4            ACCEPTANCE
                                TESTING
                                          FUNCTIONAL   FUNCTIONAL   FUNCTIONAL      FUNCTIONAL   FUNCTIONA
                      TEST                  TESTING      TESTING      TESTING         TESTING      TESTING
Instances:
Changes, Builds or Versions
                     AUTOMATED
          COMMIT                      MANUAL TESTING       RELEASE
                   ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                      AUTOMATED                         NON-FUNCTIONAL
1.0.1.4             ACCEPTANCE TEST
                                       MANUAL TESTING
                                                           TESTING
The Waterfall-ish Pipeline

                         AUTOMATED
              COMMIT                     MANUAL TESTING   RELEASE
                       ACCEPTANCE TEST


Spring 2008

 Fall 2009

Summer 2011
Propagating Changes
                     AUTOMATED
          COMMIT                     MANUAL TESTING   RELEASE
                   ACCEPTANCE TEST

1.0.1.1

1.0.1.2

1.0.1.3

1.0.1.4
Why bother to build
a pipeline?
No early feedback
A pipeline allows you to get feedback about changes as soon as
possible. Each instance of the pipeline provides feedback about
      that change, while work is started on other changes
No visibility in
 the process
     The pipeline mirrors your
process. All the aspects of the
 way you deliver are reflected
  in the pipeline. The status is
    clearly known at any time.
Paralyze development while
          releasing
Work on new features, or any kind of change, can be started on
a new instance of the pipeline, while releasing is done for older
                changes in existing instances.
Long and unpredictable
    release cycles
It is always clear what steps are taken to release,
         and how long they last on average.
Lack of
traceability
about the origin
of problems
For each issue, you can
always investigate the
change that originated
the instance of the
pipeline where the issue
appears.
Stressful, problematic and
       long deployments
    Stress-free deployments
Deployments are automated and done frequently, so they nno
     longer represent a problem. Practice makes perfect.
Who else can benefit from a pipeline?
Fast-changing
businesses,
needing to
shorten
release cycles
People working in silos
Teams facing an intolerable
     amount of bugs
Anyone willing to improve!
How to implement a pipeline
Is TFS well suited to setting up
    a Deployment Pipeline?
Practices already covered
Build, test, code analysis
Default build template
Prepare artifacts for later stages
Web Deploy          Custom workflows



Database projects   Scripting in general
                         .bat, PowerShell…
Practices already covered
Run automated tests,
  smoke-test deployments
Write automated tests: MSTest, CodedUI,
           NUnit, xUnit, etc.
     Have the builds run these tests
Automate deployments,
 always deploy the same way
Use custom workflow activities or deployment
  scripts: Web Deploy, bat, PowerShell, etc.
   Use the same automations all the time,
      with environments as parameters
Self-service deployments
 Set up builds that trigger the automated
               deployment.
Use the Build-Deploy-Test workflow in Lab
Management, deactivate the Build and Test
             parts if needed.
Environment provision & management,
     prepare to back out changes
 Use Lab Management to provision and manage
                 environments.
Use environment snapshots to back out changes.
For standard environments, automate backup and
                    restore
Practices not covered or
  needing clarification
Build only once
    Rebuilding from source at each step can introduce
      unexpected changes that could lead to issues.

    Use the Lab build template for stages other that the
                       Commit Stage.
If you can’t use Lab, set up a simple build template only for
                  deployment and testing.
Propagate changes through
    the pipeline instantly
Modify build definitions so they trigger the next step in the
           pipeline automatically, when needed.
      You can use a custom workflow activity for this.
For example, the QueueBuild activity from the Community
             Extensions http://bit.ly/14vEEg3.
If any part of the pipeline
        fails, stop the line
For automated steps, only trigger them if the previous one
                 has been successful.
View pipeline status
                 Write a custom dashboard.
An easy option is to use OData for TFS (http://bit.ly/UDbiID).
                                 AUTOMATED
                      COMMIT                      MANUAL TESTING       RELEASE
                               ACCEPTANCE TEST


            1.0.1.1

            1.0.1.2

            1.0.1.3

                                  AUTOMATED                         NON-FUNCTIONAL
            1.0.1.4             ACCEPTANCE TEST
                                                   MANUAL TESTING
                                                                       TESTING
Further improvements

• Version builds: Versioning workflow activity from
  Community TFS Build Extensions (http://bit.ly/14vEEg3)
• Build in parallel: parallel workflow activity, Parallel
  Template (http://bit.ly/VvSD4k)
Further improvements:
            Version Builds
• Versioning workflow activity from Community TFS Build
  Extensions (http://tfsbuildextensions.codeplex.com/)
Lab Management is going to
save you a lot of work. Use it!
Demo!
Potential benefits
Transparent and predictable
      delivery process
                         AUTOMATED
           COMMIT                         MANUAL TESTING       RELEASE
                       ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                          AUTOMATED                         NON-FUNCTIONAL
1.0.1.4                 ACCEPTANCE TEST
                                           MANUAL TESTING
                                                               TESTING



 The pipeline reflects at any moment the way software is
        delivered, and the status of that process.
Less defects in production
No reds ever reach the Release column. No regressions.

                         AUTOMATED
            COMMIT                        MANUAL TESTING       RELEASE
                       ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                          AUTOMATED                         NON-FUNCTIONAL
1.0.1.4                 ACCEPTANCE TEST
                                           MANUAL TESTING
                                                               TESTING
Flexibility to cope with
                  changes
                          AUTOMATED
             COMMIT                        MANUAL TESTING       RELEASE
                        ACCEPTANCE TEST


1.0.1.1

1.0.1.2

1.0.1.3

                           AUTOMATED                         NON-FUNCTIONAL
1.0.1.4                  ACCEPTANCE TEST
                                            MANUAL TESTING
                                                                TESTING




  Changes can be addressed in one or more new instances of the
                pipeline. Everything is already set up and ready.
Useful and actionable
                       feedback
                                     AUTOMATED
                     COMMIT                           MANUAL TESTING       RELEASE
                                   ACCEPTANCE TEST


       1.0.1.1

       1.0.1.2

       1.0.1.3

                                      AUTOMATED                         NON-FUNCTIONAL
       1.0.1.4                      ACCEPTANCE TEST
                                                       MANUAL TESTING
                                                                           TESTING




Feedback is obtained multiple times, for every change (instance) that gets into the
   pipeline. There is more information, it arrives earlier and it’s more focused.
Shorter time to deploy and
              release
                                 AUTOMATED
                 COMMIT                           MANUAL TESTING       RELEASE
                               ACCEPTANCE TEST


   1.0.1.1

   1.0.1.2

   1.0.1.3

                                  AUTOMATED                         NON-FUNCTIONAL
   1.0.1.4                      ACCEPTANCE TEST
                                                   MANUAL TESTING
                                                                       TESTING



Deployment is done automatically across most of the stages. Release is done
  frequently, for each change, so it’s a predictable and optimized process.
Empowered teams
Success criteria
Shorter Cycle Time




Kanban board and Cumulative Flow Diagram: http://bit.ly/10Zomxd
         Interpreting a CFD: http://slidesha.re/cQjhmu
Greater automated test
              coverage




Using code coverage: http://bit.ly/WtZGW7
Coverage reports: http://bit.ly/XIFtLZ
Build summary report: http://bit.ly/Wu0ryd
Larger MTBF




Check also Reporting on Work Items: http://bit.ly/VDng44 http://bit.ly/X1BACX
Improved Velocity




 Using the velocity report: http://bit.ly/YvWLCi
Impact on the code churn
and frequency of check-ins




   Code churn reports: http://bit.ly/XIFtLZ http://bit.ly/b9oFiS
          Build summary report: http://bit.ly/Wu0ryd
Impact on build cadence




    Build summary report: http://bit.ly/Wu0ryd
Warning signs
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
Rebuilding from source
and using environment-
   specific binaries
Using the lab template helps to avoid rebuilding.
 Use the same binaries through all the stages.
Builds (steps) that take
a great amount of time
Broken builds or failed steps
not being addressed quickly
Manual
deployments
Automate deployments!!!

Do

Don’t
Configuration and other
    items not being versioned
Put everything under version control.
Use config transforms http://bit.ly/WwetSU.
For non-web projects use slowcheetah http://bit.ly/VqOLhz.
Issues with branching
• Keep your branching model as simple as
  possible.

• Use Branch by Abstraction while
  developing http://bit.ly/X7RMRp.

• Use Feature Toggles for deploying
  http://bit.ly/VqPSO7.
Poorly managed dependencies
                            NuGet can help!

Use NuGet package restore
http://bit.ly/Wf9CX2.

If you want more control, consider
setting up your own NuGet feed
http://bit.ly/WwqVlu.
Lack of rollback procedures
     Use Lab Management snapshots if available.
     Automate backups and rollback procedures.
Continuous
 Delivery
     =
     ≠
Continuous
Deployment
Big ball of mud
A BIG BALL OF MUD is haphazardly
structured, sprawling, sloppy, duct-tape
and bailing wire, spaghetti code jungle.
http://www.laputan.org/mud/mud.html


You CAN Continuously Deploy
spaghetti to a BIG BALL OF
MUD. That’s not Continuous
Delivery.
Continuous Deployment is only a part of
         the whole picture!
                     Continuous Delivery
                 Automate environment                       Smoke-test
                      provision                            deployments
      Propagate
   changes through
                             Continuous          Self-service
             …and much more!!!
     the pipeline            Deployment         deployments
                                                                  View pipeline
                                                                     status
                  Test           Build only
               Automation          once           Stop the line
                     Deploy the same
                      way to every      Have a rollback
                      environment         procedure
Summary
• A Continuous Delivery pipeline can address many typical
  problems with the software development process.
• Visual Studio + TFS, with some customization, are
  suitable for setting up a pipeline (better with Lab
  Management).
• When properly implemented, it can bring many benefits.
• You have to watch out for some common warning signs.
Plain Concepts
Image credits
http://www.flickr.com/photos/danielpanev/3299995912/
http://www.flickr.com/photos/jdlasica/424927934/
http://www.flickr.com/photos/afterfate/459042219/
http://www.flickr.com/photos/huangjiahui/3179858408/
http://en.wikipedia.org/wiki/File:Pipeline,_4_stage.svg
http://www.flickr.com/photos/ninonatividad/8112215283/
http://www.flickr.com/photos/crabbylioncardsandmore/4980927493/
http://www.flickr.com/photos/seattlemunicipalarchives/3360591350/
http://www.flickr.com/photos/selva/20600897/
http://www.flickr.com/photos/willowherb/3319973581/
http://www.flickr.com/photos/tommy-ironic/3437613067/
http://www.flickr.com/photos/seattlemunicipalarchives/7165372144/
http://commons.wikimedia.org/wiki/File:Gusher_Okemah_OK_1922.jpg
http://www.flickr.com/photos/perspective/6222453924/in/photostream/
http://commons.wikimedia.org/wiki/File:Mirrool_Silos.jpg
http://commons.wikimedia.org/wiki/File:Large_Milkweed_Bug_Oncopeltus_fasciatus_Bugs_2400px.jpg
http://www.flickr.com/photos/avi_abrams/421717471/sizes/o/
http://www.celoriu.com/2012/10/25/sociedad-ocio-y-cultura/las-copas-de-la-seleccion-llegan-a-llanes/
http://www.nypost.com/p/news/local/jersey_field_of_oabCIiTLOJ1QzPFltXiniO
http://www.flickr.com/photos/nzrico/4591154338/
http://www.flickr.com/photos/leva/215368257/
http://www.signgenerator.org/books/dummies/
http://www.cinismoilustrado.com/2012/12/iconos-que-te-joden-el-dia.html
Thanks! Any questions?
jlsoria@plainconcepts.com
@jlsoriat
http://geeks.ms/blogs/jlsoria
Get these slides: http://slidesha.re/11fljAc
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS

More Related Content

PPSX
Chapter 10
KEY
Continuous Delivery
PPTX
Managing Test Labs Without the Headaches
PDF
Alm 4 Azure
PDF
Process Matters (Cloud2Days / Java2Days conference))
PDF
Agile Open Source Performance Testing Workshop for Business Managers
PDF
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
PDF
Alm 4 Azure with screenshots
Chapter 10
Continuous Delivery
Managing Test Labs Without the Headaches
Alm 4 Azure
Process Matters (Cloud2Days / Java2Days conference))
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Alm 4 Azure with screenshots

What's hot (8)

PDF
Continuous delivery @åf consult
DOCX
PDF
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
PPTX
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
PPT
Continuous Integration using Cruise Control
PPTX
02 - Build and Deployment Management
PPTX
Continuous delivery continuous integration 0.3
PPTX
03 - Continuous Integration
Continuous delivery @åf consult
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Continuous Integration using Cruise Control
02 - Build and Deployment Management
Continuous delivery continuous integration 0.3
03 - Continuous Integration
Ad

Viewers also liked (9)

PDF
TFS Release Management Deep Dive
PDF
CI/CD using TFS Release Manager
PPTX
Windows Azure Mobile Services - Connecting Cross Platform Devices
PPTX
TFS 2010 Overview
PPTX
Lap Around Visual Studio 2010 Ultimate And TFS 2010
PPTX
Release management with TFS 2013
PPT
Team Foundation Server Demo
PPTX
Introducing Release Management for Team Foundation Server 2013
PDF
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
TFS Release Management Deep Dive
CI/CD using TFS Release Manager
Windows Azure Mobile Services - Connecting Cross Platform Devices
TFS 2010 Overview
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Release management with TFS 2013
Team Foundation Server Demo
Introducing Release Management for Team Foundation Server 2013
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
Ad

Similar to ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS (20)

PDF
Planning & building scalable test infrastructure
PDF
Testing in an Open Source Middleware Platform Space The WSO2 Way.
PPTX
QAorHighway2016
PPTX
Improving Software Quality- 2-day Tester Training
PPTX
Test Automation Architecture That Works by Bhupesh Dahal
PPTX
Unit Testing
PPT
Qtp Training Deepti 1 Of 4187
PDF
Enabling Agile Testing Through Continuous Integration Agile2009
PPTX
Creating testing tools to support development
PDF
Implementing Test Automation in Agile Projects
PDF
The Key to DevOps? Testing Early in the Pipeline
PPT
2 v presentation_new
PPT
2V_presentation
PPTX
Implementing Test Automation in Agile Projects
PDF
Continuous delivery @wcap 5-09-2013
PPTX
Linuxtag 2012 - continuous delivery - dream to reality
PDF
Let's make this test suite run faster - Paris JUG 2011
PPT
Verification strategies
PDF
Atagg 2015 Test automation and effective continuous integration
PPTX
Load Runner
Planning & building scalable test infrastructure
Testing in an Open Source Middleware Platform Space The WSO2 Way.
QAorHighway2016
Improving Software Quality- 2-day Tester Training
Test Automation Architecture That Works by Bhupesh Dahal
Unit Testing
Qtp Training Deepti 1 Of 4187
Enabling Agile Testing Through Continuous Integration Agile2009
Creating testing tools to support development
Implementing Test Automation in Agile Projects
The Key to DevOps? Testing Early in the Pipeline
2 v presentation_new
2V_presentation
Implementing Test Automation in Agile Projects
Continuous delivery @wcap 5-09-2013
Linuxtag 2012 - continuous delivery - dream to reality
Let's make this test suite run faster - Paris JUG 2011
Verification strategies
Atagg 2015 Test automation and effective continuous integration
Load Runner

More from Jose Luis Soria (20)

PDF
Project Portfolio Management with Kanban in an international company
PDF
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
PPTX
Things to do with the time you’ll save thanks to VSO
PDF
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
PDF
Jose Luis Soria - XP2014 - Designing a Release Pipeline
PPTX
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
PPTX
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
PDF
Proyectos ágiles con Team Foundation Server - COITT
PDF
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
PDF
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
PDF
ALM Tour 2013 - Entregar a tiempo y sin errores
PDF
Bcn devcon jose luis soria - patterns & antipatterns for delivery
PDF
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
PPTX
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
PDF
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
PDF
Visual Studio Tour Plain Concepts - ALM para Windows 8
PDF
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
PDF
Cargo Cult Agile training & coaching
PDF
Agile Database Development - SDC2012
PPTX
Destino la Nube 2012 - ALM para Azure
Project Portfolio Management with Kanban in an international company
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Things to do with the time you’ll save thanks to VSO
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Proyectos ágiles con Team Foundation Server - COITT
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Entregar a tiempo y sin errores
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Visual Studio Tour Plain Concepts - ALM para Windows 8
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Cargo Cult Agile training & coaching
Agile Database Development - SDC2012
Destino la Nube 2012 - ALM para Azure

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Digital-Transformation-Roadmap-for-Companies.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding

ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS