Classes for Agile Software Development

This comprehensive, twenty-hour Agile developer training class is presented in person over three full days or online over five half-days. It covers essential Agile developer principles and practices that will empower you to build higher-quality software more rapidly and with fewer defects.

You will go beyond Agile development basics and learn expert developer practices to write code faster and solve various software problems more effectively. You’ll discover simple yet powerful techniques for analysis and design, refactoring to patterns, and leveraging test-driven development for emerging solutions. You’ll identify code qualities that make software easier to build and test and learn a common vocabulary for evaluating and communicating designs that will enable you to collaborate more effectively with your customer and your teammates.

Anyone who develops software will find value in the techniques covered in this training, regardless of your coding proficiency or current skill level. By the end of class, you will understand how Agile development practices improve software construction. You will have become a more valuable contributor to any development team.

Course Benefits

Completing this course will give you a deeper understanding of software development using the Agile methodology and enable you to:

  • Employ expert techniques for analysis and design
  • Read and write the most useful UML diagrams
  • Estimate development tasks more accurately
  • Deliver valuable software in short iterations
  • Apply simple strategies for refactoring legacy code
  • Create flexible designs that can be easily changed
  • Identify code qualities that improve maintainability
  • Recognize pathologies of poor code and fix them
  • Understand the importance of continuous integration and versioning
  • Support collaboration and pair programming, and work effectively with teammates
  • Write software that supports an iterative process without excessive rework
  • Refactor to design patterns just-in-time to avoid upfront overdesign
  • Use test-driven development practices to build higher-quality software
  • Write code that is more testable and easier to maintain and extend

Who Should Take This Course

This Agile training course is for all team members and has the greatest impact when the entire team attends. This course will benefit Architects, DBAs, Designers, Developers, Development Managers, Directors, Product Managers, Programmers, QA Engineers, Software Engineers, Technical Analysts, Technical Leads, Technical Writers, and Testers. Familiarity with basic Object-Oriented (OO) concepts and terminology is recommended.

Agenda

In Three Full-Day In-Person Sessions Day 1—Agile Fundamentals

  • Introduction
  • Development Essentials
  • CREATE Software Quality
  • Paradigms and Wisdom
  • Principles and Perspectives
  • Software Patterns
  • Encapsulating Varying Behavior I

Day 2—Agile Analysis and Design

  • Review
  • Encapsulating Varying Behavior II
  • Encapsulating Foreignness
  • Group Exercise
  • Group Exercise Continued
  • Design Reviews
  • Exercise Debrief

Day 3—Agile Development and Testing

  • Review
  • Encapsulating Sequence and Cardinality
  • Encapsulating Construction
  • Test First Development
  • Testing Techniques
  • Development Practices
  • Refactoring and Emerging Systems

In Five Half-Day Online Sessions Session 1—Agile Fundamentals

  • Introduction
  • Development Essentials
  • CREATE Software Quality
  • Paradigms and Wisdom

Session 2—Agile Analysis

  • Principles and Perspectives
  • Software Patterns
  • Encapsulating Varying Behavior I
  • Encapsulating Varying Behavior II

Session 3—Agile Design

  • Encapsulating Foreignness
  • Group Exercise
  • Design Reviews
  • Exercise Debrief

Session 4—Agile Development

  • Review
  • Encapsulating Sequence and Cardinality
  • Encapsulating Construction
  • Development Practices

Session 5—Agile Testing

  • Review
  • Test First Development
  • Testing Techniques
  • Refactoring and Emerging Systems

Your Instructor, David Bernstein

David BernsteinMy continuing passion for software design and construction has led me to train more than 10,000 developers in the last twenty-six years for clients that have included Fortune 500 firms such as Microsoft, IBM, Yahoo!, Boeing, AT&T, Sprint, Medtronic, SunGard, State Farm, MetLife, and Weyerhaeuser. As a longtime IBM consultant, I trained software engineers around the globe, giving them the skills to write the next generation of applications and operating system software while earning one of the highest satisfaction ratings in the history of IBM education. Since 2006, I’ve devoted my consulting practice to providing organizations with training and coaching for software developers and teams transitioning to Agile and Scrum.

Praise for David’s Training

“This class renewed my enthusiasm for the love of software development…[David’s] enthusiasm is infectious, and you might find that you start thinking better about software development practices.”
—Mark Walsen, Owner/Developer, Notation Software

“If you want to know a better and more effective way of thinking and working with software, then don’t miss this class.”
—Javier Espana, Designer/Developer, Velocity Partners, Argentina

“This class is absolutely essential for a modern software developer.”
—Arkadiy Tseytlin, Software Developer, ShareBuilder.com

Become a more proficient developer— contact us to arrange a private, on-site session for your team.

View a pdf version of this course description