Customer Service or Enrol: 0800 282 353 or +44 1372 364610
 
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 minimise 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 emphasises 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 practise 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 organisation.

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 emphasise 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 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*:

Job Title:

Company*:

Post Code*:

Country*:
   Codes
Office Telephone*:

Extension:

E-mail*:

* Required

A Learning Tree representative will contact you to follow up your request for information.

Save 55%

19 - 21 Nov, 2008
London
28 - 30 Jan, 2009
London
15 - 17 Apr, 2009
London
1 - 3 Jul, 2009
London
23 - 25 Sep, 2009
London

£ 1,395 - Standard Tuition
Savings Plans
£ 735 - 10-Day Training Pass
£ 995 - Flex-Training Passport
£ 900 - Short Course Vouchers
£ 1,255 - Alumni Gold Tuition

 
Customer Service or Enrol: 0800 282 353 or +44 1372 364610