Agile Programming Professional Training and Certification

Nivå: Intermediate
Snittbetyg: 5/5 5,00/5 Based on 5 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).


  • Earn ICAgile Certification in Agile Programming (ICP-PRG)
  • More than a dozen hands-on exercises using popular Agile tools
  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included

Du kommer lära dig att

  • 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

Välj den utbildningsform som passar dig bäst



  • Använd denna eller någon annan utbildning i ditt företag
  • Fullskalig programutveckling
  • Levereras när, var och hur du vill
  • Blandade utbildningsmodellerSkräddarsytt innehåll
  • Coaching av ett expertteam
View Details ›

Anpassa kurs och innehåll efter teamets behov

Kontakta oss

Utveckla dig och ditt team med anpassade eller öppna kurser alternativt e-learning

Learning Tree erbjuder kundanpassad utbildning hos er, öppna kurser i Stockholm, London eller Washington, möjlighet att delta via våra Anywhere centers (Malmö, Göteborg, Linköping, Stockholm eller Borlänge) eller olika former av e-learning med lärarstöd. Läs mer på .


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

  • 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

    • Prioritising 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

    Minimising bugs through automated programmer unit testing

    • Utilising 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

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 organisations design learning experiences that create an agile mindset and continue the agility within the organisation.

  • 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 ›

Questions about which training is right for you?

call 08-506 668 00

Why do we require your location?

It allows us to direct your request to the appropriate Customer Care team.

100% Satisfaction Guaranteed

Your Training Comes with a 100% Satisfaction Guarantee!*

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

Why do we require your location?

It allows us to direct your request to the appropriate Customer Care team.

Hur föredrar du att bli kontaktad:

Please Choose a Language

Canada - English

Canada - Français