SlideShare a Scribd company logo
1 of 36
#sqlinthecity

Team-based Development with
Version Control
Grant Fritchey
Red Gate Software
Goals
• The value of version control
• Standards, patterns and best practices
• Flow in a team
How many of you use version
control for you
application code?
C#, ASP.NET, Javascript, VB.NET, etc.
How many of you use version
control for you
database application code?
“If it’s not in source
control, it doesn’t exist.”
“…your database should always be
under source control right next to your
application code.”
The Best Reason

‘Use source control because
neither you nor your team are
perfect”
Demo
Getting started with databases in VCS
Reducing Risk
You’re using version control
You’re using version control
Use Something
Automation is Best
Rules for Database Development
• Never use a shared database for development
• Always Have a Single, Authoritative Source For
Your Schema
• Always Version Your Database
Dedicated or Shared Databases?
Shared databases are not wrong
The Ideal
Each developer has a dedicated
environment with a copy of the
schema and minimal data.
A shared integration environment
where all developers’ changes are
merged, available for developer
testing.
Naming Standards
•
•
•
•
•

Usually vary by company
ISO 1179
Be consistent
Use tools for enforcement (SQLCop)
Document these lightly and JIT
Style Standards
• Vary by individual
• Make code more readable.
• Use tools to re-format code to your liking.
– SQL Prompt
– SSMS Tools Pack
– Others
• Demo – Reformatting code
Teamwork
Teamwork
• Communication
– Team members need to be aware of (easily)
what others are doing.
• Coordination
– Teams need to work in a way that
complements each other.
Use Automation
• Development systems and tools need to work for
the team, not against them.
• Many IDEs and tools work well in team
environments, if you configure them.
Demo
The flow within teams.
Get All Your Code
•
•
•
•
•
•

Object DDL
Assembly code
Security code
Configuration settings
Jobs
Lookup data
Best Practices
• Use version control for all code (including tests)
• Commit early, commit often (various references
for this one)
• Use tools
– If it’s hard, people don’t do it
• Train people
• Build often
The Holy Grail
Goals
• The value of version control
• Standards, patterns and best practices
• Flow in a team
The End
• The next step is Automated Test and Build (next
session)
• Questions?
References
•
•
•
•
•
•

http://stackoverflow.com/questions/115369/do-you-use-source-control-for-your-databaseitems
http://www.codinghorror.com/blog/archives/001050.html
http://www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html
http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSQLServerDatabases.aspx
http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database-work.aspx
Check in early, check in often - http://www.codinghorror.com/blog/2008/08/check-in-earlycheck-in-often.html
Images
• http://northernalberta.rims.org/NorthernAlbertaChapter/H
ome/
• http://indianajones.wikia.com/wiki/Holy_Grail
• http://www.youtube.com/watch?v=RG0ochx16Dg
• http://www.flickr.com/photos/lumaxart/2137737248/

More Related Content

What's hot

Unit Testing and Tools
Unit Testing and ToolsUnit Testing and Tools
Unit Testing and ToolsWilliam Simms
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...TEST Huddle
 
Unit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUGUnit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUGWilliam Simms
 
Avoiding test hell
Avoiding test hellAvoiding test hell
Avoiding test hellYun Ki Lee
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven developmentEinar Ingebrigtsen
 
Episode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in SalesforceEpisode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in SalesforceJitendra Zaa
 
Test-driven development with Node.js
Test-driven development with Node.jsTest-driven development with Node.js
Test-driven development with Node.jsMirko Kiefer
 
Intro to devops - Begin with End in Mind
Intro to devops - Begin with End in MindIntro to devops - Begin with End in Mind
Intro to devops - Begin with End in MindLaavanya Kathiresen
 
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»GoQA
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviewsJavaDayUA
 
Ext JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA LaunchExt JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA LaunchSandeep Adwankar
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Red Gate Software
 
Team Build in TFS - Introduction
Team Build in TFS - IntroductionTeam Build in TFS - Introduction
Team Build in TFS - IntroductionChris Kadel, MBA
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspecjeffrey1ross
 
Automated testing in javascript
Automated testing in javascriptAutomated testing in javascript
Automated testing in javascriptMichael Yagudaev
 

What's hot (20)

Unit Testing and Tools
Unit Testing and ToolsUnit Testing and Tools
Unit Testing and Tools
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
 
Unit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUGUnit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUG
 
CNUG TDD June 2014
CNUG TDD June 2014CNUG TDD June 2014
CNUG TDD June 2014
 
Avoiding test hell
Avoiding test hellAvoiding test hell
Avoiding test hell
 
Part1 my
Part1 myPart1 my
Part1 my
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven development
 
Episode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in SalesforceEpisode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in Salesforce
 
Test-driven development with Node.js
Test-driven development with Node.jsTest-driven development with Node.js
Test-driven development with Node.js
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
 
Intro to devops - Begin with End in Mind
Intro to devops - Begin with End in MindIntro to devops - Begin with End in Mind
Intro to devops - Begin with End in Mind
 
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
 
Ext JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA LaunchExt JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA Launch
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
 
Team Build in TFS - Introduction
Team Build in TFS - IntroductionTeam Build in TFS - Introduction
Team Build in TFS - Introduction
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
Automated testing in javascript
Automated testing in javascriptAutomated testing in javascript
Automated testing in javascript
 

Viewers also liked

A practical approach to version control for SQL Server - By Steve Jones
A practical approach to version control for SQL Server - By Steve JonesA practical approach to version control for SQL Server - By Steve Jones
A practical approach to version control for SQL Server - By Steve JonesRed Gate Software
 
Developing on SQL Azure
Developing on SQL AzureDeveloping on SQL Azure
Developing on SQL AzureIke Ellis
 
SQL Pass Architecture SQL Tips & Tricks
SQL Pass Architecture SQL Tips & TricksSQL Pass Architecture SQL Tips & Tricks
SQL Pass Architecture SQL Tips & TricksIke Ellis
 
Part of the DLM Story: Automated database build and test with TeamCity
Part of the DLM Story: Automated database build and test with TeamCityPart of the DLM Story: Automated database build and test with TeamCity
Part of the DLM Story: Automated database build and test with TeamCityRed Gate Software
 
SQL Server Tips & Tricks
SQL Server Tips & TricksSQL Server Tips & Tricks
SQL Server Tips & TricksIke Ellis
 
Building an automated database deployment pipeline
Building an automated database deployment pipelineBuilding an automated database deployment pipeline
Building an automated database deployment pipelineRed Gate Software
 
A partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyA partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyRed Gate Software
 
Stop your application killing database performance - Ben Emmett
Stop your application killing database performance - Ben EmmettStop your application killing database performance - Ben Emmett
Stop your application killing database performance - Ben EmmettRed Gate Software
 
Top 10 tips for software development management
Top 10 tips for software development managementTop 10 tips for software development management
Top 10 tips for software development managementIke Ellis
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangRed Gate Software
 
Windowing functions - Kevin Boles
Windowing functions - Kevin BolesWindowing functions - Kevin Boles
Windowing functions - Kevin BolesRed Gate Software
 
iPad Development Slides #ilta12
iPad Development Slides #ilta12iPad Development Slides #ilta12
iPad Development Slides #ilta12Ike Ellis
 
Quick & Easy SQL Tips
Quick & Easy SQL TipsQuick & Easy SQL Tips
Quick & Easy SQL TipsIke Ellis
 
SQL Server Tips & Tricks - Ike Ellis
SQL Server Tips & Tricks - Ike EllisSQL Server Tips & Tricks - Ike Ellis
SQL Server Tips & Tricks - Ike EllisRed Gate Software
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database DeploymentsRed Gate Software
 
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth Ayer
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth AyerThe Comeback of Migrations-based deployments - Dan Nolan & Elizabeth Ayer
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth AyerRed Gate Software
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the cityIke Ellis
 
Understanding and controlling transaction logs
Understanding and controlling transaction logsUnderstanding and controlling transaction logs
Understanding and controlling transaction logsRed Gate Software
 
What’s New in Ants Memory Profiler 8
What’s New in Ants Memory Profiler 8What’s New in Ants Memory Profiler 8
What’s New in Ants Memory Profiler 8Red Gate Software
 
Team based version control - Steve Jones
Team based version control - Steve JonesTeam based version control - Steve Jones
Team based version control - Steve JonesRed Gate Software
 

Viewers also liked (20)

A practical approach to version control for SQL Server - By Steve Jones
A practical approach to version control for SQL Server - By Steve JonesA practical approach to version control for SQL Server - By Steve Jones
A practical approach to version control for SQL Server - By Steve Jones
 
Developing on SQL Azure
Developing on SQL AzureDeveloping on SQL Azure
Developing on SQL Azure
 
SQL Pass Architecture SQL Tips & Tricks
SQL Pass Architecture SQL Tips & TricksSQL Pass Architecture SQL Tips & Tricks
SQL Pass Architecture SQL Tips & Tricks
 
Part of the DLM Story: Automated database build and test with TeamCity
Part of the DLM Story: Automated database build and test with TeamCityPart of the DLM Story: Automated database build and test with TeamCity
Part of the DLM Story: Automated database build and test with TeamCity
 
SQL Server Tips & Tricks
SQL Server Tips & TricksSQL Server Tips & Tricks
SQL Server Tips & Tricks
 
Building an automated database deployment pipeline
Building an automated database deployment pipelineBuilding an automated database deployment pipeline
Building an automated database deployment pipeline
 
A partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant FritcheyA partly cloudy future - by Grant Fritchey
A partly cloudy future - by Grant Fritchey
 
Stop your application killing database performance - Ben Emmett
Stop your application killing database performance - Ben EmmettStop your application killing database performance - Ben Emmett
Stop your application killing database performance - Ben Emmett
 
Top 10 tips for software development management
Top 10 tips for software development managementTop 10 tips for software development management
Top 10 tips for software development management
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest Hwang
 
Windowing functions - Kevin Boles
Windowing functions - Kevin BolesWindowing functions - Kevin Boles
Windowing functions - Kevin Boles
 
iPad Development Slides #ilta12
iPad Development Slides #ilta12iPad Development Slides #ilta12
iPad Development Slides #ilta12
 
Quick & Easy SQL Tips
Quick & Easy SQL TipsQuick & Easy SQL Tips
Quick & Easy SQL Tips
 
SQL Server Tips & Tricks - Ike Ellis
SQL Server Tips & Tricks - Ike EllisSQL Server Tips & Tricks - Ike Ellis
SQL Server Tips & Tricks - Ike Ellis
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
 
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth Ayer
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth AyerThe Comeback of Migrations-based deployments - Dan Nolan & Elizabeth Ayer
The Comeback of Migrations-based deployments - Dan Nolan & Elizabeth Ayer
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the city
 
Understanding and controlling transaction logs
Understanding and controlling transaction logsUnderstanding and controlling transaction logs
Understanding and controlling transaction logs
 
What’s New in Ants Memory Profiler 8
What’s New in Ants Memory Profiler 8What’s New in Ants Memory Profiler 8
What’s New in Ants Memory Profiler 8
 
Team based version control - Steve Jones
Team based version control - Steve JonesTeam based version control - Steve Jones
Team based version control - Steve Jones
 

Similar to Team-based Development with Version Control

Get Your Database Under Control
Get Your Database Under ControlGet Your Database Under Control
Get Your Database Under ControlGrant Fritchey
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Red Gate Software
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testingBestBrains
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software TestingMohammed Moishin
 
Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.nooralmousa
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Amazon Web Services
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOpsEklove Mohan
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
 
Continuous Integration and Quality Development
Continuous Integration and Quality DevelopmentContinuous Integration and Quality Development
Continuous Integration and Quality DevelopmentGareth Davies
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional ProgrammerDave Cross
 
Discovery Life Project Portfolio
Discovery Life Project PortfolioDiscovery Life Project Portfolio
Discovery Life Project PortfolioJaco Koekemoer
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practicesCode Mastery
 
Nascenia: Road to Software Industry
Nascenia: Road to Software IndustryNascenia: Road to Software Industry
Nascenia: Road to Software IndustryNascenia IT
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 

Similar to Team-based Development with Version Control (20)

Get Your Database Under Control
Get Your Database Under ControlGet Your Database Under Control
Get Your Database Under Control
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testing
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software Testing
 
Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.
 
Secured Development
Secured DevelopmentSecured Development
Secured Development
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Continuous Integration and Quality Development
Continuous Integration and Quality DevelopmentContinuous Integration and Quality Development
Continuous Integration and Quality Development
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
Discovery Life Project Portfolio
Discovery Life Project PortfolioDiscovery Life Project Portfolio
Discovery Life Project Portfolio
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Nascenia: Road to Software Industry
Nascenia: Road to Software IndustryNascenia: Road to Software Industry
Nascenia: Road to Software Industry
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Case study
Case studyCase study
Case study
 

More from Red Gate Software

The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...Red Gate Software
 
Embracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayEmbracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayRed Gate Software
 
Database DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersDatabase DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersRed Gate Software
 
Mizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyMizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyRed Gate Software
 
7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoringRed Gate Software
 
Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Red Gate Software
 
Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportRed Gate Software
 
Extend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesExtend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesRed Gate Software
 
What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019Red Gate Software
 
Quality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityQuality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityRed Gate Software
 
How SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterHow SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterRed Gate Software
 
DevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesDevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesRed Gate Software
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to AzureRed Gate Software
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolThe Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolRed Gate Software
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseRed Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseRed Gate Software
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeRed Gate Software
 

More from Red Gate Software (20)

The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...
 
Embracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayEmbracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with Flyway
 
Database DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersDatabase DevOps for Managed Service Providers
Database DevOps for Managed Service Providers
 
Mizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyMizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journey
 
7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring
 
Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control
 
Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops report
 
Extend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesExtend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server Databases
 
2019 year in review slides
2019 year in review slides2019 year in review slides
2019 year in review slides
 
What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019
 
Quality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityQuality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin University
 
How SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterHow SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value faster
 
DevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesDevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve Jones
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to Azure
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolThe Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
 
Taming the Wild West
Taming the Wild West Taming the Wild West
Taming the Wild West
 

Recently uploaded

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Team-based Development with Version Control

Editor's Notes

  1. Understand why version control is important?Learn some standards, patterns and best practices - demo – show tracking without version control - demo - set up vcsSee flow in a team - demo - show objects being moved from person to person in separate databases - demo – show tests
  2. How many people in the audience use version control for their application code? Any of your front end code.* Note number
  3. Let’s ask the same question. How many of you use version control for your database code? For your tables, views, procedures? What about schemas? What about permissions and roles? What about cryptographic keys?* Note number and difference.
  4. There are plenty of developers with this attitude, though I’m not sure it’s the majority. As software development matures, however slowly, I suspect this will become more and more commonplace. Professionals should work professionally.http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-controlhttp://www.makeuseof.com/tag/git-version-control-youre-developer/http://www.mactech.com/articles/mactech/Vol.14/14.06/VersionControlAndTheDeveloper/index.htmlhttp://drupal.org/node/299067grammers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-control
  5. Version control isn’t that hard.http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-controlhttp://www.makeuseof.com/tag/git-version-control-youre-developer/http://www.mactech.com/articles/mactech/Vol.14/14.06/VersionControlAndTheDeveloper/index.htmlhttp://drupal.org/node/299067
  6. VCS should be used everywhere, all the time.http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-controlhttp://www.makeuseof.com/tag/git-version-control-youre-developer/http://www.mactech.com/articles/mactech/Vol.14/14.06/VersionControlAndTheDeveloper/index.htmlhttp://drupal.org/node/299067
  7. There are no excuses where you should not use it.http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-controlhttp://www.makeuseof.com/tag/git-version-control-youre-developer/http://www.mactech.com/articles/mactech/Vol.14/14.06/VersionControlAndTheDeveloper/index.htmlhttp://drupal.org/node/299067
  8. Your version control, or source control system, should be the last word in what code is included in your application. Source control provides you this central repository that helps everyone be aware of what changes have been made.http://www.troyhunt.com/2011/05/10-commandments-of-good-source-control.html
  9. Many of the better developers out there, whether working with application code or database code, believe in this process. In terms of databases, the code should be a peer with your application code.From: http://www.codinghorror.com/blog/2006/12/is-your-database-under-version-control.html
  10. You use source control because neither you nor your team is perfect. http://stackoverflow.com/questions/559332/why-should-my-team-adopt-source-control
  11. In most jobs you want to be able to rollback if you make a mistake. You can't sometimes, but we often can in software development. In software we aren’t usually working in areas quite this critical, but the lack of having a safety net for your application can be a problem.http://www.flickr.com/photos/spinneyhead/3616976884/
  12. How hard is it to set up source control? Let’s lookShow how to start using VCS manually with a database and scripting (file open/close)Create SimpleTalkDev_Steve and SimpleTalkDev_Manual.Script out _ManualAdd to subversionLink _Steve to SOC to show the differenceChange a proc in _Manual, save, check in.Change a proc in _Steve, commit change.
  13. VCS isn’t just for rolling back changes. There are any number of benefits to a shared VCS environment.You can see there a variety of reasons why you should use source control, but…http://betterexplained.com/articles/a-visual-guide-to-version-control/
  14. they all come down to reducing risk. Reducing the risk of problems in your code, conflicts, the chance you cannot build your application to add a feature, apply a patch, or grow your team.Many of the things we talk about at SitC are all about reducing risk. Continuous integration, continuous deployment, processes made easier with tooling, all are about reducing risk.How many of you would code your entire project and only build it at the end? That’s what not using version control, testing, practicing, having a known process is really like.
  15. If you don't like the idea of using a server based system, or your company doesn't have one, please use something. If nothing else, back up your code each day.
  16. However we prefer automation. We want to use some sort of tooling to make this process easier. Most IDEs integrate with VCS systems, though SSMS is not one. However there are different ways to do this, as we saw in the demo.http://www.youtube.com/watch?v=RG0ochx16Dg
  17. In team development, we should have a number of rules. The best list I have seen is from K. Scott Allen, with three rules. - Never used a shared database for development - Always have an authoritative source - version your databaseAll three are important. You don't want a shared database because when testing change and trying out new enhancemnents, especially in database work, you do not want one developer to interfere with others. This is especially problemativ for database work where the structure you are dealing with must be able to work well across time. You always need a source for your database any point in time if you hae to rebuild things. This means you may have create scripts or alter scripts, but whatever combination you have must work to rebuild a database to match a point in time. The last thing is that your database state should be known at different points in time, espeically as you may deploy changes out of order in which they are built. These versions usually correspond to release points, and they are important for building upgrade scripts for altering objects.From: http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database-work.aspx (K. Scott Allen)
  18. http://www.troyhunt.com/2011/02/unnecessary-evil-of-shared-development.html
  19. http://wiki.servoy.com/display/public/DOCS/Team+Development+Database+Considerations+-+Shared+Versus+Local;jsessionid=21F4E584D19A38E010382144904496ED
  20. The holy grail, the ideal environment is a set of dedicated databases for individual development, but a shared integration database where all changes are merged, and at any time, the developer can test their code against this database.We support both models very well with the Red Gate tools.http://www.red-gate.com/SupportCenter/content/SQL_Source_control/articles/SSC_Development_Models
  21. Naming standards have to do with how we identify things. From servers, to databases, to tables to programming structures, we want consistent naming so all members of the team understand quickly and easily, what they are working with. These can include well known standards (ISO), but they do not have to. The important thing is they are defined, even loosely defined, in your company. You should use tools and automation to enforce them. I would not define everything up front and right away, but define things as needed.
  22. Style standards often vary by individual. These have to do with the formatting and layout of code to enhance readability and understanding. However it doesn't make sense these days to have strict standards for formatting of code. Instead, the IDE should be able to reformat code for the developer as needed. This might include things like spacing, comma placement, etc. Tooling can handle many of these issues. There are a number of add-ins and editors for SQL Server code. Learn to use them.
  23. Ultimately what we want to do is ensure that everyone in our team, however big or small, works together in a coordinated fashion. We won't all work the same way, but we don't want to create friction and inefficiencies with our differences.Teamwork requires coordination and communication to be efficient. Whatever process you choose needs to work for the team. It should allow them to easily work in the way they want, while still allowing each team member’s work to be easily integrated into every other team members.http://www.flickr.com/photos/lumaxart/2137737248/
  24. The big things are communication and coordination. Communication betwen members as well as with the application. Knowing when you have code that changes, that works (or doesn't work) and what items people are working on. Coordination has to do with meshing the different ways we all work together.In terms of communication, talk to each other (or email, IM, chat, etc.). Don't set very hard and fast rules that are unbreakable, but discuss issues and make reasonable decisions that fit in your environment. If things make sense and help you develop faster and at a higher level of quality, do them. If they don't, then change.
  25. Automation and tooling is definitely the key to good teamwork. The tools should help not only enable, but foster good teamwork. Configure your IDEs to help you. Share knowledge and configuration while allowing diversity in things like personal preferences.
  26. Show changes moving from one developer to another. Show tests-- Demo changes to code, with comments, appearing in source control and using those.- David A’s TDD scenario. Create test, allow to flow to the other user.
  27. Your code consists of a number of objects. The things we talk about should apply to all of these.
  28. The best practices for database development are:- Use version control. It's important for a variety of reasons, not the least of which is reducing your risk of problems.- Commit often. Better sooner than later.- Use tools to help you work better. These can be bespoke or bought, but use them to make things work easier. Your tools should be able to build a database ona new machine quickly and easily. Backup and restore can work, but this isn't always practical.- Train your people. Don't assume they know how to use VCS, or they have the habits. It doesn't take long, and it's worth the investment.- Build often. This will help you catch mistake and issues early, which means it is less costly in terms of resources to fix things.
  29. The holy grail of all of this is to be able to release at any point in time, if you need to, with confidence. If you have a problem, an urgent request, a deadline, being able to build your applicatin (and database) with confidence, test it quickly, and deploy changes. Continuous Integration, Continuous Deployment, and the automation that goes with them is what w should all shoot for.http://indianajones.wikia.com/wiki/Holy_Grailhttp://mikeciblogs.wordpress.com/2010/06/15/continuous-integration-for-agile-project-managers-part-3/
  30. Understand why version control is important?Learn some standards, patterns and best practices - demo – show tracking without version control - demo - set up vcsSee flow in a team - demo - show objects being moved from person to person in separate databases - demo – show tests