Where & When
Online
Wed, Oct 7
- Wed, Nov 18 '09
6 sessions
Pricing
$395/person
Special Pricing
Early Bird Discount
Register by September 16th and receive $50 off
Instructor(s)
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 DeveloperVenue/Registration Info
- Room/Location
- Online