Difference between revisions of "Applying UML and Patterns: Hands-on Mastery of OOA/D, Agile Modeling, & Patterns -- & with TDD introduction"

Line 50: Line 50:
  
 
== Environment & Participants ==
 
== Environment & Participants ==
[[Course Environment - Modeling Patterns TDD]]
+
[[Course Environment - Agile Software Development with TDD]]

Revision as of 06:15, 22 November 2007

Overview

5 days.

This popular, high-impact, and hands-on course on agile software development is aimed at developers looking for solid core development skills, and is based on acclaimed industry leader Craig Larman’s extensive experience coaching and applying agile modeling and OO development for decades.

What really matters is not a set of diagrams, but a running system that meets the needs and constraints of various stakeholders. Thus, how can we effectively apply modeling in an agile value-adding practical approach, and how can it be integrated with programming and automated tests to create great OO software? And how to can we design software with technical agility to enable business agility? Finally, what are the overarching principles to the design of elegant, understandable, and extensible systems?

In this intensive hands-on seminar you will find the answer these questions. There is a little lecture time, but the majority of the time is spent in high-value-education small modeling teams at the whiteboards while the coach rotates and works with each team, coaching the case studies while applying agile modeling, principles and patterns. The coach will also help you implement your systems, while you lean the powerful practice of test-driven development (TDD) with refactoring.

The course involves multiple iterations of several case studies, in which the teams go through repeating cycles of agile modeling and then development with TDD. On each cycle, the coach gradually introduces more principles and techniques to build software with agility. We apply a variety of education techniques established over 20 years of coaching and mentoring to maximize the learning, value, and fun, including buzz groups, multi-modal learning, and lots of hands-on practice.

You will leave this workshop with much deeper core skills in agile software development, supporting business agility and creative, collaborative product creation.

Who can benefit

Developers, architects and other technical leaders

Prerequisites

Familiarity with an object-oriented programming language

Skills Gained

Upon completion of this course, students should be able to:

  • think and design in objects
  • design with core principles and patterns that enable software with agility
  • do agile modeling
  • do basic test-driven development
  • apply basic refactorings and refactoring tools
  • transform agile OO models into OO code and tests
  • take a problem through requirements analysis, design, automated tests, and well-crafted OO software in the context of an iterative process

Related Courses

After:

Course Content

  • Process and Design Agility
  • Agile and Iterative Software Development
  • Requirements with Agility
  • Lightweight Domain Modeling
  • Agile Modeling: We Model to Have a Conversation
  • Sketches for Dynamic and Static Views
  • GRASP: Core Principles and Patterns of Great Software
  • Test-Driven Development: An Introduction
  • Refactoring: An Introduction
  • Introduction to High-Frequency Design Patterns: Simple Factory, Adapter, and More


Environment & Participants

Course Environment - Agile Software Development with TDD