• Course: TDD for Embedded C
  • Date entered: 2018-04-27 14:48:17 UTC
  • Course rating: Very Good
  • 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: Good balance
  • Presentation v discussion: Good balance
  • Course improvements: 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.
  • Exercise rating: Very Good
  • Exercise improvements: 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.
  • Instructor comments: 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.
  • Better prepared: Much better
  • Start tomorrow: 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.
  • Other comments:
  • Legacy code workshop: No
  • Recommend to others: Yes
  • Quote permission: Yes