Agile Programming Professional Training and Certification

Course 933

  • Duration:
  • Labs: Yes
  • Language: English
  • 23 PMI PDUs
  • Level:
Get This Course 23.950 kr
  • 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
#933

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).

Agile Programming Professional Training and Certification Delivery Methods

  • 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

Agile Programming Professional Training and Certification Course Benefits

  • 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

Agile Programming Course Outline

  • 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

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

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

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

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

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

Need Help Finding The Right Training Solution?

Our training advisors are here for you.

Course FAQs

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

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.

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