Learn to use a deliberate and disciplined approach to tackle any development challenge and produce reliable, robust, verifiable applications.  This two-day Agile engineering workshop provides you with the technical skills necessary to write better code with fewer defects and respond quickly to changing requirements.  This is a hands-on agile engineering workshop, so get ready to roll up your sleeves and code!  Upon completion, earn your Certified Scrum Developer (CSD) credentials from the Scrum Alliance.

Professional Benefits

  • Earn 16 PMI PDUs & 16 Scrum Alliance SEUs
  • Satisfy a core requirement of Certified Scrum Developer (CSD) certification track
  • Merit recognition as a CSD on the Scrum Alliance Website, pending Scrum Alliance review

The constructs and techniques taught in the class will be readily applicable by the participants in their enterprise environments.

Upcoming Classes

What you'll learn

Participants will work in pairs on laptops configured with the tools necessary to support Agile delivery as we incrementally and iteratively build a simple, yet fully functional working application. The project will adhere to Scrum techniques, leading out with a Discovery/Planning session, with each day being broken into mini-sprints, interspersed with topic discussions/demonstrations of the various engineering practices that are duly reinforced with vigorous hands-on coding exercises.

  • Agile Engineering and Environment – Study Extreme Programming (XP) practices augment Agile PM framework (e.g. Scrum) in the delivery of software projects. Understand the typical Agile development environment and tools to support Agile engineering practices.
  • Agile Architecture and Emergent design – Study the principles of architecture and design practices in an Agile environment, focusing primarily on the techniques that better enable testability and ease refactoring.
  • Test Driven Development (TDD) – Study unit testing principles, TDD as a design approach, Red-Green-Refactor rhythm, collaboration tests vs. isolation tests, and effective use of test doubles.
  • Refactoring(TDD) – Study of key refactoring techniques, addressing technical debt, and refactoring legacy code.
  • Continuous Integration – An introduction to the key practices of continuous integration, the integration cycle, and creating builds that are automated, self-testing and fast.
  • Automated Acceptance Testing – Study of agile testing principles, the shifting role of testers in an agile environment, and an introduction to automated acceptance testing and Acceptance Test Driven Development (ATDD) techniques.
office laptop work desk desk overhead overhead shot diverse working from home home office workspace t20 jRgQnW scaled

Who Should Attend

This course is intended for developers who are working in a Scrum environment.

Via Scrum Alliance, “The goal is to expose students to the most important tools and techniques needed to build good products in the iterative and incremental fashion that Scrum requires. These ideas are central to the entire field of agile product development.”

SAMPLE AGENDA

Architecture and Design

Study of architecture and design, focusing primarily on the principles that better enable testability and ease refactoring:

  • Principles of architecture in an Agile environment
  • Design practices on an Agile team
  • Principles that enable testability and ease refactoring
  • Emergent Architecture

Collaboration

An in-depth look at the way Agile teams work together. This might include, but is not limited to, the following concepts:

  • Working together as one team
  • Including the customer in the process
  • Pair programming

Test Driven Development

Study of test-first development, including but not limited to the following concepts:

  • Test driven development (TDD) as a design approach
  • Red-green-refactor cycle
  • Unit testing principles and practices
  • What makes good tests/measuring test effectiveness
  • Test Doubles

Continous Integration

An introduction to the key practices of continuous integration, including but not limited to the following:

  • Single command build
  • Creating builds that are automated, self-testing, and fast
  • The importance of a single source repository
  • Increasing visibility & automating deployment

Refactoring

An introduction to the practice of refactoring, including but not limited to the following concepts:

  • When to refactor
  • Refactoring for maintainability
  • Refactoring to patterns
  • Refactoring legacy code

Automated Testing

An introduction to the practice of refactoring, including but not limited to the following concepts:

  • When to refactor
  • Refactoring for maintainability
  • Refactoring to patterns
  • Refactoring legacy code

LitheSpeed Training Experience

Explore more learning