James Sansbury and Joe Shindelar walk through everything you need to know about working with the Features module through the Drupal user interface as well as with Drush shortcuts. They'll show you how to get your site configuration settings out of the database and into code, and walk through some deployment workflows by using Features and the distributed version control system of Git.
They'll explain the code that's created by the Features module, and show the tools that are available for detecting features overrides, recreating features, reverting features, and exporting variables with Strongarm. They'll also walk through some best practices for managing the development on Features among a team of developers and show some of the common ways that features conflicts occur and how to resolve them. They'll show you some examples of adding example code to your exported Feature modules, as well as how to make configuration from your custom modules exportable by integrating it with the CTools Export User Interface API. Finally, they'll show you some developer productivity tools and other useful Features modules that are available on Drupal.org.
For an introduction to Drush, you can check out our Introduction to Drush series.
You can take a look at some of the example code used throughout this video on GitHub: