You are a Project Manager, sitting at your desk, maybe sipping a fresh-brewed coffee. Suddenly you receive a heads-up that a new Drupal Project is headed your way. Sprint 0 will be starting in the next two days.
You can assume that the SOW (Statement of Work) is signed, or almost signed, and a few SWAGs (Sophisticated Wild Ass Guesses) have already been ventured.
What’s your first move? To ask the right questions to get the ball rolling -- quickly. As a project manager, if your basic questions are not answered on time and correctly, you are not setting the project on a path to success.
Here is my list of the important questions that I never forget to raise in such scenarios.
1. Do you have a “Statement of Work” and a “Discovery” document?
It is most important to have a Statement of Work and a Discovery document as you start on the project. Both documents together should have the following details:
- Detailed scope-of-work, including functionalities, third-party integrations, training expectations, out-of-scope items, and assumptions
- Type of engagement: Fixed Bid or Time-and-Materials? Fixed Bid projects need to be completed within the stipulated time and fixed fees; whereas in "Time and Materials," you, as the service provider, invoice the client based on the number of hours spent.
- Expected Start Date & End Date
- Change-management process, in the event of “scope creep”
- Client responsibilities
- Key Performance Indicators (KPI) -- the metrics of project success. For example, “Client expects that our proposed solution will give them 1.5x leads than the existing solution.” Or, “Proposed Solr search will improve the overall search time by 10 secs.” Information about KPIs will help you, as the Project Manager, to focus and ensure they are being achieved.
- Project hand-over date and any hard stop timeline events that the client has. This will help you in project planning.
- Warranty period, and what kind of warranty support will be provided
- Project Acceptance. What is the project acceptance criteria as shared by the client? What are their expectations? For example, are they fine accepting applications with bugs of very low severity, since they are likely to have negligible business impact.
- Is the client looking for a fresh Drupal website? If their existing website is in Drupal, which version it is?
- If their existing CMS website is in another technology, then how are you taking care of migration? Is it manual?
- What are the exact details of the proposed solution to the client?
- What are the “Wow Moments” that the client is expecting? Have all of the client’s expectations been decoded properly by the business development team?
2. What are the stakeholders’ personalities?
Have a discussion with the business development team to understand the client’s personal traits, and to get advice on collaborating with them.
You should get answers to questions like, “How responsive is the client?” “How much does the client understand the technology?” “Do they understand Drupal?” “How flexible is the client team?” “How are we as an organization coping up with their pain points?” “How well does the client understand our working methodology?”
A quick interaction with your peers, who have worked with the same client in past, is always helpful and can give you more insight.
3. How comfortable is the client with your project management methodology?
Is the client well-acquainted with Agile methodology, and tools related to it? If not, how open is the client team to learn them? As a Project Manager, you should discuss this with them, to educate them to your methodology, to sell them on the benefits of this methodology, and to understand their apprehensions.
4. What resources are available for the project?
As a Project Manager, you should have fair idea of who will be working on the project. And you should be concerned with more than just their skills. You should also consider their working style, their likes and dislikes, their client-interaction abilities, typical ramp-up time, etc.
If the project involves front-end tasks, make sure you have sufficient front-end developers too.
In short, ensure that your team is a good mix of back-end developers, front-end developers, QA resources (who understand the CMS well), and senior technology architects who can give due oversight, and review the code, to maintain the quality and flag the risks that could knock the project off track.
Specific Drupal-related questions
Since the project is going to be in Drupal, make sure that as a Project Manager you have clarity on the following questions:
5. What are the third-party integrations that the client is expecting?
For example, will there be a payment gateway? Are you using a customer interaction partner like Bazaarvoice? What are the risks associated with proposed integrations, and the Drupal version you plan on working with?
6. Is the site multilingual?
In the era of personalization and globalization, usually same website will appear in different languages for different audiences. This could be based on IP addresses, or from a simple toggle on the home page. As a Project Manager, you need to know if any third-party integration is involved, if it is a paid tool, and who is going to pay for it? What are the risks involved with this integration?
Other Generic Queries
7. Are you supposed to track events?
If so, which tools are you planning to use? Are you planning to use Google Analytics, or Omniture, or something else? If you are planning to track events, what will be the tracking points?
8. If the sites are to be responsive, are you expecting two different mock-ups?
If so, what is the timeline for receiving them? You should have them for Sprint 0, or you, as the Project Manager, should raise a red flag.
9. If proof-of-concepts are required from the Technical Architect, assess his/her confidence on executing the solutions.
Does he/she see any technical risks that need to be highlighted?
10. Is your SWAG, and the project timeline, realistic, given available resources, their skill, and their vacation plans?
If you see any gaps, raise them in a timely fashion.
11. What will be the scope of automated testing?
Since Drupal Websites are content heavy, it is always good to check if you are using automation, such as Selenium or Behat, to reduce the effort from the QA side.
12. What are your, and the client’s, expectations with regard to security?
Look into the non-functional requirements and validate what the client’s expectations are with regard to security. For example, if it is a banking site, you may want to have a security QA person onboard. Discover what level of minimum security measures you are providing as part of the solution, and make sure that the client is aligned with your assumptions.
In addition to the questions above, it is your duty to get, and keep, all the stakeholders aligned during the entire project execution cycle. You should be willing to answer even the smallest query, without leaving anything to assumptions.
A project’s success largely depends on how well a Project Manager can communicate with all stakeholders, including his/her team members. This is particularly important at the start, when you should be focused on setting the right tone.