• Course: TDD for Embedded C++
  • Date entered: 2018-10-29 11:08:54 UTC
  • Course rating: Excellent
  • Most useful learnings: To construct software one step at a time by determining what each step should achieve, write a test to prove it and then implement it thus resulting in a system that is fully tested and always works as intended. This is the basis of true incremental development.
  • Concepts v exercises: Good balance
  • Presentation v discussion: Good balance
  • Course improvements: I thought that the materials and approach worked well, but given that some people on the course complained that this approach would slow them down, maybe there is a way to address this concern?
  • Exercise rating: Excellent
  • Exercise improvements: I thought that the exercises were very good at getting across the core concepts.
  • Instructor comments: James is a good presenter who knows his material well and has the experience to back it up (with examples and anecdotes). He is easy to listen to and engaged with the attendees well. I think that everyone was attentive and interested.
  • Better prepared: Much better
  • Start tomorrow: I will certainly be encouraging the team to apply these techniques to improve the quality of our test code and of our production code. I will also be discussing the most appropriate recommendation for the wider software team.
  • Challenges to applying: The main challenge is ensuring that techniques for improving code testability do not impact the efficiency of the production code that runs on the target device. The initially daunting prospect of figuring out how best to extract software modules for independent testing is another (although the approach to this was helped by the workshop part of the course which got the process started).
  • Other comments: There were questions about industry examples of where this approach has been seen to be successful. Certainly the approach is something that individuals do to be better at their development, but it would be good to know if there are any examples of where this has been applied successfully in an embedded environment. This is more of an informational thing rather than a course comment.
  • Legacy code workshop: Yes
  • Recommend to others: Yes
  • Quote permission: Yes