Learning Tree International

Software Engineering Training

1-888-THE-TREE (1-888-843-8733)
 

Request Info

Salutation

First Name

Last Name

Job Title

Department

Mailstop

Company

Address

P.O. Box

City

Province

Postal Code

Country
List

Work Telephone

Ext.

E-mail Address

A representative will contact you to follow up your request.

Privacy Statement

 
Save up to $1,800 per course with the Flex-Training pass

 

Agile Programming:
Principles and Practices for Software Success


Course 9313 Days

  E-mail   Print   Q&A   PDF   Facebook   Twitter

Quick Enrol

You Will Learn How To

  • Deliver adaptable software more quickly using Agile methodologies such as XP and Scrum
  • Capture user stories, estimate work and plan iterations, sprints and releases
  • Minimize bugs and maximize productivity with test-driven development
  • Refactor existing code for easier maintenance and improved design
  • Craft quality designs by adopting established coding principles and design patterns
  • Facilitate team communication with stand-up meetings, iteration reviews and retrospectives

Course Benefits

Saving time and money on software development is crucial to being competitive. Agile methodologies, including Scrum and XP, reduce cost, increase quality and speed time to market. In this course, you gain a solid foundation in Agile programming principles. Through an immersive case study, you acquire practical knowledge and skills to plan, code and implement an Agile software project using methodologies like XP and Scrum.

Who Should Attend

This course is valuable for anyone working on a software development team including analysts, designers, programmers, testers and technical managers. An understanding of basic software engineering practices and development experience are assumed.

Throughout this course, experiential and PC-based activities immerse you in an authentic Agile programming project simulation. You perform critical tasks, including:
  • Meeting with customers to generate user stories
  • Estimating and prioritizing user stories
  • Attending a spike session to learn new technology
  • Writing tests and code to bring user stories to life
  • Refactoring to remove code smells for elegant design
  • Implementing an adaptable architecture through design patterns
  • Delivering software in frequent iterations using XP or Scrum
  • Conducting sprint reviews and retrospectives to facilitate learning

Course 931 Content

Introduction and Overview

  • Adopting the best practices of the Agile Manifesto
  • Comparing plan-driven and Agile software methodologies
  • Identifying Agile best practices and process steps

Planning an Agile Release

Establishing the Agile project

  • Recognizing the structure of an Agile team
  • Programmers
  • Managers
  • Customers
  • Building cross-functional teams

Developing a foundation with user stories

  • Eliciting application requirements
  • Capturing user stories
  • Recognizing good user stories

Estimating

  • Defining an estimation unit
  • Estimating relative work
  • Calculating team velocity
  • Refining the budget based on velocity

Planning releases, iterations and sprints

  • The planning game
  • Establishing an iteration budget
  • Prioritizing user stories
  • Creating product and sprint backlogs
  • Managing scope creep

Comparing Scrum and XP

  • Scrum Master
  • Product Owner
  • Scrum Team

Crafting Adaptive Software through Test-Driven Development

Driving the design process with automated testing

  • Programming automated tests
  • Validating user stories with user acceptance tests
  • Writing code based on the tests

Integrating unit testing

  • Developing effective test suites
  • Drafting unit tests that are simple, isolated and fast
  • Isolating classes for effective testing
  • Creating mock objects for testing

Refactoring for Elegant Design

Recognizing code smells

  • Conditional logic
  • Code duplication
  • Code that needs comments

Cleaning code with refactoring

  • Renaming fields and methods
  • Extracting methods and base classes
  • Designing for simplicity and reuse

Integrating Object-Oriented Programming Principles

Adopting the best practices principles

  • Single Responsibility Principle (SRP)
  • Open/Closed Principle (OCP)
  • Dependency Inversion Principle (DIP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)

Evolving design from the bottom up

  • Delegating class responsibilities
  • Achieving polymorphic behaviour
  • Preferring composition over inheritance

Simplifying Complex Architectural Problems Using Design Patterns

Defining design patterns

  • Creational, Structural and Behavioural patterns
  • Guaranteeing the correctness of an adaptable design

Integrating design patterns into the Agile process

  • Template Method
  • Adapter
  • Strategy
  • Singleton
  • Factory Method

Finishing an Iteration

Reviewing an iteration or sprint

  • Delivering the software
  • Estimating subsequent iterations
  • Adjusting budgets based on actual velocity

Conducting a sprint retrospective

  • Brainstorming on what was learned
  • Building an action plan to maximize productivity
  • Incorporating Agile best practices and tools

<< Back to Software Engineering Course List
 

Related Courses


RealityPlus is a trademark of Learning Tree International.
 
Agile Programming: Principles and Practices for Software Success
RealityPlus

Course Dates

Oct 20 - 22Ottawa enrol
Nov 3 - 5Toronto enrol

US Dates

Oct 13 - 15New York enrol
Nov 10 - 12Rockville, MD enrol
Jan 19 - 21Reston, VA enrol
Live online classroom training.

Attend highlighted events
in person or online with Learning Tree AnyWareTM.

More Dates and Locations.

On-Site &
Custom Training

Bring this or any Learning Tree course to your location or have it customized for your organization.

Tuition

$ 2,595 Standard Tuition
Tuition with a Savings Plan
$ 1,665Flex-Training Pass
$ 1,800Multi-Course Passport
$ 2,950Voucher 5-Pack
$ 2,335Alumni Gold Discount
$ 2,195Government Discount
 

 
"The hands-on aspect of a Learning Tree Course helps me understand how a technology works. If I make mistakes, I can take advantage of the fact that the instructor is there to help and answer questions. It's a good approach to see how things work and what I can do."

– S. Regimbal
Veterans Affairs Canada

 
Ten Questions to Ask Your Training Provider - Position Paper
 
RealityPlus™: Increasing Value Through Performance-Based Training

ISPI logo PMI 17 PDU