Project Managing a Drupal Website

When I was in college I had a professor, Mauricio, ask me what I wanted to do when I graduated. I loudly and enthusiastically exclaimed that I was going to be a Project Manager for a software consulting company. I remember him saying "Why in the world would you want that job? A software PM is a person responsible for everything in a project with no control over any of the project resources! You should TEACH people how to Project Manage instead." Admittedly, now that I'm living my dream at 5 AM when a client inevitably has a question or runs into a workflow that I never thought of (i.e. I've trained my pet terrier to make blog posts - can you make it so the web pages post with everything translated into audio for small dogs?) I sometimes wish I had decided to take his path instead.
Project Management: What happens when things go wrong...
For all the complaining us PM types do, you'll find that most of us love our jobs and what we do. We're not business people (entirely), nor are we developers (exclusively). It takes a hybrid -- a visionary if you will; We make sure that the gap between what a client wants and what they ultimately get is as small as possible. While doing that, we make sure that developers have direction, feel valued and give them a chance to vent about "management". A good PM keeps his eye on the prize while making sure management isn't afraid of going over budget, clients aren't worried about getting value and developers have good direction and are well supported. Ultimately, we make projects happen the way they should happen. We're one part lightning rod and one part bullwhip. It is the joy of being able to touch every part of a creation that we crave, and, on launch day (and especially the nap after), it always feels worth it.
Most days, I feel like it's a challenge to even complete a project, and it's a miracle if it gets delivered on time, on budget and with the features that were requested. However, the marketplace demands that web design and development firms perform better than the traditional two-out-of-three model for factors related to time, budget, and features. The onus of living up to client expectations is being placed more and more heavily on professional services firms like Orchestra. In my opinion, this is how it should be.
Too often projects either ignore the need for a PM, or they get someone swept away by the a learning curve or the need to micro-manage project details. A good PM needs the following:
Project Managers as Team Leaders
Project managers need to be leaders in their workplace and in their profession. Many PM's are criticized for not having the chops to keep up with their dev teams or the business acumen to talk to a client about features. The truth is, you need both. If you come from the business side (like I do), you don't have to be able to talk about the intricacies of how to build and manage search indexes or the intricacies of performance tuning for cloud computing, but you do need to know what these things are and how you can use them to the advantage of your client. It's also really helpful to build trust with your development team by knowing the basics of the platform you're using, it's standards, and a good understanding of it's functionality and limitations. While you're involved in a project, developers are going to be looking toward you for guidance on how to best meet a client's needs. It's important to understand where this mindset comes from (meaning, most software engineers really just want to build something awesome), and direct that creative energy. On the other hand, if you come from a dev background you're going to be coming up as "one of them". You need to worry less about appearing to be a turncoat, and more about making sure you're able to balance management's needs with the needs of your dev team. Suddenly, instead of just delivering something awesome it's important to remember that there is a budget and a timeline as well. Both sides need to understand that project leadership comes from building trust with managers, developers, and clients. You need to be a neutral party that can help manage the inherent conflicts between the interests of all three parties. Project managers that are good leaders can often find that sweet spot where everyone goes from being mildly upset at each other to being highly collaborative and excited to be involved.
Importance of Organization
A project manager must be organized and able to respond to problems. No matter what, you are the most available person in your organization. Ultimately, the chaos and noise and destruction around you needs to be grabbed, wrestled and tamed for you to be successful. Managing your time is critical to keeping everyone else around you working in the same direction. It's important that you plan for the unexpected, and be dynamic when it comes to finding solutions for people that are struggling or need help. It helps to have a strong analytical mind and to focus on sequencing, relative progress and have a defined methodology. It really doesn't matter much if your game is agile, XP, continuous innovation or waterfall. What matters is that you have a method to manage the madness, and when problems inevitably come, you can spend your time solving them rather than just trying to keep on top of what is going on.
The Power of NO
As a project manager, your most powerful tool is your ability to say no. Largely this comes down to being able to say no to anyone, even the CEO, your client contacts, your salesmen or your developers. The trick is to rarely use the word. Really, this is more about communication than it is refusing to fulfill requests made by others. You have to be able to be tactful, professional and even a little bit manipulative. Start setting boundaries for your clients and your internal staff early. Train them before they train you. The hardest conversations to have are those where you're realigning someone's expectations of what they're getting. Remember, it is a clients job to pressure you into delivering more than you promised. It is in the interests of a developer to prioritize fun and interesting products over boring and mundane ones. Management is supposed to be worried about how much money the company is going to make on a project, and salespeople are supposed to overstate what a client is getting. Plant your flag even on the smallest of issues, know your scope and never say "no" without a follow up of what you can do to help. Eventually, after constant clear communication about boundaries, and having to say no quite a few times, others will come to respect you for being truthful and straightforward with them. Eventually, you might even get a client to say to you "I want feature x, but I think it's out of scope".
Emotions and Project Management
Project managers should be patient, empathetic and attentive. Never lose your cool. You can do more damage to a project with one unprofessional email than delaying a project six months, losing a key developer or telling a client they need to add 25% to their budget. You are in the business of trust, and any breach of that trust, either within your company or with your client, is horribly damaging. Always try to be empathetic to any situation, no matter how frustrating. There is plenty of time to vent to a person unrelated to the project or to just go into an office and scream after you've dealt with the problem. Additionally, be patient with people who are less organized and focused than you are. Not everyone moves as fast as a PM on a major project, and, if they're designing something core to your project, they probably shouldn't be. Also, as stated above - you are the most available person in your company. It is imperative that you be on top of correspondence and responsive to the needs of those around you.
Vision, Vision, Vision
Your success as a project manager is largely because of your ability to see into the future. Project managers make many key decisions that have far-reaching implications. A good PM considers how a decision made now, in step 1, will affect the project in step 3. It is your responsibility to understand the implications of your actions, take responsibility for them, admit it when you've made a mistake and offer solutions. Always try to be the first to see a problem and address it before it becomes a major issue. One analogy I'm fond of is equating project managers to the person on a raft watching for rocks downstream. A good PM sees the rock, sees how the currents are flowing, and knows how to direct those on the raft to avoid a rock without running into another one just downstream. Much like a raft, you must guide a project by keeping your focus downstream, reading what's going on, and setting the direction that everyone needs to take.
Drupal Project Management at Orchestra
My primary focus as a PM is within the Drupal community, where there is a dearth of good project managers. Working within an open-source software community stacked with developers is daunting, and it presents new an interesting challenges. Being a project manager in the Drupal community is a bit like trying to be a plumber in Super Mario Land. There are a million different paths to take, tons of traps and pitfalls, and only some pathways lead you to those really awesome secret areas where all those gold coins are stored. Managing clients, freelancers, sub-contractors, designers, theme people, module developers and implementers through the building and launch of a site is a tangled quagmire. On top of managing the people, you have to understand the capabilities of hundreds of modules, the limitations of the technologies used along with how it all fits the client's requirements and vision. However, by keeping in mind the tenets above, I've been able to keep my head above water, and even get a nice note from a client or a co-worker once in a while. I keep these pinned beside my computer monitor at my desk, so, at 3AM while stuck on a project, I can remember what makes it all worthwhile.
About Orchestra
Orchestra LLC is a Business Technology provider for small and midsize companies in Oregon, Washington, and California. We help small and mid-size businesses solve problems. Whether it be software, hardware, the web, or services, we have it in our tool belt. We understand small business and can help increase revenue or reduce cost through our wide range of products and services.
From the best business software in the world, SAP Business One, to open source websites built on Drupal and Ubercart, Orchestra can help. Ask us How.
