Agile Programming Professional Training and Certification

Level: Intermediate
Rating: 4.6/5 4.64/5 Based on 90 Reviews

This Agile programming course prepares programmers, developers, testers, and designers to immediately become productive members of an Agile team by focusing on the techniques for implementing software with an Agile mindset. Learn to use test-first principles, design and create automated acceptance tests, and apply SOLID design patterns to code.

Plus, pass the post-course exam and earn Certification in Agile Programming (ICP-PRG) from the International Consortium for Agile (ICAgile).

Key Features of this Agile Programming Training:

  • Earn ICAgile Certification in Agile Programming (ICP-PRG)
  • Earn credits toward the Scrum Alliance Certified Scrum Developer (CSD) certification
  • More than a dozen hands-on exercises using popular Agile tools
  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included

You Will Learn How To:

  • Apply test-driven techniques for developing working code
  • Refactor code to exploit SOLID design principles and pattern technology
  • Use mocking libraries to isolate components for efficient testing
  • Remove dependencies between components with Dependency Injection Frameworks
  • Drive version control systems using an Agile branching and merging policy


Scrum Alliance REP ICAgile General PMI 17 PDU

Choose the Training Solution That Best Fits Your Individual Needs or Organizational Goals


In Class & Live, Online Training

  • 3-day instructor-led training course
  • Earn 17 PMI PDUs
  • Earn Scrum Alliance SEUs
  • One-on-one after-course instructor coaching
  • Tuition can be paid later by invoice -OR- at the time of checkout by credit card
View Course Details & Schedule

Standard $2295

Government $2295




Team Training

  • Bring this or any training to your organization
  • Full - scale program development
  • Delivered when, where, and how you want it
  • Blended learning models
  • Tailored content
  • Expert team coaching

Customize Your Team Training Experience


Save More On Training with FlexVouchers – A Unique Training Savings Account

Our FlexVouchers help you lock in your training budgets without having to commit to a traditional 1 voucher = 1 course classroom-only attendance. FlexVouchers expand your purchasing power to modern blended solutions and services that are completely customizable. For details, please call 888-843-8733 or chat live.

In Class & Live, Online Training

Time Zone Legend:
Eastern Time Zone Central Time Zone
Mountain Time Zone Pacific Time Zone

Note: This course runs for 3 Days

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Important Agile Programming Course Information

  • Requirements

    • Prior to attending this course, attendees should have attended:
    • Experience in programming, preferably in a modern (object based or object oriented) programming language
    • A broad understanding of the software development lifecycle
  • Recommended Experience

    • This is a course not just for programmers, but for testers (particularly automation testers), and software designers that then implement their designs.
  • Software

    • For in-class examples we use the Microsoft toolkit: the C# programming language with Visual Studio, Microsoft's Team Foundation Server for tracking agile workflow, and the Git version control system for versioning and teaching branching and merging strategies.
  • Course Preparation

    • Students will be emailed a short document to review before class. Understanding the content of this pre-course reading is required before class, so more in-class time can be devoted to the role of the programmer.
  • Certification & Exam Information

    • ICAgile: To obtain the ICAgile certification, students will need to pass the Learning Tree exam. Learning Tree customer service will process your registration with ICAgile once the exam has been passed., please allow 10 business days.
    • View the ICAgile Certification & Training Roadmap ›
    • Scrum Alliance: This course qualifies for the 3-day technical portion of the Certified Scrum Developer. To obtain Scrum Education Units (SEUs), students will need to pass the Learning Tree exam. Once notification of passing the exam has been received, contact Learning Tree's customer service to request registration with Scrum Alliance.
    • This course can help you earn Scrum Alliance’s Certified Scrum Developer (CSD) certification. Click to view our options for CSD - Certified Scrum Developer Training ›
    • This course can help you earn ICAgile certification. Click to view our options for ICAgile Certification Training ›
  • Information for European Citizens

    In line with GDPR legislation we are informing you that your Personal Data, specifically name and contact information, will be shared with Scrum Alliance who have a legitimate business interest in processing your Personal Data to award any earned certifications and to monitor class attendance. Scrum Alliance are based in the United States and your name and address will be transferred to and processed in the United States. Scrum Alliance’s processing of your personal data is covered by their Privacy Policy which can be viewed here. Please review and return the Scrum Alliance GDPR Form to

    Agile Programming Course Outline

    • Agile Software Development Introduction

      • Defining the developer role in an agile process
      • Identifying software development roles and activities
      • Supporting the requirements engineering process
      • Decomposing and estimating requirements
      • Using test automation to drive development
      • Applying SOLID design principles
      • Exploiting design patterns
      • Integrating systems
      • Branching and merging version controlled code
      • Managing defects efficiently
    • Supporting Agile Projects

      Gathering software requirements

      • Eliciting requirements from users
      • Adopting Agile values and principles
      • Identifying user stories from stakeholder requirements

      Planning Agile Projects

      • Prioritizing and estimating work
      • Dividing features into tasks
      • Estimating stories and tasks

      Tracking Team Progress

      • Tracking progress with burn down charts
      • Calculating velocity and adjusting to change
      • Monitoring work in progress with task boards
    • Test-Driven Development

      Defining test levels

      • Acceptance, system, integration and unit testing
      • Employing both automated and manual testing
      • Specifying boundary conditions
      • Driving development through constant testing

      Ensuring software meets requirements with user acceptance testing

      • Scripting user acceptance tests
      • Specifying acceptance criteria
      • Determining conditions of satisfaction
      • Automating the user story acceptance tests with Gherkin

      Minimizing bugs through automated programmer unit testing

      • Utilizing tools for automated unit testing
      • Writing unit test code
      • Isolating classes for testing
      • Programming mock objects
      • Refactoring for improved design
    • Improving Code Quality

      Applying SOLID design principles

      • Ensuring classes have a single responsibility
      • Maintaining extensibility through the open-closed principle
      • Using inheritance correctly
      • Inverting dependencies to obtain the correct interfaces
      • Injecting dependencies using injection frameworks

      Short-circuiting design with patterns

      • Understanding the role of design patterns
      • Applying well-known patterns: Strategy and observer
    • Scaling Development

      Protecting code with version control

      • Locking versus multiple checkout version control systems
      • Single store versus distributed version control
      • Employing GIT for distributed multiple checkout control
      • Pushing and pulling changes from central repositories

      Applying multi-team agile versioning policy

      • Branching and merging code developed by multiple teams
      • Choosing agile branching and merging strategies
    • Continuous Improvement of Development

      Monitoring development

      • Knowing what to track in development
      • Identifying common agile development pitfalls

      Participating in retrospectives

      • The developer’s role in agile process improvement
      • Continuous improvement through learning

    Team Training

    Agile Programming Training FAQs

    • Is Agile a programming language?

      No, Agile is a method of building code, not a coding language.

    • Who is the International Consortium for Agile (ICAgile)?

      ICAgile is one of the leading global agile accreditation and certification body. They help organizations design learning experiences that create an agile mindset and continue the agility within the organization.

    • Can I earn a Certification in Agile Programming online?

      Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs wherever you want. This course is available in class and live online.

    • How does this help me achieve ICAgile Certified Expert In Agile Engineering?

      This course can help you earn ICAgile certification. Click to view our options for ICAgile Certification Training ›

    • What industry credits can I earn for this Agile Programming course?

      You can earn credits toward the Scrum Alliance Certified Scrum Developer (CSD) certification.

    Questions about which training is right for you?

    call 888-843-8733
    chat Live Chat

    100% Satisfaction Guaranteed

    Your Training Comes with a 100% Satisfaction Guarantee!*

    • If you are not 100 % satisfied, you pay no tuition!
    • No advance payment required for most products.
    • Tuition can be paid later by invoice - OR - at the time of checkout by credit card.

    *Partner-delivered courses may have different terms that apply. Ask for details.

    Preferred method of contact:
    Chat Now

    Please Choose a Language

    Canada - English

    Canada - Français