Agile and TDD with C Training Course
TDD, or Test Driven Development, is an approach to developing software where coding, testing, and design occur in tandem throughout the software development cycle. Agile is a broader process and management approach to software development that emphasizes incremental delivery, team collaboration, continual planning, and continual learning.
In this instructor-led, live training (onsite or remote), participants will learn how to write high-quality C applications using a TDD and Agile development approach. Participants will put their knowledge into practice by carrying out a series of hands-on exercises to create a well-designed and well-tested C application.
By the end of this training, participants will be able to:
- Install and configure development and testing tools needed to carry out TDD
- Design, develop and unit test a C application using a TDD approach
- Apply planning and management practices of Agile development
Audience
- Developers
- Project managers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Notes
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
- Benefits of TDD and Agile
TDD (2 Days)
Installing and Configuring Automated Unit Testing Frameworks
TDD Approaches
- Designing software using TDD
- Refactoring software
- TDD workflows and patterns
Implementing TDD
- Collaborating Modules
- Understanding Test Fakes, Stubs, Doubles, and Mocks
- Writing good unit tests
- Improving existing tests
- Refactoring an application
- Writing tests for legacy C
- Adapting TDD for embedded software development
- Test-Driving Next to the Silicon with Mocks
Agile (1 Day)
Introduction
- Agile vs Traditional Software Development Approaches
- The Agile Manifesto
Implementing Agile
- Release Planning, Iteration Zero
- Iteration Planning, Estimation
- Requirement Review, Daily Stand-up
- Team Quality, Iteration Testing, Acceptance
- Iteration Review (Showcase)
- Retrospectives
- Lesson learned of Agile Principles
Summary and Conclusion
Requirements
- An understanding of C programming
- An understanding of software testing concepts
Open Training Courses require 5+ participants.
Agile and TDD with C Training Course - Booking
Agile and TDD with C Training Course - Enquiry
Agile and TDD with C - Consultancy Enquiry
Consultancy Enquiry
Testimonials (7)
The exercises whit which we were able to familiarise with the TDD
Csongor Benedek - ACCENTURE
Course - Agile and TDD with C
I liked working in small groups. :)
Nikoletta Domak - ACCENTURE
Course - Agile and TDD with C
I really enjoyed the overall positive and encouraging attitude of the trainer and the atmosphere in the calls. The course was very well structured and the analogies and examples used to explain the theory were very helpful. Very happy with the practical part too - simple and understandable tasks, that drives the students to apply the theory in practise :)
Lasma Matusevica - ACCENTURE
Course - Agile and TDD with C
The encouraged open-form discussions on topics presented make it feel more like a productive learning experience.
Ilmars Zeps - ACCENTURE
Course - Agile and TDD with C
The style of the trainer, he explained everything in a calm and orderly manner that made following his lecture very easy and engaging
Rares Calin Rapsigan - ACCENTURE
Course - Agile and TDD with C
Well organized and explained, with a lot of practical examples and live coding, it enlarged my understanding on the subject of Agile and TDD development.
Barabas Attila - ACCENTURE
Course - Agile and TDD with C
The fact that I have learnt a new approach for writing unit tests is the part I liked most about the training. I also liked the free talk we had, the fact that we debated certain topics, I liked the team work we had, it made us analyse from a different perspective the requirements of user stories and I also appreciated the intervention of the trainer that suggested us different solutions when we were stuck on taking some decisions.
Crina-Maria Rosu - ACCENTURE
Course - Agile and TDD with C
Upcoming Courses
Related Courses
Managing Projects using Waterfall and Agile Techniques
14 HoursThis 2 day course is suitable for any IT professionals who are interested in using the Waterfall model and how people have traditionally tried to deal with its shortcomings - including, but not limited to, Agile approaches.
The aim of the 1st day is to give an overview of these approaches enabling you to decide what might suit them in your environment.
The 2nd day looks at project management techniques and good practices that have been identified from Agile, and which can be applied in a Waterfall or Agile context.
Advanced C Programming
28 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at programmers who wish to tap into C's more advanced features and capabilities to optimize and extend the power, resilience and quality of their software applications.
By the end of this training, participants will be able to:
- Solve problems efficiently by writing high-quality code.
- Select the right methods and approaches for the job at hand.
Agile approaches - basics of Agile management with examples of selected approaches
14 HoursTraining allows you to learn the knowledge, techniques, tools and practices for running projects based on Agile. The basis of the training is the presentation of elected Agile approaches, techniques, tools among others: Scrum Framework, Agile Project Management, Lean, Kanban and many others.
The training is dedicated to people interested in implementing Agile approaches in the organization, people participating in
projects, project managers implementing or planning to implement Agile approaches in projects.
The training consists of a substantive part, workshops, practical examples.
Agile Auditing
14 HoursFormat of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Agile Business Analysis
14 HoursThis course focuses on the business analyst role to be successful on Agile projects. Course participants will learn how to cooperate with the Team, Product Owner, Scrum Master as well as with the Customer to facilitate the development process. Participants will go through a mock project practising common scenarios.
Agile Essentials
14 HoursThe iSQI Agile Essentials course is an internationally recognised qualification, Aimed at anyone involved in agile Projects and wants to become familiar with working in an agile environment. This includes Project Managers, Quality Managers, Software Development Managers, Business Analysts, Developers, Testers, IT Directors and Management Consultants. The course is comprised of eight sections and takes participants through the lifecycle of an agile project from the release planning and writing user stories to the iteration review (showcase) and retrospective. The first day focuses on the key principles (55% of the day on theory, 45% exercises), the second is dominated by practical application (40% theory, 60% exercises).
Course Objectives
- Value the principles behind agile manifesto and its approach to software development
- Appreciate the roles within an agile team
- Understand how to contribute as an agile team member to quantifiable requirements
- Apply Whole Team quality methods to ensure acceptance criteria are met
- Appreciate the importance of effective Iteration Reviews and how to contribute to continuous improvement through retrospectives
Agile Product Management - Growth Marketing
21 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at marketing executives who wish to understand how to leverage Agile frameworks to optimize growth marketing strategies, create customer-centric products, and achieve scalable growth.
By the end of this training, participants will be able to:
- Understand the key frameworks used in agile product management.
- Analyze the potential demand for new products and services.
- Learn how to price new products and techniques for tuning value.
Agile Software Testing with Continuous Integration
28 HoursAgile Software Testing is a series of testing practice that provides feesback to software quality issues in a timely and continuous manner following the principles of agile development.
Continuous Integration (CI) refers to all developers in a team merging their work several times a day.
Agile Software Testing Overview
7 HoursThis course provides a brief introduction to Agile software testing. It deals with foundational test concepts, within the context of Agile (Scrum) development and uses Crispin & Gregory's (More Agile Testing, 2014) Agile Testing Quadrants model as a framework to explore contemporary principles and practices of Agile testing.
Agile, TDD and Swift
35 HoursThis 5 day course is for developers who wish to write high quality iOS applications in Swift. This is a hands on course which involves writing a number of increasingly complex high quality applications. Delegates will need to have an Apple copmputer with the latest version of OS X and Xcode installed. Delegates wishing to run applications on real devices, rather than emulators, will need to be registered with Apple as iOS developers and have their devices registered.
Test Driven Development
21 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at intermediate-level software developers and QA engineers who wish to adopt and master TDD principles and practices to improve code quality and development efficiency.
By the end of this training, participants will be able to:
- Understand the principles and workflow of Test-Driven Development (TDD).
- Write effective and maintainable unit tests.
- Utilize mocking frameworks to create comprehensive test scenarios.
- Apply TDD as a design tool to create robust and flexible code.
Ansi C for Embedded Systems
14 HoursC programming with a focus on how to use it for Embedded System Developments.
Introduction to C++ Programming
28 HoursIntroduction to C++ Programming Training Course Information
Create, compile, and run C++ programs. Perform traditional programming operations. Write classes to produce maintainable projects. Manage dynamic data reliably and efficiently
Unit Testing with C
35 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at software testers who wish to use C programming to create unit tests for C code.
By the end of this training, participants will be able to:
- Use unit testing frameworks in C to produce unit tests.
- Script custom C unit tests and add them to a call list.
- Simplify the process of debugging and refactoring code with test-driven development.