SlideShare a Scribd company logo
1 of 25
Introducing Continuous Integration using VSTS Presented By: Mohamed Samy Technical Architect/MVP/Geek
What lifecycle phase do you hate the most? 	Gathering requirements? Analyzing requirements?  High level design? Detailed Design? Development? Testing?  What lifecycle phase requires the most rework and most experienced developers? My sad story, every developers story. Problem Definition
The Cost of bugs
Who’s code is responsible for the problem? It was working great on my machine! The problem is not with our code, the mainframe/server is very slow. Integration nightmares
Put the best developers on the job? Estimate with a lot of buffering for this phase and pray? Leave integration till the end? What was done about it?
Working on someone else’s code. Who likes to do that? Fixing old projects? Upgrading existing code? Adding new features? Project nightmares
Get your hands dirty and start debugging. Read the old design docs. Attend handover sessions. Download the code, build and pray. What was done about them?
A solution for integration issues. Makes getting into a new project easier. Increases the quality of the software. Reduces development time? Introducing CI
Unit test Testing the smallest part of the code (the method) TDD Self testing code, code that tests code Common terms
“Continuous Integration is a software development practice where members of a team 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 (including test) 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. This article is a quick overview of Continuous Integration summarizing the technique and its current usage. “ Martin Fowler- Thoughtworks. CI definitions
Continuous integration describes a set of software engineering practices that speed up the delivery of software by decreasing integration times. CI definitions 2
We need to spread the pain across the whole development cycle and maybe even from the beginning of the design. More frequent small pain instead of one big concentrated  jolt of lightning at the end  As a developer, life is pain, get used to it!!!! My CI definition
Maintain a single source control repository  Automate the build Make your build self testing Everyone commits every day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment CI practices
The seven commandments
Compilation Test Execution Database integration Code inspection Automated deployment Documentation generation The 6 ingredients of a build
Do you need to develop an enterprise solution that integrates with other applications? Is part of your solution running on other platforms? (web services, RPCs, remoting, Com, CORBA)  Is it a big project with multiple components across multiple teams? Are you afraid of the integration phase? How do I know I need CI?
ICL 1.0- Next to none ICL 1.5- Test on 2 DBs ICL 2.0-  Automated regression My Story
Are you crazy? You want the developers to write more code? We need to ship fast, this will slow us down! We can do integration testing at the end of the project. How can I convince the PM?
We always design on the go! Design always evolves even on the waterfall model! Things change midway through the project no matter what your methodology. The industry’s best kept secret
You catch build breaks early on.  Helps developers communicate frequently about the build.  less regression  The feedback loop is smaller.  Integration testing moves up in the chain.  Every check-in goes through the integration testing where problems are caught early.  Continuous integration enforces better development processes.  Each developer is held accountable.  You always have a latest-and-greatest build to use in demos, showcases, etc. Advantages of CI
Maintenance overhead often increases.  Some teams find that the level of discipline required for continuous integration causes bottlenecks. This often requires a shift in the developer mindset.  The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code.  Disadvantages of CI?
Performance testing Human interaction with UI e.g. usability testing Load testing What CI doesn’t do
CI Process in TFS
Demo
http://www.ibm.com/developerworks/java/library/j-ap11297/ http://msdn.microsoft.com/en-us/library/ms364045(VS.80).aspx http://en.wikipedia.org/wiki/Continuous_Integration http://www.thevstsguy.com/adventures Ahmedbahaa.blogspot.com VSTS Fans - facebook references

More Related Content

What's hot

DevOps & Cloud - The Essentials for Digital Transformation
DevOps & Cloud - The Essentials for Digital TransformationDevOps & Cloud - The Essentials for Digital Transformation
DevOps & Cloud - The Essentials for Digital TransformationCloudJourneee
 
DevOps Adoption Patterns
DevOps Adoption PatternsDevOps Adoption Patterns
DevOps Adoption PatternsJohn Turner
 
Derek Roos (Mendix CEO) Keynote
Derek Roos (Mendix CEO) KeynoteDerek Roos (Mendix CEO) Keynote
Derek Roos (Mendix CEO) Keynotemendixrolf
 
The Journey to Mainframe DevOps
The Journey to Mainframe DevOpsThe Journey to Mainframe DevOps
The Journey to Mainframe DevOpsMicro Focus
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOpscliqtechno
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Aswin Kumar
 
How to choose tools for DevOps
How to choose tools for DevOpsHow to choose tools for DevOps
How to choose tools for DevOpsMatthew Skelton
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryRahul Tilloo
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
DevOps: Benefits & Future Trends
DevOps: Benefits & Future TrendsDevOps: Benefits & Future Trends
DevOps: Benefits & Future Trends9 series
 
from 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutesfrom 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutesAgileSparks
 
Detecting Insider Threats with Multi-layered Security Webcast
Detecting Insider Threats with Multi-layered Security Webcast Detecting Insider Threats with Multi-layered Security Webcast
Detecting Insider Threats with Multi-layered Security Webcast Compuware
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and AlertingKhairul Zebua
 

What's hot (20)

DevOps & Cloud - The Essentials for Digital Transformation
DevOps & Cloud - The Essentials for Digital TransformationDevOps & Cloud - The Essentials for Digital Transformation
DevOps & Cloud - The Essentials for Digital Transformation
 
DevOps Adoption Patterns
DevOps Adoption PatternsDevOps Adoption Patterns
DevOps Adoption Patterns
 
Derek Roos (Mendix CEO) Keynote
Derek Roos (Mendix CEO) KeynoteDerek Roos (Mendix CEO) Keynote
Derek Roos (Mendix CEO) Keynote
 
DevOps
DevOpsDevOps
DevOps
 
The Journey to Mainframe DevOps
The Journey to Mainframe DevOpsThe Journey to Mainframe DevOps
The Journey to Mainframe DevOps
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOps
 
Enterprise DevOps
Enterprise DevOpsEnterprise DevOps
Enterprise DevOps
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4
 
How to choose tools for DevOps
How to choose tools for DevOpsHow to choose tools for DevOps
How to choose tools for DevOps
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
What is-not-devops!
What is-not-devops!What is-not-devops!
What is-not-devops!
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps: Benefits & Future Trends
DevOps: Benefits & Future TrendsDevOps: Benefits & Future Trends
DevOps: Benefits & Future Trends
 
Microsoft DevOps Journey
Microsoft DevOps JourneyMicrosoft DevOps Journey
Microsoft DevOps Journey
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
from 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutesfrom 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutes
 
Detecting Insider Threats with Multi-layered Security Webcast
Detecting Insider Threats with Multi-layered Security Webcast Detecting Insider Threats with Multi-layered Security Webcast
Detecting Insider Threats with Multi-layered Security Webcast
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and Alerting
 

Viewers also liked

VSTS Architecture Edition Overview
VSTS Architecture Edition OverviewVSTS Architecture Edition Overview
VSTS Architecture Edition OverviewSteve Lange
 
Continuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioDavide Benvegnù
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployPeter Gfader
 

Viewers also liked (6)

CI with TFS
CI with TFSCI with TFS
CI with TFS
 
CI via TFS
CI via TFSCI via TFS
CI via TFS
 
VSTS Architecture Edition Overview
VSTS Architecture Edition OverviewVSTS Architecture Edition Overview
VSTS Architecture Edition Overview
 
Continuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenario
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
 
DevOps
DevOpsDevOps
DevOps
 

Similar to Introducing Continuous Integration Using Vsts

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationBoris Dominic
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationJoseph Wang
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuousMichele Orselli
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatmdevtalk
 
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsMagenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsAaron Humerickhouse
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
Continuous integration - stability, reliability and speed in software develop...
Continuous integration - stability, reliability and speed in software develop...Continuous integration - stability, reliability and speed in software develop...
Continuous integration - stability, reliability and speed in software develop...Computaris
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationComputaris
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery Sarah Elson
 

Similar to Introducing Continuous Integration Using Vsts (20)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
 
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsMagenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Continuous integration - stability, reliability and speed in software develop...
Continuous integration - stability, reliability and speed in software develop...Continuous integration - stability, reliability and speed in software develop...
Continuous integration - stability, reliability and speed in software develop...
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 

More from Mohamed Samy

Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFSMohamed Samy
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Mohamed Samy
 
Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Mohamed Samy
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure Mohamed Samy
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOAMohamed Samy
 
Imagine cup- Architecture/Design talk
Imagine cup- Architecture/Design talkImagine cup- Architecture/Design talk
Imagine cup- Architecture/Design talkMohamed Samy
 
Whitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineWhitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineMohamed Samy
 
Alm Cairo Code Camp
Alm Cairo Code CampAlm Cairo Code Camp
Alm Cairo Code CampMohamed Samy
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignMohamed Samy
 
Microsft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMicrosft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMohamed Samy
 

More from Mohamed Samy (11)

Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFS
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010
 
Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)
 
Vsts 2
Vsts 2Vsts 2
Vsts 2
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOA
 
Imagine cup- Architecture/Design talk
Imagine cup- Architecture/Design talkImagine cup- Architecture/Design talk
Imagine cup- Architecture/Design talk
 
Whitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineWhitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation Outline
 
Alm Cairo Code Camp
Alm Cairo Code CampAlm Cairo Code Camp
Alm Cairo Code Camp
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Microsft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMicrosft Dynamics AX Introduction
Microsft Dynamics AX Introduction
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Introducing Continuous Integration Using Vsts

  • 1. Introducing Continuous Integration using VSTS Presented By: Mohamed Samy Technical Architect/MVP/Geek
  • 2. What lifecycle phase do you hate the most? Gathering requirements? Analyzing requirements? High level design? Detailed Design? Development? Testing? What lifecycle phase requires the most rework and most experienced developers? My sad story, every developers story. Problem Definition
  • 3. The Cost of bugs
  • 4. Who’s code is responsible for the problem? It was working great on my machine! The problem is not with our code, the mainframe/server is very slow. Integration nightmares
  • 5. Put the best developers on the job? Estimate with a lot of buffering for this phase and pray? Leave integration till the end? What was done about it?
  • 6. Working on someone else’s code. Who likes to do that? Fixing old projects? Upgrading existing code? Adding new features? Project nightmares
  • 7. Get your hands dirty and start debugging. Read the old design docs. Attend handover sessions. Download the code, build and pray. What was done about them?
  • 8. A solution for integration issues. Makes getting into a new project easier. Increases the quality of the software. Reduces development time? Introducing CI
  • 9. Unit test Testing the smallest part of the code (the method) TDD Self testing code, code that tests code Common terms
  • 10. “Continuous Integration is a software development practice where members of a team 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 (including test) 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. This article is a quick overview of Continuous Integration summarizing the technique and its current usage. “ Martin Fowler- Thoughtworks. CI definitions
  • 11. Continuous integration describes a set of software engineering practices that speed up the delivery of software by decreasing integration times. CI definitions 2
  • 12. We need to spread the pain across the whole development cycle and maybe even from the beginning of the design. More frequent small pain instead of one big concentrated jolt of lightning at the end  As a developer, life is pain, get used to it!!!! My CI definition
  • 13. Maintain a single source control repository Automate the build Make your build self testing Everyone commits every day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment CI practices
  • 15. Compilation Test Execution Database integration Code inspection Automated deployment Documentation generation The 6 ingredients of a build
  • 16. Do you need to develop an enterprise solution that integrates with other applications? Is part of your solution running on other platforms? (web services, RPCs, remoting, Com, CORBA) Is it a big project with multiple components across multiple teams? Are you afraid of the integration phase? How do I know I need CI?
  • 17. ICL 1.0- Next to none ICL 1.5- Test on 2 DBs ICL 2.0- Automated regression My Story
  • 18. Are you crazy? You want the developers to write more code? We need to ship fast, this will slow us down! We can do integration testing at the end of the project. How can I convince the PM?
  • 19. We always design on the go! Design always evolves even on the waterfall model! Things change midway through the project no matter what your methodology. The industry’s best kept secret
  • 20. You catch build breaks early on. Helps developers communicate frequently about the build. less regression The feedback loop is smaller. Integration testing moves up in the chain. Every check-in goes through the integration testing where problems are caught early. Continuous integration enforces better development processes. Each developer is held accountable. You always have a latest-and-greatest build to use in demos, showcases, etc. Advantages of CI
  • 21. Maintenance overhead often increases. Some teams find that the level of discipline required for continuous integration causes bottlenecks. This often requires a shift in the developer mindset. The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code. Disadvantages of CI?
  • 22. Performance testing Human interaction with UI e.g. usability testing Load testing What CI doesn’t do
  • 24. Demo