Learning Tree International

Software Engineering Courses

0800 282 353 or +44 1372 364610
 

Request Info

Salutation

First Name

Last Name

Job Title

Company

Post Code

Country
List

Office Telephone

Extension

E-mail

A representative will contact you to follow up your request.

Save 50%
 

Agile Programming: Principles and Practices for Software Success


Course 9313 days

  E-mail a Colleague  Print Friendly  FAQ  Course Details PDF

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
  • Minimise bugs and maximise 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 is 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 prioritising 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 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

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

Recognising 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 maximise 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
Agile Programming: Principles and Practices for Software Success

Course Dates

18-20 AugLondon enrol
15-17 DecLondon enrol

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 customised for your organisation.

Tuition

£ 1,475 Standard Tuition
Tuition with a Savings Plan
£ 1,000Flex-Training Pass
£ 75010-Day Training Pass
£ 1,520Voucher 10-Pack
£ 1,330Alumni Gold Discount
 

 
"If anyone were to ask me whether they should take a Learning Tree Course, I would say 'yes' without hesitation. I really believe that anybody who attends is going to definitely walk away with a lot more knowledge than they went in with".

L. Barraza
Computer Specialist
U.S. Federal Government



 
ISPI logo
 
PMI 17 PDU
 
RealityPlus™: Increasing Value Through Performance-Based Training