SlideShare uma empresa Scribd logo
1 de 34
1
Synthesizing Continuous
Deployment Practices Used in
Software Development
Akond Ashfaque Ur Rahman, Eric Helms, Laurie
Williams, and Chris Parnin
Department of Computer Science,
North Carolina State University
2
Why Continuous Deployment ?
• “one of the top ten strategic technology
trends for 2015 ” – Gartner
• emerging software development process
3
Motivation
Software companies learn from the experience
of other similar software companies
4
Research Objective
The goal of this paper is to aid software
practitioners in implementing continuous
deployment through systematic analysis of
software practices that are used by software
companies
5
How Continuous Deployment is
Different ?
6
Definition of Continuous Deployment
“as a software process that releases software
changes automatically to end-users after they
pass the required automated tests. ”
Martin FowlerImage Reference: http://martinfowler.com/
7
Definition of Continuous Delivery
“the software process that actually releases
software to production as soon as they are
ready, resulting in many deployments to
production every day. ”
Image Reference: http://continuousdelivery.com/ Humble & Farley
8
Our Definition
“a software engineering process where
incremental software changes are automatically
tested, and frequently deployed to production
environments. ”
9
Realization of Continuous Deployment
Varies
One Example
vs.
10
Adoptees
11
Our Contributions
• A summary and concise definition of 11
continuous deployment practices
• A mapping of the 11 continuous deployment
practices and the software companies who are
using these practices
• A list of techniques adoptees have used to
realize each of the identified continuous
deployment practices
12
Research Question
How frequently are different software
practices used by software companies that
perform continuous deployment?
13
Methodology
Yes
Other 18 adoptees :
internet artifacts
Facebook :
Feitelson et al.
No
14
1. Automated Deployment (19)
- making software available to end-users automatically
- conducted in between software acquisition and software
execution without manual effort
Technique
Used
Total Count Examples of Adoptees
Other Tools 13 CoolBlue, Etsy
Scripting 4 IMVU, Rally Software
BitTorrent 2 Facebook, Pinterest
Deployinator, Ansible, Codeship,
Octodeploy etc.
15
2. Automated Testing (19)
- practice of automated techniques to perform test case
management, test data generation etc.
Type of Testing Total Count Examples of Adoptees
Unit 15 Etsy, Facebook
Integration 13 Etsy, IMVU
A/B 9 Etsy, Facebook
Functional 8 CoolBlue, Etsy
Acceptance 5 Atlassian, Netflix
Regression 5 CoolBlue, Etsy
Perceptual 1 Google Consumer Surveys
16
2. Automated Testing [Contd.]
Technique Used
Total
Count
Examples of
Adoptees
Automated Test Suites 19 Etsy, Facebook
Separate Testing Team 2 Atlassian, Netflix
17
Technique Used Total Count Example of Adoptees
Other Tools 9
CoolBlue, Google
Consumer Surveys
Github Tools 7 Atlassian, Etsy
Manual
Inspection
6 Atlassian, Facebook
Phabricator 2 Facebook, Quora
3. Code Review (16)
- practice of presenting software changes to different
stakeholders for comments and approval
Lint checkers,
Static analysis
tools, coding
convention tools
etc.
18
4. Dark Launching (9)
- practice of deploying software changes by keeping the functional aspects
hidden to end-users
Technique
Used
Total Count Example of Adoptees
Gatekeeper 1 Facebook
Note: Other adoptees who use this practice did not discuss their
techniques
19
5. End-User Communication (10)
- practice of communicating with end-users to receive feedback and gather
requirements
Technique Used Total Count Example of Adoptees
Official Forums 6 Etsy, Facebook
Social Networking
Websites
2 Github, Spreaker
Phone Calls 1 Wealthfront
Web Seminars 1 Rally Software
20
6. Feature Flags (13)
- the practice of triggering a specific software branch amongst
many software branches
Technique Used Total Count Example of Adoptees
Conditional
Framework
1 Rally Software
Configuration Flags 1 Etsy
Note: Other adoptees who use this practice did not discuss their
techniques
21
7. Intercommunication (14)
- practice of sharing all necessary development and deployment
information amongst team members
Technique
Used
Total Count Example of Adoptees
Conversation
Bots
2 Facebook, Flickr
ChatOps 1 Github
Gerrit 1 URLinkedUp
Note: Other adoptees who use this practice did not discuss their
techniques
22
8. Monitoring (16)
- practice of collecting deployment related information, producing
appropriate performance metrics
Technique
Used
Total Count Example of Adoptees
Graphite 2 Etsy, Github
Nagios 2 IMVU, Rally Software
Splunk 1 Rally Software
Note: Other adoptees who use this practice did not discuss their
techniques
23
- practice of deploying the master or a different branch of the
software
Technique Used
Total
Count
Example of Adoptees
Trunk Shipment 14 Coolblue, Etsy
Branch Shipment 3 Atlassian, Netflix
9. Repository Use (19)
24
10. Shepherding Changes (14)
- practice of making developers responsible for their software
changes
Technique
Used
Total Count Example of Adoptees
On-call policy 2 Etsy, Github
Boot camps 1 Facebook
Note: Other adoptees who use this practice did not discuss their
techniques
25
11. Staging (17)
- practice that controls the deployment of software changes to internal and
production servers
Technique Used
Total
Count
Example of Adoptees
Gradual roll out 17 Etsy, Facebook
Dogfooding 12 Etsy, Facebook
26
Empirical Findings
Type of Product
Deployed
Adoptee Total Count
Other Type of Websites
Atlassian (AT), Google Consumer
Surveys (GCS), Kitchensurfing (K),
Netflix (N), Outbrain (O), Rally
Software (RS), Spreaker (S)
7
Social Networking
Websites
Facebook (FB), Flickr (FR), Github (G),
IMVU (I), Quora (Q), Pinterest (P)
6
E-Commerce Websites
Coolblue (CB), Etsy (E), Flipkart (FK),
URLinkedUp (U), Wealthfront (WF)
5
Desktop Software Atlassian (AT) 1
Review Websites Yelp (Y) 1
Survey, Cooking,
Audio etc.
27
Empirical Findings
0
3
6
9
12
15
18
CountofPractices
Commonality of Practices
Count of Adoptees (Yes) Count of Adoptees (No) Count of Adoptees (Unknown)
28
Empirical Findings
- Academic articles
- Speakerdeck presentations
0
5
10
15
20
25
Blog Posts Slideshare
Presentations
InfoQ Presentations Videos Other
Count
Type of Internet Artifacts
Count of Different Internet Artifacts
29
Empirical Findings
0
3
6
9
12
15
18
CountofPractices
Use of Internet Artifacts and Follow-up Inquiries
Internet Artifacts Follow-up Inquiries
30
Observations
• Commonality of Continuous Deployment
Practices
• Different Types of Testing
• Shepherding Changes
31
Limitations
• Keyword-based search mechanism
• Evaluation of the 11 software engineering
practices are missing
32
Future Directions
• Understanding how these 11 practices help
adoptees to achieve continuous deployment
successfully
• Providing guidelines on how software
companies can use the identified 11 software
practices to implement continuous
deployment effectively
33
Conclusion
• Summarizing 11 specific software practices used in
industry to implement continuous deployment, and
the adoptees that are using these practices
• Mapping of the 11 continuous deployment practices
and the software companies who are using these
practices
• Observing the commonality of practices used to
implement continuous deployment
34
Related Work
• G. G. Claps, R. B. Svensson, and A. Aurum, “On the
journey to continuous deployment: Technical and social
challenges along the way,” in Information and Software
Technology, January, 2015
• N. F. Velasquez, G. Kim, N. Kersten, and J. Humble, “2014
State of DevOps Report,”
https://puppetlabs.com/sites/default/files/2014-state-
of-devops-report.pdf, 2014.
• M. Leppanen, S. Makinen, M. Pagels, V. Eloranta, J.
Itkonen, M. Mantyla, V. Mika, and T. Mannisto, “The
Highways and Country Roads to Continuous
Deployment,” in IEEE Software, March-April, 2015

Mais conteúdo relacionado

Mais procurados

Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Case studies of Test Driven Development
Case studies of Test Driven DevelopmentCase studies of Test Driven Development
Case studies of Test Driven DevelopmentSimform
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in AgileTEST Huddle
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaEdureka!
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definitionVivek V
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECHPravinsinh
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questionsKevalkumar Shah
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testingKadharBashaJ
 
Software Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival GuideSoftware Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival GuideOleksandr Lutsaievskyi
 
Unit 1 basic concepts of testing & quality
Unit 1   basic concepts of testing & qualityUnit 1   basic concepts of testing & quality
Unit 1 basic concepts of testing & qualityravikhimani1984
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assuranceBenjamin Baumann
 
Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | TestbytesTestbytes
 
Phases of software development
Phases of software developmentPhases of software development
Phases of software developmentCeline George
 

Mais procurados (20)

Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Case studies of Test Driven Development
Case studies of Test Driven DevelopmentCase studies of Test Driven Development
Case studies of Test Driven Development
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in Agile
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
 
Software testing
Software testingSoftware testing
Software testing
 
Formal method
Formal methodFormal method
Formal method
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definition
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Software testing axioms
Software testing axiomsSoftware testing axioms
Software testing axioms
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testing
 
Test plan
Test planTest plan
Test plan
 
Software Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival GuideSoftware Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival Guide
 
Unit 1 basic concepts of testing & quality
Unit 1   basic concepts of testing & qualityUnit 1   basic concepts of testing & quality
Unit 1 basic concepts of testing & quality
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assurance
 
Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | Testbytes
 
Phases of software development
Phases of software developmentPhases of software development
Phases of software development
 

Destaque

Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya
 
Automating Web Application Deployment
Automating Web Application DeploymentAutomating Web Application Deployment
Automating Web Application DeploymentMathew Byrne
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party librariesjavadch
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applicationsMa Xuebin
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Henerey
 
Deploying windows 10 in the Enterprise
Deploying windows 10 in the EnterpriseDeploying windows 10 in the Enterprise
Deploying windows 10 in the EnterpriseRonni Pedersen
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & PracticesThyagarajan Krishnan
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns ThoughtWorks Studios
 
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8Janusz Stankiewicz
 
Enterprise Application Deployment Strategies for Windows 10
Enterprise Application Deployment Strategies for Windows 10Enterprise Application Deployment Strategies for Windows 10
Enterprise Application Deployment Strategies for Windows 10Flexera
 

Destaque (10)

Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
 
Automating Web Application Deployment
Automating Web Application DeploymentAutomating Web Application Deployment
Automating Web Application Deployment
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Deploying windows 10 in the Enterprise
Deploying windows 10 in the EnterpriseDeploying windows 10 in the Enterprise
Deploying windows 10 in the Enterprise
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & Practices
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
Continuous Delivery & DevOps - IT Value Stream Improvements Roadmap Chapter 2 v8
 
Enterprise Application Deployment Strategies for Windows 10
Enterprise Application Deployment Strategies for Windows 10Enterprise Application Deployment Strategies for Windows 10
Enterprise Application Deployment Strategies for Windows 10
 

Semelhante a Synthesizing Continuous Deployment Practices in Software Development

Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleAfrasiyab Haider
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)United International University
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6Bisrat Girma
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?PVS-Studio
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptxKENNEDYDONATO1
 
probe-into-the-key-components-and-tools-of-devops-lifecycle
probe-into-the-key-components-and-tools-of-devops-lifecycleprobe-into-the-key-components-and-tools-of-devops-lifecycle
probe-into-the-key-components-and-tools-of-devops-lifecycleCuneiform Consulting Pvt Ltd.
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallPeter Marshall
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxTangZhiSiang
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Peter Marshall
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentBarb Tillich
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenancearalikatte
 
Road to DevOps ROI
Road to DevOps ROIRoad to DevOps ROI
Road to DevOps ROICloudmunch
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 

Semelhante a Synthesizing Continuous Deployment Practices in Software Development (20)

Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Day1
Day1Day1
Day1
 
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx
 
probe-into-the-key-components-and-tools-of-devops-lifecycle
probe-into-the-key-components-and-tools-of-devops-lifecycleprobe-into-the-key-components-and-tools-of-devops-lifecycle
probe-into-the-key-components-and-tools-of-devops-lifecycle
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptx
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
 
Road to DevOps ROI
Road to DevOps ROIRoad to DevOps ROI
Road to DevOps ROI
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 

Mais de Akond Rahman

How Do Students Feel About Automated Security Static Analysis Exercises?
How Do Students Feel About Automated Security Static Analysis Exercises? How Do Students Feel About Automated Security Static Analysis Exercises?
How Do Students Feel About Automated Security Static Analysis Exercises? Akond Rahman
 
Exercise Perceptions: Experience Report From A Secure Software Development Co...
Exercise Perceptions: Experience Report From A Secure Software Development Co...Exercise Perceptions: Experience Report From A Secure Software Development Co...
Exercise Perceptions: Experience Report From A Secure Software Development Co...Akond Rahman
 
Under-reported Security Defects in Kubernetes Manifests
Under-reported Security Defects in Kubernetes ManifestsUnder-reported Security Defects in Kubernetes Manifests
Under-reported Security Defects in Kubernetes ManifestsAkond Rahman
 
Shhh!: Secret Management Practices for Infrastructure as Code
Shhh!: Secret Management Practices for Infrastructure as Code Shhh!: Secret Management Practices for Infrastructure as Code
Shhh!: Secret Management Practices for Infrastructure as Code Akond Rahman
 
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...Akond Rahman
 
Source Code Properties of Defective Infrastructure as Code Scripts
Source Code Properties of Defective Infrastructure as Code ScriptsSource Code Properties of Defective Infrastructure as Code Scripts
Source Code Properties of Defective Infrastructure as Code ScriptsAkond Rahman
 
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...Akond Rahman
 
What Questions Do Programmers Ask About Configuration as Code?
What Questions Do Programmers Ask About Configuration as Code?What Questions Do Programmers Ask About Configuration as Code?
What Questions Do Programmers Ask About Configuration as Code?Akond Rahman
 
Comprehension Effort and Programming Activities: Related? Or Not Related?
Comprehension Effort and Programming Activities: Related? Or Not Related?Comprehension Effort and Programming Activities: Related? Or Not Related?
Comprehension Effort and Programming Activities: Related? Or Not Related?Akond Rahman
 
Characterizing Defective Configuration Scripts Used for Continuous Deployment
Characterizing Defective Configuration Scripts Used for Continuous DeploymentCharacterizing Defective Configuration Scripts Used for Continuous Deployment
Characterizing Defective Configuration Scripts Used for Continuous DeploymentAkond Rahman
 
Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...Akond Rahman
 
Which Factors Influence Practitioners' Usage of Build Automation Tools?
Which Factors Influence Practitioners' Usage of Build Automation Tools?Which Factors Influence Practitioners' Usage of Build Automation Tools?
Which Factors Influence Practitioners' Usage of Build Automation Tools?Akond Rahman
 
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...Akond Rahman
 

Mais de Akond Rahman (13)

How Do Students Feel About Automated Security Static Analysis Exercises?
How Do Students Feel About Automated Security Static Analysis Exercises? How Do Students Feel About Automated Security Static Analysis Exercises?
How Do Students Feel About Automated Security Static Analysis Exercises?
 
Exercise Perceptions: Experience Report From A Secure Software Development Co...
Exercise Perceptions: Experience Report From A Secure Software Development Co...Exercise Perceptions: Experience Report From A Secure Software Development Co...
Exercise Perceptions: Experience Report From A Secure Software Development Co...
 
Under-reported Security Defects in Kubernetes Manifests
Under-reported Security Defects in Kubernetes ManifestsUnder-reported Security Defects in Kubernetes Manifests
Under-reported Security Defects in Kubernetes Manifests
 
Shhh!: Secret Management Practices for Infrastructure as Code
Shhh!: Secret Management Practices for Infrastructure as Code Shhh!: Secret Management Practices for Infrastructure as Code
Shhh!: Secret Management Practices for Infrastructure as Code
 
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...
Synthesizing Program Execution Time Discrepancies in Julia Used for Scientifi...
 
Source Code Properties of Defective Infrastructure as Code Scripts
Source Code Properties of Defective Infrastructure as Code ScriptsSource Code Properties of Defective Infrastructure as Code Scripts
Source Code Properties of Defective Infrastructure as Code Scripts
 
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...
Characteristics of Defective Infrastructure as Code Scripts in Continuous Dep...
 
What Questions Do Programmers Ask About Configuration as Code?
What Questions Do Programmers Ask About Configuration as Code?What Questions Do Programmers Ask About Configuration as Code?
What Questions Do Programmers Ask About Configuration as Code?
 
Comprehension Effort and Programming Activities: Related? Or Not Related?
Comprehension Effort and Programming Activities: Related? Or Not Related?Comprehension Effort and Programming Activities: Related? Or Not Related?
Comprehension Effort and Programming Activities: Related? Or Not Related?
 
Characterizing Defective Configuration Scripts Used for Continuous Deployment
Characterizing Defective Configuration Scripts Used for Continuous DeploymentCharacterizing Defective Configuration Scripts Used for Continuous Deployment
Characterizing Defective Configuration Scripts Used for Continuous Deployment
 
Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...
 
Which Factors Influence Practitioners' Usage of Build Automation Tools?
Which Factors Influence Practitioners' Usage of Build Automation Tools?Which Factors Influence Practitioners' Usage of Build Automation Tools?
Which Factors Influence Practitioners' Usage of Build Automation Tools?
 
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...
Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Prac...
 

Último

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Último (20)

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Synthesizing Continuous Deployment Practices in Software Development

  • 1. 1 Synthesizing Continuous Deployment Practices Used in Software Development Akond Ashfaque Ur Rahman, Eric Helms, Laurie Williams, and Chris Parnin Department of Computer Science, North Carolina State University
  • 2. 2 Why Continuous Deployment ? • “one of the top ten strategic technology trends for 2015 ” – Gartner • emerging software development process
  • 3. 3 Motivation Software companies learn from the experience of other similar software companies
  • 4. 4 Research Objective The goal of this paper is to aid software practitioners in implementing continuous deployment through systematic analysis of software practices that are used by software companies
  • 6. 6 Definition of Continuous Deployment “as a software process that releases software changes automatically to end-users after they pass the required automated tests. ” Martin FowlerImage Reference: http://martinfowler.com/
  • 7. 7 Definition of Continuous Delivery “the software process that actually releases software to production as soon as they are ready, resulting in many deployments to production every day. ” Image Reference: http://continuousdelivery.com/ Humble & Farley
  • 8. 8 Our Definition “a software engineering process where incremental software changes are automatically tested, and frequently deployed to production environments. ”
  • 9. 9 Realization of Continuous Deployment Varies One Example vs.
  • 11. 11 Our Contributions • A summary and concise definition of 11 continuous deployment practices • A mapping of the 11 continuous deployment practices and the software companies who are using these practices • A list of techniques adoptees have used to realize each of the identified continuous deployment practices
  • 12. 12 Research Question How frequently are different software practices used by software companies that perform continuous deployment?
  • 13. 13 Methodology Yes Other 18 adoptees : internet artifacts Facebook : Feitelson et al. No
  • 14. 14 1. Automated Deployment (19) - making software available to end-users automatically - conducted in between software acquisition and software execution without manual effort Technique Used Total Count Examples of Adoptees Other Tools 13 CoolBlue, Etsy Scripting 4 IMVU, Rally Software BitTorrent 2 Facebook, Pinterest Deployinator, Ansible, Codeship, Octodeploy etc.
  • 15. 15 2. Automated Testing (19) - practice of automated techniques to perform test case management, test data generation etc. Type of Testing Total Count Examples of Adoptees Unit 15 Etsy, Facebook Integration 13 Etsy, IMVU A/B 9 Etsy, Facebook Functional 8 CoolBlue, Etsy Acceptance 5 Atlassian, Netflix Regression 5 CoolBlue, Etsy Perceptual 1 Google Consumer Surveys
  • 16. 16 2. Automated Testing [Contd.] Technique Used Total Count Examples of Adoptees Automated Test Suites 19 Etsy, Facebook Separate Testing Team 2 Atlassian, Netflix
  • 17. 17 Technique Used Total Count Example of Adoptees Other Tools 9 CoolBlue, Google Consumer Surveys Github Tools 7 Atlassian, Etsy Manual Inspection 6 Atlassian, Facebook Phabricator 2 Facebook, Quora 3. Code Review (16) - practice of presenting software changes to different stakeholders for comments and approval Lint checkers, Static analysis tools, coding convention tools etc.
  • 18. 18 4. Dark Launching (9) - practice of deploying software changes by keeping the functional aspects hidden to end-users Technique Used Total Count Example of Adoptees Gatekeeper 1 Facebook Note: Other adoptees who use this practice did not discuss their techniques
  • 19. 19 5. End-User Communication (10) - practice of communicating with end-users to receive feedback and gather requirements Technique Used Total Count Example of Adoptees Official Forums 6 Etsy, Facebook Social Networking Websites 2 Github, Spreaker Phone Calls 1 Wealthfront Web Seminars 1 Rally Software
  • 20. 20 6. Feature Flags (13) - the practice of triggering a specific software branch amongst many software branches Technique Used Total Count Example of Adoptees Conditional Framework 1 Rally Software Configuration Flags 1 Etsy Note: Other adoptees who use this practice did not discuss their techniques
  • 21. 21 7. Intercommunication (14) - practice of sharing all necessary development and deployment information amongst team members Technique Used Total Count Example of Adoptees Conversation Bots 2 Facebook, Flickr ChatOps 1 Github Gerrit 1 URLinkedUp Note: Other adoptees who use this practice did not discuss their techniques
  • 22. 22 8. Monitoring (16) - practice of collecting deployment related information, producing appropriate performance metrics Technique Used Total Count Example of Adoptees Graphite 2 Etsy, Github Nagios 2 IMVU, Rally Software Splunk 1 Rally Software Note: Other adoptees who use this practice did not discuss their techniques
  • 23. 23 - practice of deploying the master or a different branch of the software Technique Used Total Count Example of Adoptees Trunk Shipment 14 Coolblue, Etsy Branch Shipment 3 Atlassian, Netflix 9. Repository Use (19)
  • 24. 24 10. Shepherding Changes (14) - practice of making developers responsible for their software changes Technique Used Total Count Example of Adoptees On-call policy 2 Etsy, Github Boot camps 1 Facebook Note: Other adoptees who use this practice did not discuss their techniques
  • 25. 25 11. Staging (17) - practice that controls the deployment of software changes to internal and production servers Technique Used Total Count Example of Adoptees Gradual roll out 17 Etsy, Facebook Dogfooding 12 Etsy, Facebook
  • 26. 26 Empirical Findings Type of Product Deployed Adoptee Total Count Other Type of Websites Atlassian (AT), Google Consumer Surveys (GCS), Kitchensurfing (K), Netflix (N), Outbrain (O), Rally Software (RS), Spreaker (S) 7 Social Networking Websites Facebook (FB), Flickr (FR), Github (G), IMVU (I), Quora (Q), Pinterest (P) 6 E-Commerce Websites Coolblue (CB), Etsy (E), Flipkart (FK), URLinkedUp (U), Wealthfront (WF) 5 Desktop Software Atlassian (AT) 1 Review Websites Yelp (Y) 1 Survey, Cooking, Audio etc.
  • 27. 27 Empirical Findings 0 3 6 9 12 15 18 CountofPractices Commonality of Practices Count of Adoptees (Yes) Count of Adoptees (No) Count of Adoptees (Unknown)
  • 28. 28 Empirical Findings - Academic articles - Speakerdeck presentations 0 5 10 15 20 25 Blog Posts Slideshare Presentations InfoQ Presentations Videos Other Count Type of Internet Artifacts Count of Different Internet Artifacts
  • 29. 29 Empirical Findings 0 3 6 9 12 15 18 CountofPractices Use of Internet Artifacts and Follow-up Inquiries Internet Artifacts Follow-up Inquiries
  • 30. 30 Observations • Commonality of Continuous Deployment Practices • Different Types of Testing • Shepherding Changes
  • 31. 31 Limitations • Keyword-based search mechanism • Evaluation of the 11 software engineering practices are missing
  • 32. 32 Future Directions • Understanding how these 11 practices help adoptees to achieve continuous deployment successfully • Providing guidelines on how software companies can use the identified 11 software practices to implement continuous deployment effectively
  • 33. 33 Conclusion • Summarizing 11 specific software practices used in industry to implement continuous deployment, and the adoptees that are using these practices • Mapping of the 11 continuous deployment practices and the software companies who are using these practices • Observing the commonality of practices used to implement continuous deployment
  • 34. 34 Related Work • G. G. Claps, R. B. Svensson, and A. Aurum, “On the journey to continuous deployment: Technical and social challenges along the way,” in Information and Software Technology, January, 2015 • N. F. Velasquez, G. Kim, N. Kersten, and J. Humble, “2014 State of DevOps Report,” https://puppetlabs.com/sites/default/files/2014-state- of-devops-report.pdf, 2014. • M. Leppanen, S. Makinen, M. Pagels, V. Eloranta, J. Itkonen, M. Mantyla, V. Mika, and T. Mannisto, “The Highways and Country Roads to Continuous Deployment,” in IEEE Software, March-April, 2015

Notas do Editor

  1. Image Reference: http://www.mmatechs.com/solutions.html http://www.gartner.com/newsroom/id/2867917 Gartner: a leading software engineering research and advisory company
  2. Image references: http://www.slideshare.net/dimka5/introducing-agile-scrum-xp-and-kanban and https://puppetlabs.com/blog/continuous-delivery-vs-continuous-deployment-whats-diff
  3. Resource: 1. https://www.etsy.com/ 2. www.facebook.com
  4. Image References: www.facebook.com netfllix.com github.com etsy.com rallysoftware.com