Agile Software Developer Essentials

This comprehensive, twenty-hour Agile developer training class is presented in person over three full days or optionally over five half-days and 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 the basics of Agile development and learn the practices expert developers employ to write code faster and solve a range of software problems. You’ll discover simple, yet powerful techniques for analysis and design, refactoring to patterns, and leveraging test-driven development to emerge 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, as well as 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 have gained an in-depth understanding of how Agile development practices improve software construction, and you will have become a more valuable contributor on any development team.

Course Benefits

Training for Agile Developers Agile Software Developer Essentials – Paradigms of Design

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 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 7,500 developers in the last twenty-three 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 me to arrange a private, on-site or online session of this Agile development training course for your team.

View a pdf version of this course description.