Last year I had read the book, “The Agile Samurai”. I recently stumbled upon a companion udemy course. The course is excellent. It more or less follows the book and provides good reinforcement. It provides a really good basic introduction to the ideas behind agile software development and an easy framework to implement it. The ideas are simple and really well-explained. You could start using them tomorrow.
The major thing I took away from the class was just the overall agile mindset and wrapping my head around the process a little more. After reading the book, the course was good reinforcement. Jonathan Rasmussen does a very good job of explaining the whole Agile process in very simple terms and making it easy to understand. He also does address some of the thorny issues that come up and can sidetrack you. Now, I just need to go practice that a little more on the next project.
The other takeaway was that I need to go back and review some of the fundamental technical skills. He lists the main 4 technical skills needed for Agile Development:
- Unit Testing
- Test Driven Development
- Continuous Integration
I’ve kind of been reading and experimenting with all of these ideas over the past couple of years. I’ve read xUnit Test Patterns and the Art of Unit Testing and Fowler’s Refactoring book, but haven’t read Kent Beck’s TDD by Example or Jez Humble’s Continuous Delivery yet. I actually have a copy of both, I just haven’t read them yet, so they have definitely moved up the queue now.
The other thing I need to investigate more is something that Steve Watts has been talking about for a while and that is the language we use. Domain driven development is about aligning our language with the language our customers use and being consistent. Apparently Eric Evan’s book is the one to read there. So that has been added to my list as well. Good thing Corona Virus is keeping me indoors and giving me plenty of time to read.