1-800-THE-TREE (1-800-843-8733)
 

Agile Programming: Principles and Practices for Software Success

 
Course: 931     Type: RealityPlus     Duration: 3 Days

Frequently Asked Questions

What is this course about?

This immersive course is based around an authentic Agile project simulation where you gain the knowledge and practical skills to plan, code and implement a software project. You gain a solid foundation in Agile methodologies such as XP and Scrum. You also learn Agile development principles, including test-driven development, refactoring existing code for easier maintenance and improved design, simplifying complex coding problems with design patterns, and adopting best practices to successfully manage Agile projects.

What background do I need?

In this course you will be shown code and will write code, but will not be given details on any given language. A working familiarity with object-oriented programming concepts, along with a level of competency in a modern programming language such as Visual Basic, Java or C#, is extremely helpful.

Who will benefit from this course?

Experienced software architects, programmers, and technical/project managers who want to learn to develop software using proven Agile programming principles and practices will benefit greatly from this course.

What is Agile development and programming?

Agile development is a software engineering framework that is designed to produce functional software in a reduced time frame when compared to traditional development methodologies. Agile methodologies include Scrum and XP. Agile places emphasis on constant, open, real time communication between developers and their customers, and stresses the need to build working software in frequent iterations to minimize risk. Each iteration acts as a fully contained software project and includes the tasks needed for a product release: planning, requirements analysis, design, coding, testing, and deployment. The frequency of iterations emphasizes the core principle of Agile development, which is the ability to react and adapt quickly to change and to shift directions with minimal or no interruption to the project.

How is this course structured?

This course is structured around a dynamic style of learning created by Learning Tree called RealityPlus-an immersive experience that engages you in authentic tasks within a simulated real-world context. Through media-rich case studies, role playing, and video/computer-based activities, you are immersed throughout the course in an evolving scenario where the decisions you make affect the outcome of the simulation. The RealityPlus learning method is presented in a safe environment where you gain new skills and practice the most effective techniques to bring back to your job. At the end of the course, you are prepared to immediately and successfully apply these new skills within you organization.

Does this course cover Scrum?

Yes. Scrum is an iterative process of software development typically used to manage software development projects, but it can also be used to run software maintenance teams or for program management. In this course, you learn how to deliver adaptable software iterations based on Agile methodologies including Scrum.

I am a Java/.NET/C++ programmer. How will this course help me?

Agile is not about the language you use to program, it is about the concepts and underlying principles. All Agile methodologies (Scrum and XP, for example) are applicable whether you are working in Java, .NET, C++ or any other programming language. To keep this course fully focused on Agile development and programming principles, all course materials are presented in a language-neutral environment. Exercises are designed around an emerging programming language that is completely object-oriented and simple enough to not get in the way of learning the core concepts of Agile.

Will this course teach me the skills I need to perform Test-Driven Development?

Absolutely! Test-Driven Development (TDD) is one of the cornerstones of Agile programming whether using Scrum or XP. TDD ensures that when a part of the application changes, a response to that change can be made without breaking other parts of the system. This course places great emphasis and a significant amount of time on TDD, and the processes needed to implement it successfully.

How much time is spent on each topic?

ContentHours
Planning an Agile release2.0
Agile iterations1.5
Crafting adaptive software through Test-Driven Development 3.0
Refactoring for elegant design4.0
Integrating object-oriented programming principles 3.5
Simplifying complex architectural problems using design patterns 3.0
Managing to the Agile Manifesto1.0
Times, including the workshops, are estimates; exact times may vary according to the needs of each class.

Is this course consistent with the Agile Manifesto?

Yes. The Agile Manifesto, released in 2001, is the foundation upon which Agile development is built. It provides the guiding principles for this methodology-principles that separate it from any other type of "by the numbers" development process. Agile is as much a development philosophy as anything else, focusing on customer satisfaction by rapid, continuous delivery of useful software and the close, daily cooperation between business people and developers. Since the Agile Manifesto is intrinsic to the process, it is intrinsic to this course. Its principles are woven through every phase of the course and are highlighted to emphasize the relationship between principle and practice, whether you use Scrum or XP.

What kinds of activities does this course include?

This course is built around an authentic Agile programming project simulation. Experiential and PC-based activities include:

  • Meeting with customers to generate user stories
  • Attending a spike session to learn new technology
  • Writing tests and code to bring user stories to life
  • Refactoring to remove code smells
  • Leveraging OO coding principles to remove hacks
  • Implementing design patterns for an adaptable architecture
  • Facilitating customer feedback through the delivery of frequent iterations

How is this course different from Course 918, Agile Project Management with Scrum?

Course 918, Agile Project Management with Scrum, does not focus on the actual coding or programming of an Agile software project but instead concentrates on the management of Agile projects. Course 931, in contrast, covers how to plan, code and implement an Agile software project using methodologies like XP and Scrum.

How does this course relate to other Learning Tree courses?

This course requires experience in a modern programming language and in object-oriented programming concepts. That experience can be gained in:

The following courses may also be of interest:

RealityPlus is a trademark of Learning Tree International.

  
Request More Info

Salutation

First Name

Last Name

Company

Zip Code

Country
   Codes
Work Phone

Extension

E-mail

A representative will contact you to follow up your request.
Privacy Statement

Save Up to 40% per course on the Training Passport!


Agile Programming: Principles and Practices for Software Success
Upcoming Dates
Feb 18 - 20, 2009
 Ottawa
Mar 11 - 13, 2009
 Toronto
Apr 15 - 17, 2009
 Washington, DC (Reston, VA)
Apr 29 - May 1, 2009
 New York
Jun 17 - 19, 2009
 Ottawa
Jul 8 - 10, 2009
 Toronto


RealityPlus Course
 
Your Course Tuition Entitles
You to...
  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Course Completion Certificate awarding Continuing Education Units
  • FREE participation in Professional Certification
  • FREE participation in College Credit programs (including related exams)

Course Tuition
$ 2,390 Standard Tuition
Tuition with a Savings Plan
$ 1,350 10-Day Pass
$ 1,670 Training Passport
$ 1,700 Premium-Pass
$ 2,200 Voucher 10-Pack
$ 2,155 Alumni Gold Discount
$ 2,124 Government Discount
 

 
Customer Service or Enroll: 1-800-843-8733