Engineering Practices Overview
Engineering software to have a long useful life requires know-how and skill. Three of the critical engineering skills needed to build great software are:
- Test-Driven Development
- Refactoring
- SOLID Principles of Object Oriented Design
Test Driven Development is a powerful technique for building software, all kinds of software, even embedded software. In our TDD courses you will learn how TDD helps overcome many of the challenges faced by all developers including: buggy code, messy code, unpredictable schedules, and the problems that follow.
TDD helps you get the code working in the first place and then keep it working by making the cost of retest nearly zero. The tests become a safety-net that allows you to refactor your code without paralyzing fear so you can keep it clean for a long useful life.
In the skilled hands of an experienced test-driven engineer, TDD leads to better designs, towards more object oriented approaches even when programming in C. To help build your design sense, our courses teach some valuable design principles. The underpinning in SOLID principles helps guide engineers to better designs that are more modular and loosely coupled.
To get your team off to a good start, we recommend hands-on training courses followed by a legacy code workshop. You don't have legacy code yet? Great news! Then we recommend our walking skeleton workshop to follow the hands-on classroom training.
Latest News
Conference Video - Deep Stack – Tracer Bullets from ADC to Browser
A blank page can be very intimidating, even for a Test-driven developer. Where do we start? Write a test, right? Not always.
more...Podcast on Agile Amped
Here is a short interview with James about TDD and embedded software from the deliver:Agile conference last spring.
more...Programming Research -- Please Participate
Do you have some time to do a simple programming problem in C or C++ for my research?
more...Clean Coders IoT Case Study
My long-time good friend (Uncle) Bob Martin and I have fun programming together firing tracer bullets for distributed water pressure measurement system.
more...Books
James is the author of Test-Driven Development for Embedded C.
Have you read Test-Driven Development for Embedded C? Please write a review at
Amazon
or
Good Reads
.