SlideShare a Scribd company logo
Bottom-up Adoption of Continuous Delivery
in a Stage-Gate Managed Software
Organization
Eero Laukkanen, Timo O.A. Lehtinen, Juha Itkonen, Maria Paasivaara,
Casper Lassenius
ACM/IEEE International Symposium on Empirical Software Engineer-
ing and Measurement, September 2016
Department of Computer Science, Aalto University
Continuous Delivery (CD)
Continuous Delivery
Continuous Integration
Version
Control
Commit
Stage
Acceptance
Test Stage
Other
Stages
Deploy to
Production
"Continuous Delivery is a software development discipline
where you build software in such a way that the software can
be released to production at any time." (Fowler, 2013)
1
CD Adoption
Organization, has
not adopted CD
Organization, has
adopted CD
Continuous delivery adoption:
a set of adoption actions
Problems
CD solves
Problems
of CD
Benefits of
CD
has
CD adoption
problems
has
2
Previous Studies of CD Adoption Problems
Debbiche
etal.
Claps
etal.
Leppänen
etal.
Chen
Gm
eineretal.
Laukkanen
etal.
Hukkanen
Identified Problems
Build Design X
System Design X X X X X
Integration X X X X
Testing X X X X X
Release X X
Human&Organizational X X X X X X X
Process X
Resources X X X X X X
3
Case Organization
• Nokia Networks software development unit
• Managed by product management unit
• Telecommunications product for managing self-organizing
network infrastructure
• Customers: mobile network operators around the world
• Org. structure: distributed to several sites and countries
• Time difference to one site, other sites on same timezone
"Internally, the target would be continuous deployment,
deploying to target hardware continuously [...] For continuous
deployment, the management is not needed or changes in the
processes."
4
Stage-gate Process of the Case Organization
Customer
Trial
Planning Development
System
Verification
General
Availability
Code Freeze
G3 G4G2G1
• Releases go through the stages, gates are milestones
• Planning: feature specification, resource allocation
• Development: implementation, testing (Scrum)
• System Verification: end-to-end system testing
• Customer Trial: trials at customer environments
• General Availability: release to all customers
5
Research Goal and Questions
Goal: Understand how the stage-gate process affected CD
adoption in the case organization.
RQ1. What direct signs of a dysfunctional CD practice did the
case organization show?
RQ2. What caused the direct signs of a dysfunctional CD
practice in the case organization?
RQ3. How did the stage-gate process used by the case
organization explain the direct signs of a dysfunctional CD
practice?
6
Research Process
• ARCA root cause analysis method (Lehtinen et al., 2011)
• Designed for high-level causal analysis
• Two two-hour workshops on one site of the organization
1. Problem identification: What CD adoption problems the
organization is facing? Which are the most significant?
2. Causal analysis: Why are the identified issues problematic?
• Altogether 15 participants: managers, developers, testers
• Audio recordings transcribed and thematically analyzed
• Limitations
• Perceived causes
• Only one site heard
• Only development unit heard
7
Results
RQ1. Direct Signs of Dysfunctional CD Practice
Sign Description
Failing builds CD pipeline builds were often failing and not
fixed immediately afterwards.
Flaky tests Some tests were flaky, meaning that they
might fail randomly even when there was no
issue in a code change.
Low test coverage Test coverage was not considered high enough
for having confidence to release the product
after running the tests.
Slow feedback Feedback about the changes made to the
product came slow to the developers.
8
RQ2. Mechanisms and Root Causes
Legend
Stage-gate
Process
Failing
Builds
Flaky Tests
Slow
Feedback
Low Test
Coverage
Multiple
Branches
Delayed
Integration
Time
Pressure
Process
Overhead
Tight
Schedule
Lack of
Time To
Improve
Branch
Overhead
Distributed
Organization
Insufficient
Communication
Lack of Testing
Strategy
Duplicate
Testing
Unsuitable
Architecture
Unstable
Architecture
Limited
Hardware
Resources
Sharing Test
Environments
Slow Build
Breaking
Changes
Direct Sign
Other
Mechanism
Process
Mechanism
Root Cause
9
RQ3. Lack of Time Mechanisms
Stage-gate
Process
Failing
Builds
Flaky Tests
Low Test
Coverage
Multiple
Branches
Time
Pressure
Process
Overhead
Tight
Schedule
Lack of
Time To
Improve
Branch
Overhead
10
RQ3. Tight Schedule Mechanism
Stage-gate
Process
Tight
Schedule
Early Plans Do not Hold
Same Deadlines for Dependencies
and Dependents
Uneven and Unpredictable Workload
Plans not Readjusted after Delays
Problems Hidden to Pass Quality
Gates
Code Freeze not Respected
11
RQ3. Branch Mechanisms
Stage-gate
Process
Failing
Builds
Flaky Tests
Slow
Feedback
Low Test
Coverage
Multiple
Branches
Delayed
Integration
Lack of
Time To
Improve
Branch
Overhead
Limited
Hardware
Resources
Sharing Test
Environments
12
Guidelines Based on the Case Study
• No time to improve test coverage, fix builds and flaky tests
→ Provide time with slack (Lawson, 2001)
• Branches decided by management caused overhead for
development
→ Avoid branches with feature toggles (Rahman et al., 2016)
→ Give decision-making power to developers
• Stage-gate process substantially affected the CD adoption
→ CD and stage-gate process might be incompatible
→ Get support from other parts of the organization for CD
adoption
13
References
L. Chen. Continuous Delivery: Huge Benefits, But Challenges Too. Software, IEEE, 32(2):50--54, 2015.
G. G. Claps, R. B. Svensson, and A. Aurum. On the journey to continuous deployment: Technical and social
challenges along the way. Information and Software Technology, 57(0):21 -- 31, 2015.
A. Debbiche, M. Dienér, and R. Berntsson Svensson. Challenges When Adopting Continuous Integration: A Case
Study. In Product-Focused Software Process Improvement, volume 8892 of Lecture Notes in Computer Science,
pages 17--32. Springer International Publishing, 2014.
M. Fowler. ContinuousDelivery, 2013. URL http://martinfowler.com/bliki/ContinuousDelivery.html.
J. Gmeiner, R. Ramler, and J. Haslinger. Automated testing in the continuous delivery pipeline: A case study of an
online company. In 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation
Workshops (ICSTW), pages 1--6, 2015.
L. Hukkanen. Adopting Continuous Integration – A Case Study. M.Sc. thesis, Aalto University, 2015.
E. Laukkanen, M. Paasivaara, and T. Arvonen. Stakeholder Perceptions of the Adoption of Continuous Integration – A
Case Study. In 2015 Agile Conference, pages 11--20, Washington, DC, USA, 2015.
M. B. Lawson. In praise of slack: Time is of the essence. The Academy of Management Executive, 15(3):125--135, 2001.
T. O. A. Lehtinen, M. V. Mäntylä, and J. Vanhanen. Development and evaluation of a lightweight root cause analysis
method (ARCA method)–field studies at four software companies. Information and Software Technology, 53(10):
1045--1061, 2011.
M. Leppänen, S. Mäkinen, M. Pagels, V.-P. Eloranta, J. Itkonen, M. V. Mäntylä, and T. Männistö. The Highways and
Country Roads to Continuous Deployment. Software, IEEE, 32(2):64--72, 2015.
M. T. Rahman, L.-P. Querel, P. C. Rigby, and B. Adams. Feature toggles: practitioner practices and a case study. In
Proceedings of the 13th International Conference on Mining Software Repositories, pages 201--211. ACM Press,
2016.
14

More Related Content

What's hot

Quality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceQuality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the Fence
Tom Oketch
 
Risk based QA af Michael Agerkvist Petersen, Radiometer Medical
Risk based QA af Michael Agerkvist Petersen, Radiometer MedicalRisk based QA af Michael Agerkvist Petersen, Radiometer Medical
Risk based QA af Michael Agerkvist Petersen, Radiometer Medical
InfinIT - Innovationsnetværket for it
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change Propagation
SAIL_QU
 
Uni of Auckland Lecture 20110823
Uni of Auckland Lecture 20110823Uni of Auckland Lecture 20110823
Uni of Auckland Lecture 20110823
Farid Vaswani
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods
deep sharma
 
Common System and Software Testing Pitfalls
Common System and Software Testing PitfallsCommon System and Software Testing Pitfalls
Common System and Software Testing Pitfalls
TechWell
 
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code ReviewICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
Ali Ouni
 
Joseph G Scott
Joseph G  ScottJoseph G  Scott
Joseph G Scott
Joe Scott
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
aralikatte
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
SAIL_QU
 
Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
Yasutaka Kamei
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software Evolution
Michaela Greiler
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
TEST Huddle
 
A Mono- and Multi-objective Approach for Recommending Software Refactoring
A Mono- and Multi-objective Approach for Recommending Software RefactoringA Mono- and Multi-objective Approach for Recommending Software Refactoring
A Mono- and Multi-objective Approach for Recommending Software Refactoring
Ali Ouni
 
The Role of Testing in DevOps
The Role of Testing in DevOpsThe Role of Testing in DevOps
The Role of Testing in DevOps
Uberto Barbini
 
How to Test the Internet of Everything
How to Test the Internet of EverythingHow to Test the Internet of Everything
How to Test the Internet of Everything
SQALab
 
Testing
TestingTesting
Testing
nazeer pasha
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
Radu_Negulescu
 
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
Pavneet Singh Kochhar
 
Key Challenges in Agile RE @XP2017
Key Challenges in Agile RE @XP2017Key Challenges in Agile RE @XP2017
Key Challenges in Agile RE @XP2017
Prof. Dr. Eva-Maria Schön
 

What's hot (20)

Quality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceQuality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the Fence
 
Risk based QA af Michael Agerkvist Petersen, Radiometer Medical
Risk based QA af Michael Agerkvist Petersen, Radiometer MedicalRisk based QA af Michael Agerkvist Petersen, Radiometer Medical
Risk based QA af Michael Agerkvist Petersen, Radiometer Medical
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change Propagation
 
Uni of Auckland Lecture 20110823
Uni of Auckland Lecture 20110823Uni of Auckland Lecture 20110823
Uni of Auckland Lecture 20110823
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods
 
Common System and Software Testing Pitfalls
Common System and Software Testing PitfallsCommon System and Software Testing Pitfalls
Common System and Software Testing Pitfalls
 
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code ReviewICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
 
Joseph G Scott
Joseph G  ScottJoseph G  Scott
Joseph G Scott
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
 
Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software Evolution
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
 
A Mono- and Multi-objective Approach for Recommending Software Refactoring
A Mono- and Multi-objective Approach for Recommending Software RefactoringA Mono- and Multi-objective Approach for Recommending Software Refactoring
A Mono- and Multi-objective Approach for Recommending Software Refactoring
 
The Role of Testing in DevOps
The Role of Testing in DevOpsThe Role of Testing in DevOps
The Role of Testing in DevOps
 
How to Test the Internet of Everything
How to Test the Internet of EverythingHow to Test the Internet of Everything
How to Test the Internet of Everything
 
Testing
TestingTesting
Testing
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
Adoption of Software Testing in Open Source Projects - A Preliminary Study on...
 
Key Challenges in Agile RE @XP2017
Key Challenges in Agile RE @XP2017Key Challenges in Agile RE @XP2017
Key Challenges in Agile RE @XP2017
 

Viewers also liked

wireless cellular network
wireless cellular networkwireless cellular network
wireless cellular network
Maulik Patel
 
Chemical & Microbial analysis of farm & forest soil
Chemical & Microbial analysis of farm & forest soilChemical & Microbial analysis of farm & forest soil
Chemical & Microbial analysis of farm & forest soil
Ishan Trivedi
 
Modern cellular communication
Modern cellular communicationModern cellular communication
Modern cellular communication
Zaahir Salam
 
Wireless 4 g presentation
Wireless 4 g presentationWireless 4 g presentation
Wireless 4 g presentation
Murtadha ali shukur
 
The Three Stages Of Labor And Delivery
The Three Stages Of Labor And DeliveryThe Three Stages Of Labor And Delivery
The Three Stages Of Labor And Delivery
sandrute3
 
Lec 3 and 4 cellular concept 1
Lec 3 and 4 cellular concept 1Lec 3 and 4 cellular concept 1
Lec 3 and 4 cellular concept 1
Sidra Mallick
 
Introduction to Wireless Communication
Introduction to Wireless CommunicationIntroduction to Wireless Communication
Introduction to Wireless Communication
Dilum Bandara
 
The cellular concept
The cellular conceptThe cellular concept
The cellular concept
ZunAib Ali
 
cellular ppt
cellular pptcellular ppt
cellular ppt
Divya Bansal
 
Wireless communication and cellular concept
Wireless communication and cellular conceptWireless communication and cellular concept
Wireless communication and cellular concept
saam123
 
5 g –wireless technology
5 g –wireless technology5 g –wireless technology
5 g –wireless technology
Sushil Sudake
 
Soil ppt
Soil pptSoil ppt
Soil ppt
Maria Donohue
 
cellular concepts in wireless communication
cellular concepts in wireless communicationcellular concepts in wireless communication
cellular concepts in wireless communication
asadkhan1327
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
SlideShare
 

Viewers also liked (14)

wireless cellular network
wireless cellular networkwireless cellular network
wireless cellular network
 
Chemical & Microbial analysis of farm & forest soil
Chemical & Microbial analysis of farm & forest soilChemical & Microbial analysis of farm & forest soil
Chemical & Microbial analysis of farm & forest soil
 
Modern cellular communication
Modern cellular communicationModern cellular communication
Modern cellular communication
 
Wireless 4 g presentation
Wireless 4 g presentationWireless 4 g presentation
Wireless 4 g presentation
 
The Three Stages Of Labor And Delivery
The Three Stages Of Labor And DeliveryThe Three Stages Of Labor And Delivery
The Three Stages Of Labor And Delivery
 
Lec 3 and 4 cellular concept 1
Lec 3 and 4 cellular concept 1Lec 3 and 4 cellular concept 1
Lec 3 and 4 cellular concept 1
 
Introduction to Wireless Communication
Introduction to Wireless CommunicationIntroduction to Wireless Communication
Introduction to Wireless Communication
 
The cellular concept
The cellular conceptThe cellular concept
The cellular concept
 
cellular ppt
cellular pptcellular ppt
cellular ppt
 
Wireless communication and cellular concept
Wireless communication and cellular conceptWireless communication and cellular concept
Wireless communication and cellular concept
 
5 g –wireless technology
5 g –wireless technology5 g –wireless technology
5 g –wireless technology
 
Soil ppt
Soil pptSoil ppt
Soil ppt
 
cellular concepts in wireless communication
cellular concepts in wireless communicationcellular concepts in wireless communication
cellular concepts in wireless communication
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
 

Similar to Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Organization

Agile methods cost of quality
Agile methods cost of qualityAgile methods cost of quality
Agile methods cost of quality
Cristiano Caetano
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
Perfecto by Perforce
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
Marcus Drost
 
Varalakhmi_Suresh_1
Varalakhmi_Suresh_1Varalakhmi_Suresh_1
Varalakhmi_Suresh_1
varu suresh
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing
gangcheng19721
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
TechWell
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLC
IJEACS
 
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
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
Peter Marshall
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...
Tze Chin Tang
 
Sakshi Tripathi Resume
Sakshi Tripathi ResumeSakshi Tripathi Resume
Sakshi Tripathi Resume
Sakshi Tripathi
 
Software testing
Software testingSoftware testing
Software testing
thaneofife
 
Ch14
Ch14Ch14
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docxPhase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
randymartin91030
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
Ann Marie Neufelder
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
Neotys
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
TechWell
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
Perforce
 
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
Adam Porter
 

Similar to Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Organization (20)

Agile methods cost of quality
Agile methods cost of qualityAgile methods cost of quality
Agile methods cost of quality
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
 
Varalakhmi_Suresh_1
Varalakhmi_Suresh_1Varalakhmi_Suresh_1
Varalakhmi_Suresh_1
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile Environment
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLC
 
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"
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...
 
Sakshi Tripathi Resume
Sakshi Tripathi ResumeSakshi Tripathi Resume
Sakshi Tripathi Resume
 
Software testing
Software testingSoftware testing
Software testing
 
Ch14
Ch14Ch14
Ch14
 
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docxPhase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
Phase 3 - Task 1Task TypeDiscussion BoardDeliverable Length.docx
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
 
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
ICST2016 Keynote - What got us here won't get us there: Trends and challenges...
 

More from Eero Laukkanen

Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...
Eero Laukkanen
 
Towards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case studyTowards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case study
Eero Laukkanen
 
Practical usage of OPC UA information models
Practical usage of OPC UA information modelsPractical usage of OPC UA information models
Practical usage of OPC UA information models
Eero Laukkanen
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and Deployment
Eero Laukkanen
 
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case StudyStakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Eero Laukkanen
 
Build waiting time in continuous integration
Build waiting time in continuous integrationBuild waiting time in continuous integration
Build waiting time in continuous integration
Eero Laukkanen
 

More from Eero Laukkanen (6)

Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...
 
Towards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case studyTowards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case study
 
Practical usage of OPC UA information models
Practical usage of OPC UA information modelsPractical usage of OPC UA information models
Practical usage of OPC UA information models
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and Deployment
 
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case StudyStakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
 
Build waiting time in continuous integration
Build waiting time in continuous integrationBuild waiting time in continuous integration
Build waiting time in continuous integration
 

Recently uploaded

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 

Recently uploaded (20)

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 

Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Organization

  • 1. Bottom-up Adoption of Continuous Delivery in a Stage-Gate Managed Software Organization Eero Laukkanen, Timo O.A. Lehtinen, Juha Itkonen, Maria Paasivaara, Casper Lassenius ACM/IEEE International Symposium on Empirical Software Engineer- ing and Measurement, September 2016 Department of Computer Science, Aalto University
  • 2. Continuous Delivery (CD) Continuous Delivery Continuous Integration Version Control Commit Stage Acceptance Test Stage Other Stages Deploy to Production "Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time." (Fowler, 2013) 1
  • 3. CD Adoption Organization, has not adopted CD Organization, has adopted CD Continuous delivery adoption: a set of adoption actions Problems CD solves Problems of CD Benefits of CD has CD adoption problems has 2
  • 4. Previous Studies of CD Adoption Problems Debbiche etal. Claps etal. Leppänen etal. Chen Gm eineretal. Laukkanen etal. Hukkanen Identified Problems Build Design X System Design X X X X X Integration X X X X Testing X X X X X Release X X Human&Organizational X X X X X X X Process X Resources X X X X X X 3
  • 5. Case Organization • Nokia Networks software development unit • Managed by product management unit • Telecommunications product for managing self-organizing network infrastructure • Customers: mobile network operators around the world • Org. structure: distributed to several sites and countries • Time difference to one site, other sites on same timezone "Internally, the target would be continuous deployment, deploying to target hardware continuously [...] For continuous deployment, the management is not needed or changes in the processes." 4
  • 6. Stage-gate Process of the Case Organization Customer Trial Planning Development System Verification General Availability Code Freeze G3 G4G2G1 • Releases go through the stages, gates are milestones • Planning: feature specification, resource allocation • Development: implementation, testing (Scrum) • System Verification: end-to-end system testing • Customer Trial: trials at customer environments • General Availability: release to all customers 5
  • 7. Research Goal and Questions Goal: Understand how the stage-gate process affected CD adoption in the case organization. RQ1. What direct signs of a dysfunctional CD practice did the case organization show? RQ2. What caused the direct signs of a dysfunctional CD practice in the case organization? RQ3. How did the stage-gate process used by the case organization explain the direct signs of a dysfunctional CD practice? 6
  • 8. Research Process • ARCA root cause analysis method (Lehtinen et al., 2011) • Designed for high-level causal analysis • Two two-hour workshops on one site of the organization 1. Problem identification: What CD adoption problems the organization is facing? Which are the most significant? 2. Causal analysis: Why are the identified issues problematic? • Altogether 15 participants: managers, developers, testers • Audio recordings transcribed and thematically analyzed • Limitations • Perceived causes • Only one site heard • Only development unit heard 7
  • 10. RQ1. Direct Signs of Dysfunctional CD Practice Sign Description Failing builds CD pipeline builds were often failing and not fixed immediately afterwards. Flaky tests Some tests were flaky, meaning that they might fail randomly even when there was no issue in a code change. Low test coverage Test coverage was not considered high enough for having confidence to release the product after running the tests. Slow feedback Feedback about the changes made to the product came slow to the developers. 8
  • 11. RQ2. Mechanisms and Root Causes Legend Stage-gate Process Failing Builds Flaky Tests Slow Feedback Low Test Coverage Multiple Branches Delayed Integration Time Pressure Process Overhead Tight Schedule Lack of Time To Improve Branch Overhead Distributed Organization Insufficient Communication Lack of Testing Strategy Duplicate Testing Unsuitable Architecture Unstable Architecture Limited Hardware Resources Sharing Test Environments Slow Build Breaking Changes Direct Sign Other Mechanism Process Mechanism Root Cause 9
  • 12. RQ3. Lack of Time Mechanisms Stage-gate Process Failing Builds Flaky Tests Low Test Coverage Multiple Branches Time Pressure Process Overhead Tight Schedule Lack of Time To Improve Branch Overhead 10
  • 13. RQ3. Tight Schedule Mechanism Stage-gate Process Tight Schedule Early Plans Do not Hold Same Deadlines for Dependencies and Dependents Uneven and Unpredictable Workload Plans not Readjusted after Delays Problems Hidden to Pass Quality Gates Code Freeze not Respected 11
  • 14. RQ3. Branch Mechanisms Stage-gate Process Failing Builds Flaky Tests Slow Feedback Low Test Coverage Multiple Branches Delayed Integration Lack of Time To Improve Branch Overhead Limited Hardware Resources Sharing Test Environments 12
  • 15. Guidelines Based on the Case Study • No time to improve test coverage, fix builds and flaky tests → Provide time with slack (Lawson, 2001) • Branches decided by management caused overhead for development → Avoid branches with feature toggles (Rahman et al., 2016) → Give decision-making power to developers • Stage-gate process substantially affected the CD adoption → CD and stage-gate process might be incompatible → Get support from other parts of the organization for CD adoption 13
  • 16. References L. Chen. Continuous Delivery: Huge Benefits, But Challenges Too. Software, IEEE, 32(2):50--54, 2015. G. G. Claps, R. B. Svensson, and A. Aurum. On the journey to continuous deployment: Technical and social challenges along the way. Information and Software Technology, 57(0):21 -- 31, 2015. A. Debbiche, M. Dienér, and R. Berntsson Svensson. Challenges When Adopting Continuous Integration: A Case Study. In Product-Focused Software Process Improvement, volume 8892 of Lecture Notes in Computer Science, pages 17--32. Springer International Publishing, 2014. M. Fowler. ContinuousDelivery, 2013. URL http://martinfowler.com/bliki/ContinuousDelivery.html. J. Gmeiner, R. Ramler, and J. Haslinger. Automated testing in the continuous delivery pipeline: A case study of an online company. In 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pages 1--6, 2015. L. Hukkanen. Adopting Continuous Integration – A Case Study. M.Sc. thesis, Aalto University, 2015. E. Laukkanen, M. Paasivaara, and T. Arvonen. Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study. In 2015 Agile Conference, pages 11--20, Washington, DC, USA, 2015. M. B. Lawson. In praise of slack: Time is of the essence. The Academy of Management Executive, 15(3):125--135, 2001. T. O. A. Lehtinen, M. V. Mäntylä, and J. Vanhanen. Development and evaluation of a lightweight root cause analysis method (ARCA method)–field studies at four software companies. Information and Software Technology, 53(10): 1045--1061, 2011. M. Leppänen, S. Mäkinen, M. Pagels, V.-P. Eloranta, J. Itkonen, M. V. Mäntylä, and T. Männistö. The Highways and Country Roads to Continuous Deployment. Software, IEEE, 32(2):64--72, 2015. M. T. Rahman, L.-P. Querel, P. C. Rigby, and B. Adams. Feature toggles: practitioner practices and a case study. In Proceedings of the 13th International Conference on Mining Software Repositories, pages 201--211. ACM Press, 2016. 14