Agile & Project Delivery
Agile Technical Practices
Course Overview
This course teaches participants the technical practices that are used on an Agile project. It goes beyond the Agile practices of Daily Scrums, Sprint Planning, Sprint Demos and Retrospectives. Using both lecture and hands-on exercises, the course walks students through such topics as XP programming concepts, Acceptance Test Driven Development (ATDD), Test Driven Development (TDD), Behavior Driven Development (BDD). It also includes extensive discussions on refactoring, clean code, and designing code for testability.
Course Length
3 days
Target Audience
This course is intended for developers, testers, Quality Assurance personnel and Resource Managers who want to improve their understanding of the developers role and the technical practices used on an Agile project.
Course Prerequisites
Scrum Fundamentals and a knowledge of Java
Topic List
- Review of Agile and Scrum
- Junit and Unit Testing Principles
- Testing Seams
- Mock Objects and Stub Objects
- Best Design Practices
- Programming by Intention
- Separate Use from Construction
- Defining Tests Up Front
- Encapsulation
- Interface Oriented Design
- High Level Design
- TDD/ATDD/BDD
- Overview
- Tools and Languages
- Specification by Example
- Cucumber and Gherkin
- Technical Debt and Refactoring
- Technical Debt
- Cost of Technical Debt
- Reducing Technical Debt by Refactoring
- Refactoring Techniques
- SOLID Design Principles
- Designing Interfaces
- Dependencies: Designing for and Reducing
- Refactoring Principles and Techniques
- Agile and Architecture
- Continuous Integration
- Branching the Source Code
- Multiple Versions: Specialization Branching
- Working in Isolation: Development Branching
- Problem, Solution, Problem
- The Merge-Back
- Test-Driven Development and Merge Cost
- Jenkins
Course Level
Intermediate
Preceding Course
Delivery
MicroAssist’s instructor-led training consists of group-paced learning models with structured hands-on activities. The dedicated learning environment encourages focused learning supported by key resources.
- Private Training Facility – Our training rooms are designed to provide students with a comfortable and distraction-free environment. Being able to focus on each step and its implications leads to better retention of the new material.
- In-person Instructor – The instructor presents learning material live in the classroom, allowing for effective information dissemination and active classroom management. The face-to-face nature of the class allows for student-teacher interaction that aids in successfully completing each lesson.
- Student Work Station – Each student is provided a desktop or laptop computer to work with during the training class. The computers are equipped with the appropriate student files and programs so students can replicate the steps in each lesson. Being able to manually complete each lesson fosters increased understanding.
- Student Manual – Each student is supplied a manual that provides a general overview of each concept as well as detailed instructions on how to complete each task. The manual is the student’s to keep and makes an excellent reference guide.
