The Agile Engineering Boot Camp will teach you how to integrate Agile development, Test-driven Development (TDD), Object-oriented principles and practices, design patterns and UML, fully harnessing the power of today’s best practices to provide the most valuable software possible.
The course can be customized to any Agile implementation you choose – SAFE, SCRUM, XP, Lean, etc. If you want to learn Agile by doing Agile, this is the course.
The Agile Engineering Boot Camp training course is an intensive boot camp, with at least 70% of the time spent on hands-on programming. The course length can be customized to fit your team. This course assumes prior programming experience – we recommend 6 months of experience with an Object-oriented language, such as Java, C#, VB.net, or C++.
- Teach your team to give a higher return on investment (ROI).
- Get hands-on, intensive practice using OO principles.
- Build the habit of doing iterative development.
- Learn to apply Design Patterns in the real world.
- Understand that the best Agile is the one you customize.
- Learn to integrate UML, Agile, TDD and OOAD.
What You'll Learn
The Agile Engineering Boot Camp covers many of the topics found in the following courses:
- Test-driven Development
- Definitions and Uses of Test-driven Development
- Principles and Techniques of Test-driven Development
- Test-driven Development Benefits
- Best Practices in Test-driven Development
- Test-driven Developments Anti-patterns
- Applied OO
- Definition and Motivation for OOP
- Ensure Understanding of OOP Fundamentals
- OOP “First Principles”
- UML Essentials
- Use Cases
- Class Diagrams
- Sequence Diagrams
- “Turning Straw into Gold” – Using UML
- Agile Development
- Agile Software Development and What it Means for Information ** Technology
- Implementing Iterative Coding into Your Project
- Commonality and Variance
- Techniques for Translating from Requirements and/or Use Cases to a Class Diagram
- Fundamentals of Commonality/Variability Analysis (CVA)
- CRC Cards
- How to Handle Variations as We Get New Requirements
- Understanding and Using Factories
- Delegation and Why it is so Powerful
- How Various Design Patterns Leverage Delegation
- Adapter Pattern
- Strategy Pattern
- What is Refactoring?
- Why Refactor?
- Handling API Changes
- Identifying Code Smells
- Refactoring and Testing
- Using Your IDE
- Using Abstraction
- Understanding the Template Method Pattern
- Importance of Depending on Abstraction
- Serializing Objects to XML Files
- MCV Principles and the Motivation for Using MVC
- Differentiating between the Model 1 and Model 2 Architectures
- Benefits of the Front Controller Pattern
- Managing Access
- The Proxy Pattern and the Motivation for it
- How a Dynamic Proxy Works
- Why the Dynamic Proxy Offers a More Flexible Proxy Solution
- Dynamic Responsibilities
- Using the Decorator Pattern to Bring Flexibility to Designs
- Adding Functionality Flexibility
- Decorator Pattern and Illustration
- Decorator Pattern – Class Diagram
- Decorators in the Java/IO Pattern
- Writing a Custom I/O Decorator
- Optional Appendixes
- Java Server Faces (JSF)
- The Spring Framework
- SAFE (Scaled Agile Framework)
- Open UP
- The Rational Unified Process
- Extreme Programming (XP)
Meet Your Instructor
Julian first touched fingers to keypunch in 1972, punching Fortran code onto cards at Imperial College in London (England, that is) and soon moved onto Macro-11 programming on PDP-11s. This qualifies him as a Real Programmer, and until recently, he even had a PDP-11 in his garage at home to remind him of better times.
He learnt Fortran while becoming a geologist at Imperial College, but he has never practised in the rock business, as he succumbed to the...