Agile Software Development Essentials - San Jose, CA

Agile Software Development Essentials

Duration: 3-Days (9am-5pm) December 7 - 9, 2009

Watch this 6 minute video and see what my Agile Software Development Essentials class has to offer you. Click the video below and begin watching!



Take your software design and development skills to a whole new level

In this unique training we cover the critical skills needed to build software that can easily change. We identify and give names to the qualities that make software flexible so all team members can communicate with high fidelity. We then look at specific principles and practices which support the development of quality software.Agile Architecture and Development Title Page

In addition to covering a core set of patterns every developer should know we also examine the forces that underlie patterns and make them valuable to agility. This expanded view of patterns gives attendees a powerful framework to allow them to encapsulate and abstract virtually any problem for maximum flexibility without overcomplicating the solution. These techniques apply equally well to new development as they do to maintaining or extending existing systems.

Attendees learn how to find elegant solutions by understanding the forces of problems. This leads to discovering the right abstractions that make software less complex and more manageable. Using advanced techniques like commonality-variability analysis, “refactoring to the open-closed”, encapsulating construction and pattern-oriented design, participants learn how to emerge designs just-in-time and with minimal waste.

There are no “magic bullets” in software development but developers can make better choices if they understand the tradeoffs of their decisions. This training helps attendees evaluate tradeoffs in design that can then be immediately applied to virtually any problem. This practical approach will impact the way attendees create software on a day to day basis. Participants leave this training confident and empowered to improve the quality of the software they produce.

This is a lecture-style course with a group exercise done at whiteboardsAgile Architecture and Development Diagram.


After completing this training attendees will be able to:

  • Identify six code qualities that make software easier to maintain
  • Build a common vocabulary for evaluating and communicating designs
  • Understand how applying key principles leads to easily extendible designs
  • Evaluate the tradeoffs of alternate designs without having to code them
  • Learn twelve core patterns that every developer should know and use
  • See how to apply patterns just-in-time and avoid up-front overdesign
  • Employ proven techniques to dramatically reduce defects
  • Recognize pathologies of poor code and how to fix them
  • Discover how to refactor code without breaking callers
  • Master an easy way to find patterns in any problem


This training is for developers, testers, designers, architects, technical leads and managers of development teams.

Agile Architecture and Development Slide


Attendees should be familiar with basic Object-Oriented (OO) concepts and terminology.


Day 1

Architecture and Design
CREATE Software Quality
Software Patterns
Encapsulating Varying Behavior

Day 2

ReviewAgile Architecture and Development Slide
Paradigms, Principles and Perspectives
Encapsulating Foreignness
Group Exercise
Group Exercise Debrief

Day 3


Core Practices
Encapsulating Sequence and Cardinality
Encapsulating Construction
Refactoring and Emerging Systems


David BernsteinDavid Bernstein, has been writing software for over a quarter of a century. A noted speaker and presenter, David has been responsible for successfully delivering systems that drive leading econometric and financial firms as well as helping to develop application and operating system software. He has nearly two decades of experience “preaching what he practices” and has personally trained over 6,000 developers on how to improve the design and construction of software. In addition to his deep technical knowledge and passion for software development, David has experience running all aspects of a startup software company and is also an award-winning video producer.

 Douglas E. Shimp has 17 years of experience in the technology field and has played key roles in software development (developer, QA, Analyst, Manager, Leader, Coach and Consultant etc). Doug whose passion is about teams and applied learning for real product development is establishing himself as a leader in this area. He believes that the core bases for applied agile is that “You must see the result for it to be real; otherwise it is all just theory to the individual” more...


David Bernstein


Or Visit:


 Note: Seating is limited and this class is filling up.

Name Sales End Price Fee
Registration Fee   Ended $1495 $9.95