1-877-WEBUCATE
(1-877-932-8228)
info@webucator.com
 
Microsoft Training
Java Training
XML Training
Database & SQL Training
PHP, Perl, ASP, Groovy, Grails, Ruby on Rails Training
HTML, JavaScript, Ajax & CSS Training
Adobe CS3 Training
◊ PRIVATE AGILE TRAINING

Need a private class for your team delivered at your site or a location near you?
For private groups of three or more, Webucator offers completely customizable and cost-effective Agile classes delivered at your offices or a location near you.

To have someone contact you about these classes, please fill out the form below.

* (Required)
* (Required)
* (Required)
* (Required)
* (Required)
(The number of people requiring training)
(For Federal Government Pricing)
* (Required)

Agile Software Development Training (5 days)


This Agile class is delivered for private groups onsite at your offices or a location of your choice. It can also be delivered via the Internet for geographically distributed staff.

Agile Software Development Training Course Overview

Agile Software Development is a set of disciplines, principles, and practices that improve our chances of building relevant, working software. However, it is not a panacea. Programmers, testers, lead developers, architects, and managers need to learn prudent and pragmatic ways to practice agility. In this course you will learn, from the leaders and practitioners, various techniques and practices that can help you succeed in your software development projects.

Agile Software Development Training Course Goals

  • Learn to apply useful principles from several agile methodologies
  • Learn to be pragmatic and not dogmatic about agile principles
  • Learn to use your judgment to decide which practices apply when and to what extent
  • Understand techniques to create good unit tests
  • Learn to use various tools that can help with agile development
  • Learn to be adaptive
  • Learn techniques for estimation, planning, and execution

Agile Software Development Training Course Prerequisites

Experience in the following areas is required:

  • Understand software development and programming in general
  • Create, test, and execute programs (preferably in Java, C#, Ruby, or Groovy)

Agile Software Development Training Course Outline

  1. Software Development Process
    1. Software Development Process and challenges
    2. Development approaches
    3. Strengths and Weakness of The Unified Process
    4. What is Agile Development?
    5. Study of Agile Manifesto and Agile Principles
    6. Modeling and Agile Modeling
    7. The Gist of Agile Processes
  2. Agile Methodologies
    1. Reasons for Agility
    2. Methodologies for developing software
    3. Why care about methodologies?
    4. Agile processes strength and weakness
    5. Understanding XP, Scrum, Evo, Unified Process, Crystal, Lean Development, ASD, DSDM, and FDD
    6. Comparison of methodologies
    7. Choosing a methodology
    8. Customizing a methodology
  3. Software Planning
    1. Planning software projects
    2. Minimizing risk and managing requirements
    3. What are User Stories?
    4. Developing User Stories
    5. Exploration and scoping
    6. Approach to Estimation
    7. Planning your Project Release Cycle and iteration
    8. Task planning, spiking, halfway point, slippage
    9. Tools and techniques for project estimation, planning and tracking
  4. Design Considerations
    1. Risk in development
    2. Efforts to minimize Risk
    3. What is design?
    4. Up-front design vs. Agile Design
    5. How to validate designs
    6. Motivations for TDD
    7. Work through a design example
  5. Test Driven Development
    1. How we typically create classes
    2. Benefits and differences of TDD and Test First Coding
    3. Programming by Intention
    4. Types of Tests: Acceptance Testing, Unit Testing
    5. System functionality and relation to TDD
    6. Tenets of TDD, TDD Mantra, TDD Concepts
    7. Practices for Unit Testing
    8. When and where to write tests, and when not to write
  6. Tools and Techniques for TDD
    1. Tools for unit testing
    2. Developing and running test cases
    3. Extensions and related tools
    4. Organizing tests
    5. Practices to follow while writing unit tests
    6. What to do when a bug is detected
    7. How to accommodate change
  7. Mock Objects
    1. Unit testing Challenges
    2. What are Mock Objects?
    3. Advantages of mocking
    4. How to implement a mock object
    5. Using mocks and * mock object frameworks
    6. Which framework to use
    7. When to mock and when not to mock
  8. Refactoring your code
    1. What is refactoring?
    2. Why refactor?
    3. Refactoring prerequisites
    4. What to refactor
    5. Reconciling differences
    6. Specific refactoring recommendations
    7. Tools that help with refactoring
  9. Continuous Integration and TDD
    1. Why unit test?
    2. What is hard about it?
    3. What tests to run
    4. How often to run them
    5. Integrate early and frequently
    6. Continuous Integration
    7. Tools for Continuous Integration
    8. Extreme Feedback Devices
  10. TDD Patterns
    1. Automate, Isolate, Task List, Test First, Assert First
    2. Test Data, Evident Data, One step test, Starter test
    3. Explanation test, Learning test, Regression test
    4. Fake It, Triangulate, Test stub, Quality
    5. What to do when bugs are found
    6. Accomodating change
    7. The Right-BICEP and CORRECT
  11. Dynamic Languages as Testing Aid
    1. What are Dynamic Languages?
    2. How dynamic languages help with testing
    3. Using dynamic languages to test your code
  12. Beyond Unit Testing
    1. Functional and Integration Testing
    2. Fit and FitNesse
    3. Integration testing web applications
    4. Tools for integration testing
    5. Acceptance testing with Selenium
  13. Object-Oriented Design Principles I
    1. Measuring Quality of an Abstraction
    2. Coupling, Cohesion
    3. Law of Demeter
    4. Characteristics of a Poor design
    5. Viscosity, Opacity, Rigidity, Immobility, Fragility, Needless Complexity, Needless Repetition
    6. Characteristics of a Good design
    7. YAGNI, DRY
    8. Difficulties with Inheritance
  14. Object-Oriented Design Principles II
    1. Single Responsibility Principle
    2. Open-Closed Principle
    3. Liskov Substitution Principle
    4. Dependency Inversion Principle
    5. Interface Segregation Principle
    6. Bearing on reusability and extensibility
    7. Other Design Principles
    8. Measuring design quality
    9. Tools for measuring design quality
  15. Open Source Tools for Agile Development
    1. Agility and Tools
    2. Measuring Progress
    3. Tools to measure coverage, design quality, and code quality
    4. Performance measurement tools
    5. Modeling and process tools
  16. Practices for Agile Development
    1. Beneath the basics of agile development
    2. Select practices for you and your team
    3. Beginning Agility
    4. Feeding Agility
    5. Delivering what users want
    6. Agile feedback, debugging, and collaboration
    7. Ways to approach agility

Agile Software Development Training Course Materials

In addition to a comprehensive set of materials, including course notes and all the programming examples, each student will receive a copy of Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt.

Each student will also receive a one-year subscription to Webucator's online reference library, which contains hundreds of the most current electronic technology books - a $149.95 per student value.

Agile Software Development Training Course Technical Requirements and Setup Instructions

Click here for technical requirements and setup instructions

home - onsite classes - instructor-led online courses - self-paced online courses - why webucator - partners - contact - sitemap
© 2008 Webucator. All rights reserved. info@webucator.com | Toll Free: 877-WEBUCATE (877-932-8228) | From Outside the USA: 315-849-2724 | Fax: 315-410-5320
Phoenix, AZ | Santa Clara, CA | Santa Clara, CA | Los Angeles, CA | Sacramento, CA | Washington, DC | Atlanta, GA | Chicago, IL | Indianapolis, IN | Muncie, IN
New Orleans, LA Boston, MA | Cambridge, MA | Charlestown, MA | Framingham, MA | Ipswich, MA | Lincoln, MA | Wellesley, MA | Worcester, MA | Bangor, ME | Detroit, MI
Raleigh, NC Winston-Salem, NC | Lincoln, NE | East Hanover, NJ | Eatontown, NJ | Madison, NJ | Parsippany, NJ | Trenton, NJ | Albany, NY | Buffalo, NY | Rochester, NY
New York City, NY | Syracuse, NY | West Babylon, NY | Dayton, OH | Bethlehem, PA | Philadelphia, PA | Pittsburgh, PA | Pittsburgh, PA | State College, PA
Middletown, RI | Rapid City, SD | Austin, TX | Dallas, TX | Houston, TX | Arlington, VA | McLean, VA | Seattle, WA | Toronto, Canada | Ottawa, Canada | Calgary, CA