SlideShare une entreprise Scribd logo
1  sur  70
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.1
Life Outside of TFS
Andrew Ochsner
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.2
Life Outside of TFS
Andrew Ochsner
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.3
About CSG
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.4
About CSG
 Business Support System (BSS) and Operational Support
System (OSS) software
• Product, Order, Billing, and Customer management
• Inventory, Provisioning, and Job management
• Primarily North America cable, satellite, and telecom
companies
• Expanding internationally
• Hosted solution
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.5
Code
 10s of Millions of Lines of Code
• Mainframe – Assembler, COBOL, JCL
• Linux/Solaris – C/C++
• Linux – Java
• Windows – .NET/C#, C/C++, Java
 Databases
• SQL Server
• Oracle
• DB2 on Mainframe
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.6
Code
 10s of Millions of Lines of Code
• Mainframe – Assembler, COBOL, JCL
• Linux/Solaris – C/C++
• Linux – Java
• Windows – .NET/C#, C/C++, Java
 Databases
• SQL Server
• Oracle
• DB2 on Mainframe
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.7
Agile Transformation
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.8
Waterfall
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.9
Scrum
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.10
Scaled Agile Framework (SAFe)
http://scaledagileframework.com/
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.11
CSG’s ALM Approach
 Best in breed approach
• Mostly an evolution – no big bang
• Integrated what we had
• Upgrade to better components as we find them
 Solidifying around Atlassian Suite
• Not Open Source but customers are allowed to view and modify
source
• Integrates with many third party tools
• Web based
• Hosted or On Premise
• Rich plugin ecosystem/marketplace
• Open web-based APIs and SDKs
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.12
Core Principles
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.13
Core Principles
 Have No Fear
 Trunk Based Development
 Continuous Integration
• Commit early
• Commit often
 Collective Code Ownership
 Demand ownership of failing builds
 Standardized project layout
 Dedicated System Team (ESM)
• Staffed with good developers
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.14
Development Lifecycle
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.15
Development Lifecycle
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.16
Tools
 Issue Tracking – Atlassian JIRA
 Source Code Control – VisualSVN (Subversion)
 Package Repository –Artifactory/NuGet
 Testing – NUnit & SpecFlow
 Database Migrations – CSG Tools
 Continuous Builds – Jenkins/NAnt/MSBuild
 Code Reviews – Atlassian Crucible
 Code Search – Atlassian Fisheye
 Installers - WiX
 Automated Deployments – BMC BladeLogic
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.17
Development Lifecycle
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.18
Issue Tracker
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.19
Jira – Issue Tracker
 Web based issue tracker created by Atlassian
 On-Premise or Hosted
 Very flexible custom fields and workflows
• Lots of third party plugins
• Mobile app
• Plugin SDK to build your own
 Scrum and Kanban story boards
 EpicsFeaturesStoriesTasks
 Development and Production Defects
 Production Defects synchronize with Remedy
 IDE Integration
 Reports and Charts are lacking a bit
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.20
Demo
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.21
Jira – Issue Tracker
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.22
Jira – Issue Tracker
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.23
Jira – Issue Tracker
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.24
Issue Tracker
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.25
Developer Tools
`
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.26
Developer Tools
 Visual Studio
 Resharper
 VisualSVN – Visual Studio Subversion integration
 NUnit & SpecFlow
 CSG Developer Tools
• CSGCopyDeps – Copy dependencies – LibraryManifest.xml
• CSGVerifySolution – Enforce Standard Project Layout
• SqlServer Management Studio Addins for Database Migrations
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.27
Developer Tools
 Visual Studio
 Resharper
 VisualSVN – Visual Studio Subversion integration
 NUnit & SpecFlow
 CSG Developer Tools
• CSGCopyDeps – Copy dependencies – LibraryManifest.xml
• CSGVerifySolution – Enforce Standard Project Layout
• SqlServer Management Studio Addins for Database Migrations
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.28
Standard Project Layout
Built Assemblies (not checked in)
Database Schema & Static Data
Dependencies (not checked in)
Deploy configs and build script hooks
Source code
Module specific build option settings
Module Solution File
Module Installer Solution File
Generated WSDL
Documentation
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.29
CSGCopyDeps – SCMLibraryManifest.xml
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.30
CSGCopyDeps
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.31
CSGVerifySolution
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.32
Developer Tools
`
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.33
Package Repositories
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.34
Artifactory - Package Repositories
 Need the ability to grab the build artifacts of any given
version
 Third party dependencies too!
 Don’t check binaries into Subversion
 Non .NET teams have same needs
 Eventually could replace CSGCopyDeps with NuGet
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.35
Artifactory - Package Repositories
 Artifactory Pro by JFrog
• Supports NuGet (Pro), Ivy, Maven
 Web Based & On-Premise or Hosted
 Stores CSG built packages along with version
 Acts as a remote proxy between build tool and external
galleries
• Pin a package to a particular version
• Governance around approved Third Party Software and Licenses
(Pro w/ BlackDuck integration)
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.36
Package Repositories
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.37
Source Code Control
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.38
Subversion - Source Control
 Subversion – Open Source Centralized Version Control
 Copy-Modify-Merge rather than Lock-Modify-Unlock
 Directories are first class objects, just like files
 Branching and Tagging are “cheap”
• Copy on Write
 Widespread adoption & integration with other tools
 No Stash/Shelve features
• We utilize a Branch
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.39
Subversion - Source Control
 VisualSVN Server – On Premise Subversion installation
for Windows
• ActiveDirectory integration
 VisualSVN – Visual Studio Subversion Integration
 TortoiseSVN – Windows Explorer Integration
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.40
Subversion - Source Control
 VisualSVN Server – On Premise Subversion installation
for Windows
• ActiveDirectory integration
 VisualSVN – Visual Studio Subversion Integration
 TortoiseSVN – Windows Explorer Integration
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.41
Demo
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.42
Source Code Control
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.43
Continuous Integration
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.44
Jenkins – Continuous Integration
 Web-based, open source continuous integration server
 On-Premise or Hosted by Cloudbees
 Fork of Hudson project
 Tons of plugins to integrate with just about anything
• Write your own as needed
 Open APIs and command line tools to automate as
needed
• JenkinsGenerator
 One Master (Controller), Many Agents
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.45
Jenkins – Continuous Integration
 Polls Repository for changes
 Triggers builds
 Generate Reports off of build artifacts
• Emails
• Test Results
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.46
Jenkins – Continuous Integration
 Polls Repository for changes
 Triggers builds
 Generate Reports off of build artifacts
• Emails
• Test Results
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.47
Common build - NAnt
 Checkout source (done by Jenkins slave)
 Get dependencies via CSGCopyDeps (varies by build
type)
 Run CSGVerifySolution
 Build solution - MSBuild
 Run Tests
• Build system only runs tests that don’t hit external systems
• Smoke test builds run all tests
 Run Code Analysis (varies by build type)
 Build Installers
 Publish Artifacts
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.48
Build Types
 Every module has at least 3 builds
• Daily Build (DSM)
• Continuous Stable (CS)
• Continuous Integration (CI)
 Other build types
• Smoke Test (SMOKETEST)
• Continuous Stable Database (CSDB)
• Database Restore (QRDB/PRDB)
• Documentation (DOC)
• Sonar (SONAR)
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.49
Build Types
 Every module has at least 3 builds
• Daily Build (DSM)
• Continuous Stable (CS)
• Continuous Integration (CI)
 Other build types
• Smoke Test (SMOKETEST)
• Continuous Stable Database (CSDB)
• Database Restore (QRDB/PRDB)
• Documentation (DOC)
• Sonar (SONAR)
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.50
Build Types – Daily Build
 “The official build”
 Builds latest from SVN
 Uses dependencies officially staged from Package
Repository
 Results are staged into Package Repository
 CREATE and MIGRATION scripts also generated
 Triggered nightly
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.51
Build Types – Continuous Stable
 “Current build”
 Builds latest from SVN
 Uses dependencies from Package Repository
(dependency DSMs)
 Runs extra checks such as Code Analysis
 Results are not staged into Package Repository
 Triggered off of SVN commit or dependency DSM
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.52
Build Types – Continuous Integration
 “Tomorrow’s DSM”
 Builds latest from SVN
 Uses dependencies from latest CI of each module
dependency
 Results are not staged into Package Repository
• Go into a “sandbox” area to be used by other CI builds
 Triggered off of SVN commit or dependency CI
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.53
Build Types
Build Type Description
Daily Build (DSM) Builds the latest of a module's branch/trunk,
including database CREATE and MIGRATION
SCRIPTs, using other modules officially staged
assets as dependencies, results are officially
staged. Triggered Nightly.
Continuous Stable (CS) Builds the latest of that module's
branch/trunk, using other modules' officially
staged assets as dependencies, results are not
officially staged. Triggered by an SVN change.
Continuous Integration (CI) Builds module's trunk and uses the artifacts of
the latest successful CI build for each
consumed module. Triggered by an SVN
change. Causes all down stream modules' CI
builds to run.
Smoke Tests Owned by module teams. Takes built artifacts
from CS build and runs entire test suite.
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.54
Build Types
Build Type Description
Continuous Stable Database
(CSDB)
Builds CREATE and MIGRATION script based
off the latest of that modules branch/trunk
Database Restore Utilities
(QRDB/PRDB)
Stands up a Production/QA database backup
to a database server. Triggered by forcing the
build and selecting various parameters.
Documentation (DOC) Runs like a DSM except it does not publish
built artifacts. Builds documentation using
Sandcastle and publishes the documentation
as defined in the various projects.
Sonar (SONAR) A suite of tests are run under the SONAR
framework and results are published for
subsequent analysis. Triggered on a nightly
schedule but can also be forced.
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.55
Demo
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.56
Database Migrations
 Built by CSG years ago
• Similar in functionality to Database Projects or RoundhousE
 Databases are versioned alongside code
 Standard folder layout (DbGhost)
 SQL Server Management Studio plugins
 Build to Build migrations (CSDB)
• Generates CREATE.sql and MIGRATION.sql
• Validate consistency (RedGate SQL Compare)
 CSGExecuteMigration
• Inspects Version table
• Applies subsequent migrations
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.57
Database Migrations
Change Scripts go here
Create Scripts go here
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.58
SQL Server Management Studio
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.59
Database Migrations
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.60
Database Migrations
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.61
Continuous Integration
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.62
Code Reviews
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.63
Crucible & Fisheye - Code Reviews
 Web-based built by Atlassian
 On Premise or Hosted
 Source code browser - Fisheye
 Source code search engine – Fisheye
 Code review tool – Crucible
 Integrates with SVN and a few other source code control
systems
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.64
Demo
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.65
Code Reviews
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.66
We made it!
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.67
Questions?
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.68
Extras
 BMC BladeLogic – Automated Deployments
 Atlassian Confluence – wiki
• Designs
 WiX - Installers
 Configuration Migrations – CSG built (XSLT)
 Build History website – CSG built
 Sonar – Build Analysis
 Git/Stash/SourceTree – Distributed Version Control
• SubGit syncs with Subversion
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.69
Thanks!
Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.70
Trunk Based Development
http://paulhammant.com/2013/04/05/what-is-trunk-based-development/

Contenu connexe

Tendances

Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the warDevelopers vs DBAs - How to win the war
Developers vs DBAs - How to win the wargvenzl
 
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)20181127 オラクル講演資料(DataRobot AI Experience Tokyo)
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)オラクルエンジニア通信
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurTakashi Ito
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogCloud Study Network
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performancegvenzl
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaBruno Borges
 

Tendances (8)

Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the warDevelopers vs DBAs - How to win the war
Developers vs DBAs - How to win the war
 
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)20181127 オラクル講演資料(DataRobot AI Experience Tokyo)
20181127 オラクル講演資料(DataRobot AI Experience Tokyo)
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil Gaur
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrog
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
 
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
JavaCro'15 - Managing Java at Scale Security and Compatibility Applications -...
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no Java
 
What is the Oracle Cloud?
What is the Oracle Cloud?What is the Oracle Cloud?
What is the Oracle Cloud?
 

Similaire à Life Outside of TFS

DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows DevDOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows DevGene Kim
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessAchim D. Brucker
 
Building a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedInBuilding a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedInJens Pillgram-Larsen
 
Modernizing Software Development in the US Navy
Modernizing Software Development in the US NavyModernizing Software Development in the US Navy
Modernizing Software Development in the US NavyAmazon Web Services
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreDataStax Academy
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlChris Muir
 
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Haripds Shrestha
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the CloudCloudBees
 
2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and DirectionsCollabNet
 
Big Data Fundamentals 6.6.18
Big Data Fundamentals 6.6.18Big Data Fundamentals 6.6.18
Big Data Fundamentals 6.6.18Cloudera, Inc.
 
Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Pavan Dikondkar
 
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentPlastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentKiko Monteverde
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...Chris Muir
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
 
Part 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to EndPart 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to EndCloudera, Inc.
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 WorkshopDavid Manock
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewPaulo Fagundes
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017Cloudera Japan
 

Similaire à Life Outside of TFS (20)

DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows DevDOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development Process
 
Building a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedInBuilding a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedIn
 
Modernizing Software Development in the US Navy
Modernizing Software Development in the US NavyModernizing Software Development in the US Navy
Modernizing Software Development in the US Navy
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User Store
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
Designing and Implementing a cloud-hosted SaaS for data movement and Sharing ...
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the Cloud
 
2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions2016 Federal User Group Conference - TeamForge Capabilities and Directions
2016 Federal User Group Conference - TeamForge Capabilities and Directions
 
Big Data Fundamentals 6.6.18
Big Data Fundamentals 6.6.18Big Data Fundamentals 6.6.18
Big Data Fundamentals 6.6.18
 
Big Data Fundamentals
Big Data FundamentalsBig Data Fundamentals
Big Data Fundamentals
 
Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018Google Cloud Platform - Introduction & Certification Path 2018
Google Cloud Platform - Introduction & Certification Path 2018
 
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentPlastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Part 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to EndPart 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to End
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overview
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017
 

Dernier

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Life Outside of TFS

  • 1. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.1 Life Outside of TFS Andrew Ochsner
  • 2. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.2 Life Outside of TFS Andrew Ochsner
  • 3. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.3 About CSG
  • 4. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.4 About CSG  Business Support System (BSS) and Operational Support System (OSS) software • Product, Order, Billing, and Customer management • Inventory, Provisioning, and Job management • Primarily North America cable, satellite, and telecom companies • Expanding internationally • Hosted solution
  • 5. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.5 Code  10s of Millions of Lines of Code • Mainframe – Assembler, COBOL, JCL • Linux/Solaris – C/C++ • Linux – Java • Windows – .NET/C#, C/C++, Java  Databases • SQL Server • Oracle • DB2 on Mainframe
  • 6. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.6 Code  10s of Millions of Lines of Code • Mainframe – Assembler, COBOL, JCL • Linux/Solaris – C/C++ • Linux – Java • Windows – .NET/C#, C/C++, Java  Databases • SQL Server • Oracle • DB2 on Mainframe
  • 7. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.7 Agile Transformation
  • 8. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.8 Waterfall
  • 9. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.9 Scrum
  • 10. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.10 Scaled Agile Framework (SAFe) http://scaledagileframework.com/
  • 11. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.11 CSG’s ALM Approach  Best in breed approach • Mostly an evolution – no big bang • Integrated what we had • Upgrade to better components as we find them  Solidifying around Atlassian Suite • Not Open Source but customers are allowed to view and modify source • Integrates with many third party tools • Web based • Hosted or On Premise • Rich plugin ecosystem/marketplace • Open web-based APIs and SDKs
  • 12. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.12 Core Principles
  • 13. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.13 Core Principles  Have No Fear  Trunk Based Development  Continuous Integration • Commit early • Commit often  Collective Code Ownership  Demand ownership of failing builds  Standardized project layout  Dedicated System Team (ESM) • Staffed with good developers
  • 14. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.14 Development Lifecycle
  • 15. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.15 Development Lifecycle
  • 16. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.16 Tools  Issue Tracking – Atlassian JIRA  Source Code Control – VisualSVN (Subversion)  Package Repository –Artifactory/NuGet  Testing – NUnit & SpecFlow  Database Migrations – CSG Tools  Continuous Builds – Jenkins/NAnt/MSBuild  Code Reviews – Atlassian Crucible  Code Search – Atlassian Fisheye  Installers - WiX  Automated Deployments – BMC BladeLogic
  • 17. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.17 Development Lifecycle
  • 18. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.18 Issue Tracker
  • 19. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.19 Jira – Issue Tracker  Web based issue tracker created by Atlassian  On-Premise or Hosted  Very flexible custom fields and workflows • Lots of third party plugins • Mobile app • Plugin SDK to build your own  Scrum and Kanban story boards  EpicsFeaturesStoriesTasks  Development and Production Defects  Production Defects synchronize with Remedy  IDE Integration  Reports and Charts are lacking a bit
  • 20. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.20 Demo
  • 21. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.21 Jira – Issue Tracker
  • 22. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.22 Jira – Issue Tracker
  • 23. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.23 Jira – Issue Tracker
  • 24. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.24 Issue Tracker
  • 25. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.25 Developer Tools `
  • 26. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.26 Developer Tools  Visual Studio  Resharper  VisualSVN – Visual Studio Subversion integration  NUnit & SpecFlow  CSG Developer Tools • CSGCopyDeps – Copy dependencies – LibraryManifest.xml • CSGVerifySolution – Enforce Standard Project Layout • SqlServer Management Studio Addins for Database Migrations
  • 27. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.27 Developer Tools  Visual Studio  Resharper  VisualSVN – Visual Studio Subversion integration  NUnit & SpecFlow  CSG Developer Tools • CSGCopyDeps – Copy dependencies – LibraryManifest.xml • CSGVerifySolution – Enforce Standard Project Layout • SqlServer Management Studio Addins for Database Migrations
  • 28. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.28 Standard Project Layout Built Assemblies (not checked in) Database Schema & Static Data Dependencies (not checked in) Deploy configs and build script hooks Source code Module specific build option settings Module Solution File Module Installer Solution File Generated WSDL Documentation
  • 29. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.29 CSGCopyDeps – SCMLibraryManifest.xml
  • 30. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.30 CSGCopyDeps
  • 31. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.31 CSGVerifySolution
  • 32. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.32 Developer Tools `
  • 33. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.33 Package Repositories
  • 34. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.34 Artifactory - Package Repositories  Need the ability to grab the build artifacts of any given version  Third party dependencies too!  Don’t check binaries into Subversion  Non .NET teams have same needs  Eventually could replace CSGCopyDeps with NuGet
  • 35. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.35 Artifactory - Package Repositories  Artifactory Pro by JFrog • Supports NuGet (Pro), Ivy, Maven  Web Based & On-Premise or Hosted  Stores CSG built packages along with version  Acts as a remote proxy between build tool and external galleries • Pin a package to a particular version • Governance around approved Third Party Software and Licenses (Pro w/ BlackDuck integration)
  • 36. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.36 Package Repositories
  • 37. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.37 Source Code Control
  • 38. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.38 Subversion - Source Control  Subversion – Open Source Centralized Version Control  Copy-Modify-Merge rather than Lock-Modify-Unlock  Directories are first class objects, just like files  Branching and Tagging are “cheap” • Copy on Write  Widespread adoption & integration with other tools  No Stash/Shelve features • We utilize a Branch
  • 39. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.39 Subversion - Source Control  VisualSVN Server – On Premise Subversion installation for Windows • ActiveDirectory integration  VisualSVN – Visual Studio Subversion Integration  TortoiseSVN – Windows Explorer Integration
  • 40. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.40 Subversion - Source Control  VisualSVN Server – On Premise Subversion installation for Windows • ActiveDirectory integration  VisualSVN – Visual Studio Subversion Integration  TortoiseSVN – Windows Explorer Integration
  • 41. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.41 Demo
  • 42. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.42 Source Code Control
  • 43. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.43 Continuous Integration
  • 44. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.44 Jenkins – Continuous Integration  Web-based, open source continuous integration server  On-Premise or Hosted by Cloudbees  Fork of Hudson project  Tons of plugins to integrate with just about anything • Write your own as needed  Open APIs and command line tools to automate as needed • JenkinsGenerator  One Master (Controller), Many Agents
  • 45. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.45 Jenkins – Continuous Integration  Polls Repository for changes  Triggers builds  Generate Reports off of build artifacts • Emails • Test Results
  • 46. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.46 Jenkins – Continuous Integration  Polls Repository for changes  Triggers builds  Generate Reports off of build artifacts • Emails • Test Results
  • 47. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.47 Common build - NAnt  Checkout source (done by Jenkins slave)  Get dependencies via CSGCopyDeps (varies by build type)  Run CSGVerifySolution  Build solution - MSBuild  Run Tests • Build system only runs tests that don’t hit external systems • Smoke test builds run all tests  Run Code Analysis (varies by build type)  Build Installers  Publish Artifacts
  • 48. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.48 Build Types  Every module has at least 3 builds • Daily Build (DSM) • Continuous Stable (CS) • Continuous Integration (CI)  Other build types • Smoke Test (SMOKETEST) • Continuous Stable Database (CSDB) • Database Restore (QRDB/PRDB) • Documentation (DOC) • Sonar (SONAR)
  • 49. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.49 Build Types  Every module has at least 3 builds • Daily Build (DSM) • Continuous Stable (CS) • Continuous Integration (CI)  Other build types • Smoke Test (SMOKETEST) • Continuous Stable Database (CSDB) • Database Restore (QRDB/PRDB) • Documentation (DOC) • Sonar (SONAR)
  • 50. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.50 Build Types – Daily Build  “The official build”  Builds latest from SVN  Uses dependencies officially staged from Package Repository  Results are staged into Package Repository  CREATE and MIGRATION scripts also generated  Triggered nightly
  • 51. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.51 Build Types – Continuous Stable  “Current build”  Builds latest from SVN  Uses dependencies from Package Repository (dependency DSMs)  Runs extra checks such as Code Analysis  Results are not staged into Package Repository  Triggered off of SVN commit or dependency DSM
  • 52. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.52 Build Types – Continuous Integration  “Tomorrow’s DSM”  Builds latest from SVN  Uses dependencies from latest CI of each module dependency  Results are not staged into Package Repository • Go into a “sandbox” area to be used by other CI builds  Triggered off of SVN commit or dependency CI
  • 53. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.53 Build Types Build Type Description Daily Build (DSM) Builds the latest of a module's branch/trunk, including database CREATE and MIGRATION SCRIPTs, using other modules officially staged assets as dependencies, results are officially staged. Triggered Nightly. Continuous Stable (CS) Builds the latest of that module's branch/trunk, using other modules' officially staged assets as dependencies, results are not officially staged. Triggered by an SVN change. Continuous Integration (CI) Builds module's trunk and uses the artifacts of the latest successful CI build for each consumed module. Triggered by an SVN change. Causes all down stream modules' CI builds to run. Smoke Tests Owned by module teams. Takes built artifacts from CS build and runs entire test suite.
  • 54. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.54 Build Types Build Type Description Continuous Stable Database (CSDB) Builds CREATE and MIGRATION script based off the latest of that modules branch/trunk Database Restore Utilities (QRDB/PRDB) Stands up a Production/QA database backup to a database server. Triggered by forcing the build and selecting various parameters. Documentation (DOC) Runs like a DSM except it does not publish built artifacts. Builds documentation using Sandcastle and publishes the documentation as defined in the various projects. Sonar (SONAR) A suite of tests are run under the SONAR framework and results are published for subsequent analysis. Triggered on a nightly schedule but can also be forced.
  • 55. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.55 Demo
  • 56. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.56 Database Migrations  Built by CSG years ago • Similar in functionality to Database Projects or RoundhousE  Databases are versioned alongside code  Standard folder layout (DbGhost)  SQL Server Management Studio plugins  Build to Build migrations (CSDB) • Generates CREATE.sql and MIGRATION.sql • Validate consistency (RedGate SQL Compare)  CSGExecuteMigration • Inspects Version table • Applies subsequent migrations
  • 57. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.57 Database Migrations Change Scripts go here Create Scripts go here
  • 58. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.58 SQL Server Management Studio
  • 59. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.59 Database Migrations
  • 60. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.60 Database Migrations
  • 61. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.61 Continuous Integration
  • 62. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.62 Code Reviews
  • 63. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.63 Crucible & Fisheye - Code Reviews  Web-based built by Atlassian  On Premise or Hosted  Source code browser - Fisheye  Source code search engine – Fisheye  Code review tool – Crucible  Integrates with SVN and a few other source code control systems
  • 64. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.64 Demo
  • 65. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.65 Code Reviews
  • 66. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.66 We made it!
  • 67. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.67 Questions?
  • 68. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.68 Extras  BMC BladeLogic – Automated Deployments  Atlassian Confluence – wiki • Designs  WiX - Installers  Configuration Migrations – CSG built (XSLT)  Build History website – CSG built  Sonar – Build Analysis  Git/Stash/SourceTree – Distributed Version Control • SubGit syncs with Subversion
  • 69. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.69 Thanks!
  • 70. Copyright © 2013 CSG Systems International, Inc. and/or its affiliates (“CSG International”). All rights reserved.70 Trunk Based Development http://paulhammant.com/2013/04/05/what-is-trunk-based-development/

Notes de l'éditeur

  1. I have never used TFS in my lifeThis presentation is not a comparison between CSG’s solution and TFSnor an endorsement of one being “better” than the other
  2. Cross functional teamsSelf managed
  3. Changing tires on a car while it’s moving
  4. Economies of Scale