Public Course > Essential Skills for the Agile Developer

Where & When

Online

Wed, Oct 7 - Wed, Nov 18 '09
6 sessions

Venue details

Pricing

$395/person

Special Pricing

Early Bird Discount

Register by September 16th and receive $50 off

Instructor(s)

Scott L. Bain

Hosted by

Net Objectives

Course Delivery Options

Net Objectives delivers all courses in-house worldwide, and many through public trainings nationally. See our client list and inquire about the best course delivery option for you by using our Course Delivery Inquiry Form.

 

More information

For additional Course Information, Training options or Consulting and Assessment Service inquiries use our Inquiry Form, or contact:
Mike Shalloway
Director of Marketing and Sales
mike.shalloway@netobjectives.com
Toll-free 1-888-532-6244
Direct 404-593-8375


Essential Skills for the Agile Developer

What are the Essential Skills that every developer should have?  As an industry, we have not established a basic set of principles, practices, and disciplines that empower developers to work in an agile environment.  This course will examine what we at Net Objectives believe to be critical engineering skills, and teach them both through demonstration and student exercises.

This on-line training is true training, including lectures, readings, exercises and question & answer periods.

All participants are expected to:

  • Read learning assignments requested. Readings will be given prior to each class. These will not exceed one hour in duration.
  • Attend live on-line lectures when possible, listen to the recordings of them when not. Each session will be from 60-90 minutes.
  • Do exercises assigned between on-line lectures.

Questions

Questions by participants will be handled (asked and answered) in a discussion group provided for the class in our Learning Management Site (LMS).

Registration

Please register as your first step in enrolling in the class. (The Green 'Register Now' button and Register link at the bottom of the page will also take you to the registration form.) You will receive an email closer to the start of the course with further information.

All participants must register prior to the first session of the course. It is not acceptable for one person in a company to register while multiple people attend under his/her registration. This may result in all attendees being removed from the class. Times have been set at 10AM Pacific to allow for Europeans to attend as well.

Outline

The course is divided into 6 sessions. The exact dates for live sessions are still being finalized in the context of the instructor's training schedule. 

Session 1. Wednesday, October 7, 2009, 10:00am:

Introduction to the Course 

  • The LMS and Course Mechanics
  • Outline of Upcoming Sessions
  • Introduction to "Essential Skills"
  • Essential Code Qualities
  • An Exercise

Session 2. Wednesday, October 14, 2009, 10:00am:

Principles and Practices

  • Cohesion Exercise Debrief
  • Definitions: "Priniciple" vs. "Practice"
  • The notion of a "Discipline"
  • Principles:
    • Open-Closed
    • Dependency Inversion
    • Liskov Substitution
  • Practices
    • Programming by Intention
    • Encapsulation of Construction
  • An Exercise

Session 3. Wednesday, October 21, 2009, 10:00am:

Encapsulation and Patterns

  • Exercise Debrief
  • The Gang of Four
  • When and How to Use Inheritance
  • What Patterns are
    • ...And are not
  • Patterns and Forces
  • Encapsulation
  • Strategy, Chain of Responsibility, Adapter
  • Pattern Exercise

Session 4. Wednesday, October 28, 2009, 10:00am:

Sustainable Test-Driven Development

  • Pattern Exercise Debrief
  • Unit Testing Basics
  • Re-Defining TDD
  • Defining a "Good" Unit Test
  • Testing Qualities and Code Qualities
  • TDD as Test-Driven Design
  • Breaking Dependencies in Testing
  • The Role of Patterns in TDD
  • An Exercise

Session 5.  Moved to Wednesday, November 11, 2009, 10:00am:

Refactoring to the Open-Closed 

  • Sustainable Testing Debrief
  • The Open-Closed Principle: A Review
    • Different forms of it
    • What can be open-closed?
  • Refactoring
  • The Traditional View
  • Examples: Extract Method, Move Method
  • The Agile View
  • Refactoring to the Open-Closed
  • An Exercise

Session 6. Moved to Wednesday, November 18, 2009, 10:00am:

Bringing it all Together: Emergent Design

  • Refactoring Exercise Debrief
  • The natural flow of software development
  • The traditional view
  • A more realistic view
  • Professionalism
  • Disciplines: Testing, Refactoring, and Patterns
  • The Magic Card
  • Emergent Design (an example)
  • Resources for further investigation

Recordings

Sessions will be recorded so they can be re-played (without interaction or moderation) at a later time. This will allow anyone who missed the live session a way to make it up. These will likely be available a day after the original broadcast.

Read more about Essential Skills for the Agile Developer

Venue/Registration Info

Room/Location
Online