Agile Programming Techniques Training CourseThe Agile Design and Development track equips participants with the latest tools and techniques to implement fully tested, cleanly designed software solutions.
The Agile Design and Development track equips participants with the latest tools and techniques to implement fully tested, cleanly designed software solutions. In addition, courses discuss the agile mindset for software development, which encourages developers to embrace change by developing easily adaptable solutions architected to maximize business value.
- Create unit tests to test individual classes and modules in isolation.
- Safely refactor legacy code bases without breaking existing code.
- Drive design and development with unit tests using TDD and BDD.
- Write automated specifications/acceptance tests.
Unit Testing and Dependency Injection
Learn about the anatomy of a unit test and create tests in JUnit or NUnit. Use common patterns for creating and structuring tests and fixtures to: create readable and maintainable tests; and avoid duplication. Create test doubles using stubs and mocks to isolate the test fixture and eliminate any dependencies. Apply dependency injection for easy configuration to facilitate the use of test doubles without needing test hooks in production code.
Apply refactoring patterns to safely restructure code into a better design without changing its outward behaviour. Discover code smells identifying code that should be refactored in order to remove technical debt. Look for seams to add unit tests to legacy code in a safe fashion without refactoring the code, even though the code was not designed with testing in mind.
Understand the need for simplicity in design and code. Learn to evaluate design and design principles from the perspective of simplicity and quality. Look at how systems decay over time and discover techniques to monitor the technical debt. Use the principle of simplicity of design and code to avoid or eliminate technical debt.
TDD and BDD
Discover how test-driven development focusses on the design and the desired result. Apply TDD to create a high-quality system. Understand the difficulties of applying TDD. Use behavioural requirements to identify what to do next and what to test.
The Build Process
Understand how Agile collaboration with concepts such as collective accountability and collective ownership. Experience pair programming, identifying the benefits and challenges and understanding the different types of pairing. Look at how build tools provide automation of the build and test process, and how version control provides a source code repository to support multiple developers working on the same system. Learn how continuous integration helps us have confidence regarding the quality of the code in the source code repository and manages integrating the work of multiple developers.
Discover how TDD delivers technical quality but not necessarily user quality. Apply ATDD to ensure user quality and drive TDD. Create readable user specifications that can be “executed” as automated acceptance tests, resulting in “living documentation”.
News And Information
People are just nuts for digital which, based on popular usage, could be almost anything from apps to business systems. And you can see why. Digital is the reason why companies derive what just a few years ago would have been fantastic efficiencies and...
The problem with fads in business, particularly technology fads, is that they often catch us out. As CEOs we’re often left asking some tough questions while people scramble to answer us. And we’re being pressured by the board, investors, shareholders, and...
It’s tough just to stay in touch with the rapid changes sweeping through almost every sector of business today. It’s nearly impossible to be one of the unicorns, the Ubers, Spotifys, Googles and Facebooks of the world. While most customers, investors,...
Learn More About Our Training Academy
Want to find out more about our solutions and academy services and how we can help you with your digital transformation journey?