Course Badge
Back to results
Agile Programming Professional (933) Badge

Agile Programming Professional (933)

Taught by: Sean Smith
Stand out from the crowd with a certification that proves your knowledge and understanding of the scrum framework. The CSD® course is delivered by world-class trainers who have been extensively evaluated and vetted as leaders in technical practices, scrum, and agility. Successful completion of this course includes a two-year professional membership with Scrum Alliance and a globally recognized certification badge.
1.888.843.8733
Sean Smith Trainer Photo
Back to results
 1 day |
 Start March 22, 2017 CUT
Early bird pricing

Course details


Location

person icon

In-Person

location pin icon

2300 - 160 Elgin Street, Ottawa, ON K2P 2N8, CA

Schedule Details

Wednesday, March 22 | 9:00 AM - 5:00 PM CUT
Thursday, March 23 | 9:00 AM - 5:00 PM CUT
Friday, March 24 | 9:00 AM - 5:00 PM CUT

About This Course: Focusing on the techniques for implementing software with an Agile mindset, this course prepares programmers, developers, testers, and designers to immediately become productive members of an Agile team. With this training, you will utilize test-first principles, design and create automated acceptance tests, apply SOLID design patterns to code, and integrate solutions through branching version control.

You Will Learn How To

  • Plan and estimate the size of agile development tasks
  • Apply test-first development principles effectively
  • Design and create automated acceptance tests
  • Develop automated unit tests and releasable code side by side
  • Apply SOLID design principles and design patterns to your code
  • Integrate solutions, and apply a branching/merging version control policy

Returning Learning Tree Customer Price: $2,695.00

GSA/Government New Attendee Price: $2,659.00

Returning GSA/Government Customer Price: $2,393.00

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

Analysts, programmers, designers, architects, testers and other development team members who want an introduction to modern software engineering skills and UML.

Reviews

rating icon showing 0.00 stars. No ratings yet TrustPilot logo
This course does not have any reviews yet.

More courses by Sean

This trainer has no other upcoming courses of this type.