COST: Contact us
DURATION: 3 days


ICAgile logo

 

Learn how to use Agile programming practices to create high-quality systems. During our Agile Programming Techniques course, you will gain hands-on experience and practice with tools and techniques for designing and implementing systems. You will apply specifications written in the form of user examples and unit tests to drive development with Test Driven Development (TDD), Behaviour Driven Development (BDD) and Acceptance Test Driven Development (ATDD). This course is ideal for developers and technical testers wanting a better understanding along with the opportunity to practically apply Agile tools and techniques.  This course is about quality – in particular, what can developers do to make sure that we are building the right system, and that we are building it the right way.  

 

Certification:

ICP PRG icon

ICAgile accredited course: The ICP-PRG Certification from ICAgile, is granted on the successful completion of this course. This certification is part of the ICAgile Engineering Track along with our Agile Fundamentals and Agile Design and Architecture courses.

 

Intended for:

  • Developers who wish to design and develop systems using Agile techniques
  • Technical Testers wanting a deeper understanding of Test Driven Development, Behaviour Driven Development and Acceptance Test Driven Development.
     

Prerequisites:

You will need to have completed formal Agile training such as our Agile Fundamentals course and a working knowledge of Java or C# is a must.


Learning outcomes:

By the end of this course you will be able to: 

  • Write and maintain effective unit tests
  • Refactor code without breaking the observable functionality
  • Identify the seams to add unit tests to legacy code bases
  • Explain various principles of good software design
  • Apply test-driven development (TDD) to write tested code
  • Write good specifications / acceptance tests.
  • Automate the acceptance tests
  • Perform software development as an engineering discipline 
     

Content: 

  • Unit testing and
    Dependency injection
  • Refactoring
  • Legacy Code
  • Design 
  • Test Driven Development and Behaviour Driven Development
  • Architecture
  • Team Collaboration
  • Acceptance Test Driven Development
  • Cucumber
  • FitNesse

Method used:

Lecturing is kept to the minimum necessary, most of the learning is achieved through applying the practices and techniques in group exercises.  

This is a hands-on development course where the learning is achieved through applying the practices and techniques in programming exercises. While the concepts and principles apply to most languages, the exercises are carried out using Java, C#, or JavaScript. 


Take your learning to the next level:

Complete the ICAgile Engineering Track with the following courses: 

Agile Programming Techniques

Related courses:

Course outline:
Agile Programming Techniques Outline (PDF)