Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… ·...
Transcript of Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… ·...
![Page 1: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/1.jpg)
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 1
Increased Code Quality With DevOps
David VotawNGC
![Page 2: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/2.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 2
Who is David Votaw?
• Background• Software Developer - 13 years
• 86% complete with a Doctorate of Computer Science (DCS) in
Information Assurance
• Current Assignments• Taking teams to the next level of DevOps
• Research and innovation
• Fun• Family
• Video games
• Road trips
• Heavy metal \m/
![Page 3: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/3.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 3
Who is David Votaw? Cont.
![Page 4: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/4.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 4
• This presentation will give on overview of DevOps
practices including:
• Test Driven Development (TDD)
• Continuous Integration (CI)
• Static Code Analysis (SCA)
• Functional Testing
• Continuous Deployment (CD)
• Infrastructure as Code (IaC)
• Virtualization and Parallelization
• Monitoring and Metrics
Agenda
![Page 5: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/5.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 5
Developer and Operations (DevOps)
DevOps
![Page 6: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/6.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 6
What is DevOps?
According to DevoPedia, “DevOps is
the coming together of both
development and operations teams into
a coordinated workflow such that
collaboration and productivity are
improved to meet shared business
goals. Building on Agile and
Lean, DevOps enables the business to
respond to changes and meet customer
needs faster. Tools and automation are
necessary enablers. Practices such as
Continuous Integration and Continuous
Delivery are often followed.”
![Page 7: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/7.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 7
DevOps Process
OperationsDevelopment
Deploy
Feedback
Delivering Value Through
Collaboration
Example Environment Setup
Right-to-Left Feedback
Continuous Deployment
![Page 8: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/8.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 8
Test Driven Development (TDD)
TDD
![Page 9: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/9.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 9
TDD Cont.
• Works well with Agile teams
and short development cycles
• Keep the unit or module small
• Steps
• Write the test first
• Write only the code that is
needed to pass the test
• Refactor to organize and
eliminate duplication
• Repeat
• Focus on software quality
• Avoid building dependencies
between test cases
![Page 10: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/10.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 10
TDD using NUnit
Arrange
Act
Assert
Cleanup
![Page 11: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/11.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 11
Benefits and Limitations of TDD
• Benefits• Develop code that reflects new business requirements
• Higher productivity by focusing on one test at a time
• Tidier and higher quality code
• Helps keep unused code out of the system
• Built-in regression testing as part of a Continuous
Integration process
• Fewer bugs
• Living documentation
• Limitations• Requires time and effort up front
• Difficult to write good test cases
• Takes time maintain test suites
![Page 12: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/12.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 12
Continuous Integration (CI)
CI
![Page 13: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/13.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 13
CI Process
(8) Run Automated
Unit Tests
(12) Deploy to
Test Cluster
(13) Update Build
Dashboard
(14) Update Build
Results/Artifacts
(15) Build
Notification
Emailed
(2) Dev Team
Agile/Continuous
Integration Process
(1b) Enhancements
& Defects – New
Release(1a) Defects –
Existing Releases
(9) Code Coverage
Analysis
(3) Source Code
and unit tests(4) Version
Control
(5) Source Code
Label/Build
(7) Setup Unit
Test Databases
(10) Create SDK
Documentation(11) Create CD
Installation
Continuous
Planning
Continuous
Deployment
Continuous
Integration
Continuous
Delivery
(6) Static Code
Analysis
![Page 14: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/14.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 14
CI – Source Control
Source code is
structured so each
release is branched
and maintains it’s
own history.
![Page 15: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/15.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 15
CI – Cruise Control
CCNet polls for changes every
5 minutes. If a change is found
it will wait an additional 5
minutes of inactivity before
starting a build.
![Page 16: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/16.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 16
CI – Label, Get, and Compile Code
NAnt script is run to
label the “build”
directory in source
control with the build
number (e.g. 9.1.0.538)
Compiled code results
for all projects in the
solution on the build
machine.
![Page 17: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/17.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 17
Static Code Analysis (SCA)
SCA
![Page 18: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/18.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 18
SCA - SonarQube
SonarQube is used to
scan the code to
check for good coding
practices.
![Page 19: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/19.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 19
SCA - Fortify
Fortify is used to check
code for good security
practices.
![Page 20: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/20.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 20
Functional Testing
Functional Testing
![Page 21: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/21.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 21
Functional Testing Cont.
Scripts are
automatically run to
create Oracle and
SQL Server unit test
databases.
Tables and Indexes
with bootstrap data
are created along with
procedures, views,
sequences, etc.
Unit test startup, execute,
and teardown is recorded
in the build log.
![Page 22: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/22.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 22
Continuous Deployment/Delivery (CD)
CD
![Page 23: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/23.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 23
CD – Actionable Data
Dev
Test
UAT
Prod
Custom Automation
Intelligently transferring and deploying a solution to the desired environments
![Page 24: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/24.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 24
Infrastructure as Code (IaC)
IaC
![Page 25: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/25.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 25
IaC – Gold Disk Management
Windows 10 - Template
SQL
Office
Visual Studio 2017
IntelliJ
NetBeans
Eclipse Neon
.NET Java
Windows Server 2012 - Blueprint
SQL
Oracle
Jenkins
IIS
JBoss
TeamCity
TeamCenter eQube
Windows Server 2012 - Blueprint
SQL
Oracle
Jenkins
IIS
JBoss
TeamCity
TeamCenter eQube
Windows Server 2012 - Blueprint
SQL
Oracle
Jenkins
IIS
JBoss
TeamCity
TeamCenter eQube
Windows Server 2012 - Blueprint
SQL
Oracle
Jenkins
IIS
JBoss
TeamCity
TeamCenter eQube
![Page 26: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/26.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 26
Virtualization and Parallelization
Virtualization and Parallelization
1:1
![Page 27: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/27.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 27
Virtualization and Parallelization Cont.
Action1
Action4
Action3
Action2
Action5
5 hours in total (1 hour for each task)
Before After
Automated regression test tend to take hours to complete, parallelization can decrease that time.
1 hour in total
Action1Action2Action3Action4Action5
![Page 28: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/28.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 28
Metrics
Metrics
![Page 29: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/29.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 29
Metrics Cont.
![Page 30: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/30.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 30
Metrics - Code
NCover drills down all the
way to individual lines of
code to show what was
tested.
![Page 31: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/31.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 31
Questions???
![Page 32: Increased Code Quality With - GPDIS › wp-content › uploads › 2018 › 09 › Northrop-… · Quality With DevOps David Votaw NGC. Global Product Data Interoperability Summit](https://reader036.fdocuments.us/reader036/viewer/2022081612/5f0eceaa7e708231d441092b/html5/thumbnails/32.jpg)
Global Product Data Interoperability Summit | 2018
BOEING is a trademark of Boeing Management Company
Copyright © 2018 Boeing. All rights reserved.
Copyright © 2018 Northrop Grumman Corporation. All rights reserved.
GPDIS_2018.ppt | 32
References and Images
• CodeStream - https://blogs.vmware.com/management/2015/03/gating-rules-vrealize-code-stream.html
• Continuous Delivery - http://electric-cloud.com/resources/continuous-delivery-101/continuous-deployment/
• Continuous Integration - https://visualstudio.microsoft.com/team-services/continuous-integration/
• DevOps Cog - https://gptpartners.com/industry-trends/devops-why-now/
• DevoPedia - https://devopedia.org/devops
• IaC - https://docs.microsoft.com/en-us/azure/devops/what-is-infrastructure-as-code
• Functional Testing - http://appknights.com/functional.html
• Jenkins - https://www.cloudbees.com/blog/top-10-best-practices-jenkins-pipeline-plugin
• Metrics - https://www.monsterinsights.com/google-analytics-vanity-metrics-that-are-wasting-your-time/
• Questions - https://nosweatpublicspeaking.com/your-questions-my/
• SCA - https://crmbusiness.wordpress.com/2016/07/27/why-developers-should-use-code-analysis-to-keep-code-quality-high/
• TeamCity - https://www.slideshare.net/vomel/continuous-delivery-with-teamcity
• TDD - https://www.vectorcast.com/blog/2011/03/test-driven-development-vectorcast-part-1
• TDD2 - https://centricconsulting.com/case-studies/agile-test-driven-development/
• TFS - https://blogs.msdn.microsoft.com/bharry/2015/04/29/visual-studio-and-team-foundation-server-at-build-2015/
• Time Is Money - https://yourstory.com/mystory/f39bea5268-do-you-know-the-phrase