1. Problems
1.1. Culture shift might not be fully accepted
1.2. Drowning in tools
1.3. Data Volume changes performance between environments
1.4. Performance Testing
2. Ideas
2.1. Identify a tool/company we can partner with
2.1.1. Docker?
2.1.2. Jenkins
2.1.3. Gerrit
2.2. Train subject matter experts
2.3. Move to component centered delivery
2.4. automate, automate, automate
2.5. build it
3. Questions
3.1. Do we have the expertise?
3.2. Do we have the right support in place?
4. Current - Documented
4.1. Role
4.1.1. Technical Lead
4.1.1.1. Create Continuous Integration Plan
4.1.1.2. Deployment Walkthrough With Client
4.1.1.3. Create Release Notes
4.1.2. Deployment Engineer
4.1.2.1. Deployment Planning
4.1.2.2. Product Packaging
4.1.2.3. Product Delivery
4.1.2.4. Product Deployment
4.1.3. Client
4.1.3.1. Deployment Validation
4.2. Toolset
5. AGI Model
5.1. Development
5.1.1. Sprint Branches
5.1.1.1. Story/Task/Bug Fix Branch within Sprint Branch
5.1.1.2. merging
5.1.1.2.1. Merge Sprint Branch Into Story/Task/Bug Fix Branch After development is complete
5.1.1.2.2. Merge changes into sprint branch if all unit tests have been passed
5.1.1.3. Pull Requests
5.1.2. Reviews
5.1.2.1. Demo
5.1.2.2. Code/Peer Review
5.1.3. Sprint Closing
5.2. Source Control
5.2.1. Technology
5.2.1.1. Git
5.3. Environments
5.3.1. CI Server Environment running current Sprint
5.4. Testing
5.4.1. Unit Tests
5.4.1.1. technologies
5.4.1.1.1. JUnit
5.4.1.1.2. Spock
5.4.1.2. Owners
5.4.1.2.1. Developer
5.4.2. Functional Testing
5.4.2.1. Technologies
5.4.2.1.1. Geb
5.4.2.2. Owners
5.4.2.2.1. QA
5.4.2.2.2. Developer
5.5. Verification and Acceptance on CI Server
6. Goals
6.1. Increase project velocity
6.2. Increase project qualiity
6.3. Decrease manual efforts
6.4. Increase our service offerings
6.5. Enforce accountability
6.6. Standarized Project workflow
6.7. Reduced risk during final deployment
7. New Standard
7.1. Testing
7.1.1. Automated
7.1.2. Test Driven Development
7.1.3. Peformance
7.2. Deployment Pipeline
7.2.1. Enviroments
7.2.1.1. Dev
7.2.1.2. QA
7.2.1.3. Staging
7.2.1.4. Production
7.2.2. Config Defined by Enviroemnt
7.3. Source Control
8. Workflow
8.1. Source Control
8.1.1. Sprint Branch
8.1.1.1. Create story branch
8.1.1.2. Code/Peer Review
8.1.2. Unit / Functional Test
8.1.3. Merge
8.2. Testing
8.2.1. Automate tests
8.2.2. Test Driven Development
8.2.3. Integration tests
8.3. Deployment Pipeline
8.3.1. One build for all enviroments
8.3.2. Automated releases
9. DevOps Application Lifecycle Management (ALM)
9.1. Planning
9.1.1. Sprint Planning
9.1.2. Agile Board Utilization
9.1.3. Task Management
9.1.4. Charting & Dashboards
9.2. Develop + Test
9.2.1. Version Control
9.2.1.1. Branching Strategy
9.2.1.1.1. TFVC
9.2.1.1.2. Git
9.2.1.1.3. Subversion
9.2.2. Testing
9.2.2.1. Unit Testing
9.2.2.1.1. JUnit
9.2.2.1.2. NUnit
9.2.2.1.3. TestNG
9.2.2.2. Performance Testing
9.2.2.2.1. JMeter
9.2.2.3. Web Testing
9.2.2.3.1. Selenium
9.2.2.3.2. Spock
9.2.2.3.3. Geb
9.2.3. Code Analysis
9.2.3.1. Checkstyle
9.2.3.1.1. Checkstyle Rule Definitions
9.2.3.1.2. IDE Plugin
9.2.3.2. Cobetrua
9.2.3.3. SonarQube
9.2.4. Build Tools
9.2.4.1. Apache Maven
9.2.4.2. Gradle
9.2.4.3. Ant
9.2.4.4. MSBuild
9.3. Release
9.3.1. Continuous Integration
9.3.1.1. Jenkins
9.3.1.1.1. Jenkins Job Builder
9.3.1.1.2. Jenkins Pipeline Plugin
9.3.1.1.3. Maven Release Plugin
9.3.1.2. Fabric8
9.3.1.3. OpsWorks
9.3.1.4. Visual Studio Team Services
9.3.2. Continuous Delivery
9.3.2.1. Release Workflow
9.3.2.2. Configuration As Code
9.3.2.3. Container Virtualization
9.4. Monitor
9.4.1. Application Health
9.4.1.1. Availability Metrics
9.4.1.2. Performance Metrics
9.4.1.3. System Metrics
9.4.1.4. Alerts