Applied Agile (4 days)

Audience: agile teams. Provides hands-on experience with actually doing agile software development.

Class size: 12 to 24
Prerequisites: none for non-progammers; Programmers: six months or more development experience.
Please call +1-719-287-GEEK or  This e-mail address is being protected from spambots. You need JavaScript enabled to view it us to schedule now or ask questions.
Pricing / Details

This four-day course is a hands-on experience with agile software development. Attendees learn about various agile practices, including techniques from extreme programming (XP) and Scrum. Techniques are taught through a series of group and programming exercises that demonstrate how each core practice actually works. Students will learn how to mesh these practices into a complete and coherent process.

Only programmers attend the first two days of this course, learning the fundamental technical practices that help teams sustain agile, and their systems, over time. Developers will learn a solid foundation for TDD and refactoring. They'll learn how to continuously pay attention to design in an agile process.

The remainder of the agile team joins with the programmers for the second half of the course. At that point, the entire team learns all about the planning game and other core agile principles through a series of exercises. Finally, the entire team plans and executes one or more iterations.

Attendees should be prepared to work as part of a team. All developer exercises are executed with two people actively pair-developing at single workstations.

Course outline:

Days 1-2: programmers

Overview
    Pair programming
TDD fundamentals
TDD dependencies: mocks/test doubles
Simple design
Test smells
Refactoring
Coding standards
Continuous integration
Automating acceptance tests in FitNesse

Days 3-4: All

Planning
    Stories
      INVEST
    Estimation
      Relative sizing
      Planning Poker
    Release planning / product backlog
Sprint / Iteration planning
    Design and task breakdown
    Sprint / Iteration retrospectives
Acceptance tests
Design in agile
Teamwork practices
    Open workspace
    Pairing (revisited)
    Daily standup
    Sustainable pace
    The Customer team
Mini-iteration:
   Overview
       Team assignments
       Customer/stakeholder role
   Planning
   Execution
   Review/Retrospective
Miscellaneous topics
    Coach/Scrum Master; other roles
    Metrics/tracking
Open Q&A
Wrap-up: Making Agile Work for You

Combining Scrum with proven agile programming techniques makes for an ideal development methodology. This winning agile combination is used in all kinds of software development shops, including Fortune 500 companies, dot-coms, product development companies, and government. When applied properly, agile software development results in dramatic improvements in software quality and ability to meet customer demand. Agile software development also gives developers a much greater opportunity to learn to work in a high-functioning, high-morale team. However, as with any way of doing development, agile can be executed poorly.

Applied Agile teaches you and your development team how to make agile work for your shop. We know what works and what does not, based on several years experience applying agile in many different environments. We will teach you not only the basics of agile, but the pitfalls to watch out for. We take a very pragmatic approach, and will teach you when and how to tailor agile practices for your shop.

Pricing / Details