TDD for Embedded C
2018-04-27 14:48:17 UTC
Most useful learnings:
The application of TDD and Agile specifically to the Embedded C environment, such as decomposing the software into non-hardware specific components so that it can be tested in a Windows (or Linux) environment.
Concepts v exercises:
Presentation v discussion:
I think switching the order of the presentation, doing the Agile part first before the TDD part, may help put everything into proper context better. I, like some others in the class, initially found the TDD methods seemingly a waste of time. Why build the code before implementing a function if you know it will generate a linker error, etc. I think having the Agile discussion first will better prepare the students by first introducing the concepts of evolutionary development, continual software improvement, etc., which in turn puts the TDD ways of doing things into better perspective.
Like most exercises in courses like this, it is a bit overwhelming to be presented with new knowledge, then be able to apply that knowledge immediately to an exercise with little time to absorb and understand that knowledge first. Perhaps a little bit more details about the various parts of the project code and what they do first may be helpful.
James is well known in the fields of Agile and TDD. Part of the reason I signed up for the class is because a colleague (who also attended the class) has previously read one of his book and wanted to attend the class in person.
No. I am working with Legacy code and am too late into the delivery schedule to introduce TDD and Agile now, which will initially slow things down. But I do plan on applying the TDD and Agile techniques into my next project.
Challenges to applying:
Not too many people in my group are sold on the TDD/Agile methodologies, especially project management. It will take some time to convince those people to change over.
Legacy code workshop:
Recommend to others: