continuous integration in large programs
TRANSCRIPT
![Page 1: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/1.jpg)
Continuous Integration in Large Programs
Naveen Kumar Singh@naveenhome
![Page 2: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/2.jpg)
Let’s define large
![Page 3: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/3.jpg)
What are the challenges?
One challenge per sticky note 10
Mins
![Page 4: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/4.jpg)
Arrange in below order
Technical Problem People Problem Process Problem
5 Mins
![Page 5: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/5.jpg)
Everything Boil Down to…….
I don’t know Why to do We can’t do
![Page 6: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/6.jpg)
Time to Produce and Design?
![Page 7: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/7.jpg)
Let’s look at things differently
Lean Product Development – Highly
Uncertain, High Variability and not repeatable
Design
Development
Testing?
Lean Manufacturing – Predictable, Low Variability, Mechanistic, shorter lead
time and near Zero defects.
Deployment
Information Security
Support (L1, Apps)
![Page 8: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/8.jpg)
Why Continuous Integration
Let’s play a game to understand why Continuous Integration?
Simulation will cover below:-
• Cost of Delay• Cost of Production• Continuous Integration Principles
![Page 9: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/9.jpg)
Define your Delivery Pipeline
Build Test Release
Deploy to test
Pre-Prod Prod
Manual or Automated
Time spend on each phase
20 Mins
![Page 10: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/10.jpg)
Typical waste in software development
Defects Overhead processes Waiting
Not-realizing people's potential
Task switching Inventory Motion Extra features
![Page 11: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/11.jpg)
What is Continuous Integration
A software development practice where members of the integrate their work frequently, usually each person integrates at least daily- leading to multiple integrations per day. Each integration is verified by an automated build to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. – Martin Fowler
![Page 12: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/12.jpg)
Continuous Integration PrinciplesEveryone commits to the mainlineEvery commit should be builtAutomate the buildMake the build self-testingKeep the build fastEveryone can see the results of the latest build
![Page 13: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/13.jpg)
Continuous Integration For…….
Better• Quality
Faster• Feedback
Cheaper• Automat
ed
![Page 14: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/14.jpg)
Our challenges……
Distributed Team
• India• Philippines• USA• Middle-East
Sub-Products
• Investment• Pension• Health• Wealth
Others• Different Skills• Manual Test• Wrong Metrics
![Page 15: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/15.jpg)
Continuous Testing is Must
Build a fast and reliable automated validation test suite
Ensure test run quickly
Write our automated tests before we write the code
Automate as many of our manual tests as possible
Integrate NFR testing into our test suite
![Page 16: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/16.jpg)
Rules for Team
Commit Early, Commit OftenCode may not be complete but should not be brokenUse feature togglingFix broken build is first priorityWork on TrunkAutomate, automate and automate…..Punishment for breaking team rules
![Page 17: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/17.jpg)
What team was doing
Make constraint visible
Team brainstorm and identify
solutionFail fast to learn
better way
Focus on built-In quality not verification
Practice Test First Continuously review “DONE” criteria
![Page 18: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/18.jpg)
What we achieved
– One click deploy in production– Single Branch– More than 120 people team– Nightly build– Code always in deployable state– Very less failed build– Reduced cycle time– Rarely rollback
![Page 19: Continuous integration in large programs](https://reader035.vdocuments.us/reader035/viewer/2022081520/58f072801a28ab7b5b8b45ab/html5/thumbnails/19.jpg)
Thank You!
Wanted to know more about Agile, Scrum, CI/CD and DevOps etc?
Write to me [email protected]
Call me +91 9810547500
Follow me on Twitter @naveenhome