What is a second generation configuration management tool?
Page xiii of The DevOps Handbook refers to John Willis characterizing Luke Kanies' thoughts on configuration mangaement as "second generation CM." But according to https://www.cmcrossroads.com/article/cm-generations-and-vision-future there are four generations of CM. This may or may not be compatible with what John Willis hand in mind, but we do not see how Luke Kanies' vision could be the second oldest of the four generations. We look forward to more sources defining different generations of configuration management tools (such as Docker, Puppet, Ansible etc.). Clearly configuration management has evolved over the years.
Configuration management is very important for managing codebases and for DevOps in general. Fred Brooks, the author of The Mythical Man-Month, envisioned a Configuration Manager as a code librarian (according to page 221 of The Cathedral and The Bazaar). GitOps is taking CM principles and making them a way that we communicate. To learn more about communication structures in business and how to reconcile Conway's Law with the DevOps movement, see this posting.