Why Project Managers Need to Know Drush

There is always a big, well maybe not so big, debate as to how technical a project manager should be.  Some agencies hire project managers who are former developers and could really complete much of a project themselves if they needed to, and some agencies hire project managers that have strong leadership and business skills, but offer very little in the way of actual development.  Both of these practices work, but they both require much different structure in terms of support underneath the project manger.  For example the more technical your project manager is, the more flexible an agency can be with the staff of developers underneath them.  These developers can be directly supervised by a project manager that has solid development or technical skills.  Having a project manager that has limited technical skills requires a bigger support structure for each team.  Developers are going to have to be able to quickly answer questions, and work with the project manager so that they can have a quick turn around to the client.  If the project manager has to pass every technical question down the line, customer experience can be negatively impacted, and that is some thing to be cautious of.  

Beyond a working knowledge of Drupal, which I hope is standard, there are two things that every project manager needs to understand, at least a little bit, to be effective and to best serve the customer.

Command Line

You don't have to be a command line wiz here, but you need to understand the basics.  This would include changing directories, listing directory contents, and understanding file permissions.  You need to be able to navigate through a clients server, check permissions and do a little bit of basic troubleshooting.  From there you have the ability to see if servers are even responding, check credentials that are given to you by a client, check domain and DNS issues that might arise.  The more you can understand here, the more likely you will be to get all of the information from the client prior to sending an issue to a developer.

Drush

Once you have that basic command line knowledge squared away, you can use Drush, and let me tell if you aren't using Drush you don't know what you are missing.  At LightSky our Project Managers are typically the ones who manage our update agreements with clients.  They are the ones notified when updates are available, and they are the ones who typically run the updates.  Occasionally they will run into a snag, but that is what developers are here for.  This not only means that our clients can get these updates a bit quicker, but it also means that our dev time can be freed up for more complex tasks.  Our project managers can solve a lot of issues by being able to clear a cache in Drupal, or install and update modules and core.  And all of these tasks are far easier to do with Drush than with the standard Drupal interface.

Basic command line skills coupled with a good working knowledge of Drush can take your project management to the next level.  For me the change has been pretty drastic.  If everyone leaves for lunch, and I get a phone call, often I can have a fix started before the developers return, and sometimes a head start makes a big difference to your clients.  

What technical tools to your project managers use on a daily basis, are they all comfortable at the command line?