Leader

Agile Engineering: Techniques for Increasing Quality and Reducing Time-to-Market

Leader: Gil Broza Senior Consultant, Cutter Consortium

General Overview: If you've been using an Agile project management method like Scrum, you've probably noticed that traditional software development tactics don't work as well anymore. Big Design Up Front, detailed design documents, manual test plan execution, code freezes and other plan-driven approaches just don't achieve great results in a fast-paced, iterative environment.

In fact, an Agile project management framework without suitable technical discipline is a great way to guarantee failure.

In this Agile Engineering course, you will learn reliable, sustainable and enjoyable software development practices that time-and-time again work effectively in concert with Agile project management methods, and which you can immediately put to use. These techniques, first popularized in Extreme Programming (XP), have been proven, refined and extended for more than a decade. They have been repeatedly shown to significantly reduce time to market, increase quality, and reduce technical debt -- the demon that snarls later development.

Gil Broza has been using and teaching these Agile Engineering techniques for many years, so you can expect a highly interactive and practical course!

Course Goals:

  • Get hands-on with the practices of Agile engineering, particularly TDD and refactoring
  • Develop simple, clear, tested code faster than you ever have
  • See how to grow object-oriented software with tests' guidance
  • Learn how to unit test the tough cases
  • Stop dreading legacy code

Intended audience: Developers in Java, C# or C++. This course is limited to 16 participants.

Outline (Not an agenda):

  • Premises of Agile Engineering and the departure from older methods
  • Code smells (coding and design anti-patterns)
  • Unit testing ("microtesting")
  • Test-driven development (TDD)
  • Refactoring techniques
  • Refactoring principles and strategies
  • Dependencies
  • Testing interactions
  • Mock objects
  • Test smells
  • Simplicity
  • Evolutionary Design
  • Continuous integration
  • Dealing with legacy code
  • Development hygiene
  • Agile testing principles
  • Incorporating Agile Engineering in an Agile method like Scrum

Note: The instructor will customize the contents based on the audience's needs with respect to legacy code and their level of coding experience.

Length of course: 3 days

Agile Engineering: Techniques for Increasing Quality and Reducing Time-to-Market

For more details on how we can develop a custom consulting engagement or training curriculum for your organization, browse our engagements by practice area below or contact our team.

Contact Us