ASPE is an IIBA Endorsed Education Provider of business analysis training. Select Project Delivery courses offer IIBA continuing development units (CDU) in accordance with IIBA standards.
NASBA continuing professional education credits (CPE) assist Certified Public Accountants in reaching their continuing education requirements.
Select courses offer Leadership (PDU-L), Strategic (PDU-S) and Technical PMI professional development units that vary according to certification. Technical PDUs are available in the following types: ACP, PBA, PfMP, PMP/PgMP, RMP, and SP.
This course can be tailored to your needs for private, onsite delivery at your location.
This hands-on workshop teaches your teams how to implement Continuous Integration techniques & practices to achieve better code quality, better maintenance, and speed to delivery. Effective CI practices, when combined with well-aligned IT teams, lay the foundation for mature Continuous Delivery environments and the many benefits associated with them – for your software, your IT shop, and your business.
This 3-day instructor-led course will teach the fundamental concepts, practical application, and workflow integration skills necessary for successful CI implementation. Students will learn through hands on labs, class demos, class participation exercises, frequent quizzes, video tutorials, and traditional power point presentations. This is an interactive class, and individuals will be expected to participate fully in all exercises to retain maximum benefit of the course.
- Upcoming Dates and Locations
Guaranteed To Run
- Course Outline
Module 1: Continuous Integration Overview
This Module covers the fundamentals of Continuous Integration, a software development methodology that focusses on consistent code testing. For any team that is implementing an Agile programming approach to software development, Continuous Integration (CI) will be an integral part of the process.
The difference between Integration, Deployment, and Delivery
- Continuous integration
- Continuous deployment
- Continuous delivery
Continuous Integration Flow
- Checking for updates
- Extracting Code
- Integrating updates into a test environment
- Reviewing test results
- Integrating updates into the Build
- Make a Change in CI environment
- Check in update
- View Code Analysis Report
- View Test Results
- Verify Build
Module 2: Advantages of Continuous Integration
This Module covers the results that CI delivers, and how they translate into more efficient workflows, higher deliverability, and less overall cost. Benefits associated with CI will be exemplified including:
Reaping the benefits of Continuous Integration
- Reduce implementation effort
- Increase speed of resolution
- Improve quality & maintenance of each product release
- Increase speed of delivery
Communicating Analytics with Clients & Managers
- High Transparency
- Running Tests in the real world
- Updating code with changing requirements
- Fundamentals of Continuous Integration
- Execution of Continuous Integration
- Testing Results of Continuous Integration
Companies utilize CI techniques successfully
Class discussion regarding real world companies which have successfully integrated Continuous Integration into their common practice. Review of released content thaqt their deployment workflows.
Case Studies for Continuous Integration
- Production Changes every 11.6 seconds at Amazon
- The Facebook Release Process
- Continuous Delivery at Google
- The Software Revolution Behind LinkedIn's Gushing Profits | Business | WIRED
- Deploying the Netflix API
- Tesla utilizing Continuous upgrades
- How Etsy Deploys More Than 50 Times a Day
- How did each company in these reports utilize Continuous Integration?
- How was CI most likely implemented in each example?
- How would you apply CI to your own production environment?
Module 3: Implementing a CI Environment
In this Module, we will take a deep dive into the analyzation, best practices, and setup of a CI environment.
Creating & Managing a Source Code Repository
- Distributed code Repositories
- Choosing the right tools: Repository Tools Review
- Separating requirements & dependencies
- To use branches or not to use branches?
Configure Automated Deployment
- Configuring the DHPC server
- Source Commit Check
- Starting with simple Deployment scripts
- Real time bug alerts
Creating Automated Tests
- Unit Testing
- User Interface Testing
- API Testing
- Regression Testing
- Load Testing
- Security Testing
- Create a Source Code Repository
- Build an Automated Test
- Check new code into Repository
- Run a unit Test on New Code
Module 4: Database Versioning
- Best Practices for database versioning
- Database Schema & scripts
- Database versioning tools
- Multiple database instances for each developer
- Benefits of Database Versioning
Database Versioning Process:
- Check out object to be modified
- Apply modifications in database test environment
- Run tests to verify changes have not broken the build
- Check in object for final authentication
Database Versioning Approaches
- Task Based Development
- Compare & Sync
- Database version checks
- Upgrade scripts & Parallel Development
- Modify an object in test environment
- Check in modifications to repository
- Run Unit test to check against changes
- Run final test for deployment
Module 5: Maintaining a CI Environment
Module 5 investigates CI methods & techniques which ensure problems & bugs are detected early, and speed to deployment is consistent.
Implementing the Build, Deploy, Test, and Release Process
- Software Configuration
- Automatic Launch
- Test Report Generation
- Submit to Testers
Product Maintainability & Monitoring
- Reliability, Availability, Maintainability: Why you need all three
- Criteria for "pass" requirements
- Scope & Scalability
- Consistent updating of Software functionality
- Analytics & Reporting
Module 6: Agile tools for Continuous Integration
Before selecting a CI/CD solution, it is crucial for developers & project managers to choose the correct path for each particular application. In this module we will review open source tools, and delve into the pros & cons that they bring to the table.
Setting up the CI Server
- CI environment, standard workflows, & core tech architecture
- Software Configuration Management (SCM)
- Setting up Jenkins as a CI server
- Open source CI tools
- Build automation tools for CI
- Recommended learning resources
- Set up the Jenkins build server
- Run a shell script
- Archive the build result
- Run integration tests
- Run report on test results
- Who should attend
This class is designed for:
- Software Developers
- Project Managers
- Quality Assurance staff
- Product Owners
- Business Intelligence Professionals
Technology: This class is designed to teach effective CI skills for teams who utilize either open-source toolsets or proprietary technology stacks such as Microsoft. This workshop features Microsoft Visual Studio and Jenkins CI as testbeds for your own hands-on continuous integration lab practice.