When starting an engagement with an offshore Drupal agency, it can be difficult to determine whether the agency has the capability and maturity to successfully address your needs. One way to avoid project failure is to ask the hard questions up front.
We’ve put together a list of some of the questions you should ask your potential partner, based on what our current partners had asked us (and the answers we gave them).
1. How have you worked with agencies in the past?
Ultimately, the key to a productive agency partnership lies in whether agencies are able to focus on partner success. Drupal agencies need to invest the time and effort to get to know their partners’ business as well as industry, their challenges and desired outcomes. Without this understanding and commitment, any partnership is unlikely to produce a high return on investment.
Consider whether the agency in question is able to communicate openly, filter out a clear picture of their partner's objectives, efficiently manage the knowledge transfer, and tailor processes to suit partner needs. Agencies should be able to take a methodical approach to understanding project needs, anticipating roadblocks and making appropriate adjustments to minimize risk.
|Axelerant specific: As a support partner with a strategic focus on agency support, everything we do has to be aligned to agency priorities. Our modus operandi is freeing up agency resources with success-focused delivery services and staffing.
We begin by introducing stakeholders to our Success Management framework where processes and desired outcomes are explored. This is followed by a review stage which allows for knowledge transferring of technical and functional specifications, methods, deployment workflows, and best practices. Then, per the agency's needs, we customize operational processes and prepare schedules and reporting so we're ready for work requests.
On a daily basis, Axelerant classifies work as either project or support tickets for agencies:
- Project tickets (enhancement tickets) would include anything that can be identified as subtasks, tasks, stories or epics pertaining to large or small “new feature requests,” “change requests” and “preventive actions.” These are scheduled via release planning and requests of this nature are resolved within a mutually agreed release cycle.
- Support tickets include anything that can be identified as corrective, as in bugs and security or software updates. The timely resolution of these support tickets is ensured within mutually agreed resolution times, as specified via the Service Level Agreement (SLA), which is finalized at the conclusion of a collaborative workshop.
2. Where have you found successes? What about failure?
Speaking to Drupal agencies about their past successes and failures can tell partners a great deal about their experience and level of maturity. It can help partners understand the strengths and weaknesses of the agency team, how effectively they are able to communicate with partners, take ownership of partner concerns, and resolve challenges along the way.
The right agency should have experience, discipline and multiple case studies showcasing their expertise in the areas that matter most to partners.
Axelerant specific: The typical challenges we face in our projects are organizational changes on the client side, getting timely feedback, and customer buy-in to adhere to certain agile processes. Further: inherited large technical debts from legacy systems, lack of single client-side product owner, too many unplanned tasks, and a lack of budget for automated Quality Assurance.
Our success lies in collective responsibility and proactive collaboration with our partners to overcome challenges while focusing on their success. The dedicated Axelerant Success Manager takes accountability by proactive single point coordination while identifying all risks associated with high-level objectives and coordinating with relevant stakeholders for the efficient execution of risk mitigation and goal planning.
Partnership success requires the holistic process of aligning needs and expertise with that of our partners through communication designed around finding out “why.” In essence, we're getting behind their purpose too, which leads to a successful plan. This shared purpose or shared understanding is what helps keep team members aligned more efficiently.
|Defining our shared purpose begins with understanding key drivers behind our partner’s global delivery or outsourcing strategy. The shared perspective, jointly identifying the right partner strategy, aligns with strategic business goals and we execute what’s needed from preparation to operations—from transition to the steady states.
In a nutshell, we strive to:
- Adequately plan and manage outsourcing process
- Establish an efficient governance process
- Manage the potential commercial and legal risk
- Obtain sufficient knowledge and insight in outsourcing
- Maintain control and tightly link all activities to the objectives
3. What’s covered in your typical onboarding process, and how long does it take?
Agency onboarding must be set up to adapt to partner needs and put the right frameworks in place to help drive partner success. The process should introduce key stakeholders across both teams, enable knowledge transfer, establish a clear understanding of the partner’s vision as well as strategic priorities, short term and long term goals, and expectations, and also set up tools and touchpoints for communication.
Axelerant specific: A complete onboarding for a new partnership engagement may take up to two weeks, depending on the expectations and schedules of all stakeholders involved. Onboarding activities typically cover:
- Formal Kickoff:
- Who: Introducing primary stakeholders and team involved from both sides
- Why: Confirm understanding of the vision behind the engagement
- What: Confirm understanding of goals and priorities in the engagement
- Presentation and agreement of processes and tools
- Mutual agreement of success metrics
- Technical Onboarding:
- Grant of access credentials and/or exchange of credentials where applicable to allow replication of development ecosystem locally
- Definition and mutual agreement of development and deployment workflows
- Process Educational Onboarding:
- Grant access to relevant stakeholders to the communication, process tools as needed
- Information provided to most important communication processes, touch points, setting up check-in cadence
- Setup and walk through of tools involved within the engagement.
- Ongoing Continuous, Proactive support:
- Onboarding for any changes while in execution coming from joint retrospectives as a part of continual service improvement
4. Who will the main point of contact (POC) be and how frequently can we meet?
Agency partners need a single point of contact whom they can connect with weekly to spearhead the project, review progress and address any concerns.
Not only does this help to streamline communication, it also ensures that there is a dedicated team member proactively looking out for partner needs and priorities, understanding their long term goals, and always keeping their best interests in mind.
Axelerant specific: At the start of the engagement, weekly calls will be set up with your dedicated Axelerant Success Manager (SM). This SM is specifically assigned to you and they’ll serve as your main point of contact if you need to address project or talent concerns if any. Depending on the engagement’s status, the frequency of these calls can be reduced from weekly to biweekly after six to eight weeks into the engagement. You'll also be assigned a Project Manager (PM) who is responsible for project health, and who functions as your secondary point of contact.
5. How can we ensure time zone collaboration?
Collaborating across multiple time zones requires teams to have effective strategies and communication tools in place. Not only that, it also requires teams to have much more clarity and discipline than co-located teams. Expectations (from team members) and communication standards need to be set clearly, and frequent check-ins should be encouraged.
Axelerant specific: For more than 10 years, since 2005, we have collected learnings on how to successfully collaborate with our clients across multiple time zones, backed by our fully-distributed team and our current approach to global hiring.
- Rotation Options: we can share the burden of 24/7, isolating overlaps together
- Goals For Consistency: we strive to schedule meetings in rhythm for continuity
- Tools As Needed: use as many collaboration tools as needed, always optimizing
- Overlap Gains: calls are valuable, we absorb and record everything as needed
- Meetups: team syncs, pre-established onsite or offsite rendezvous schedule
- Impromptu Travel: possible, partner need-based
6. How can we ensure long-term, high-quality technical skill availability for our partners?
Agencies are best positioned to provide high quality talent to support their partners when they have a culture and ethos that values team member growth; team members who are happy and fulfilled are more likely to be driven and engaged.
To effectively meet partner needs, agencies should also have ways of ensuring that sudden developer unavailability due to illness or other circumstances does not impact project success. This may mean maintaining a certain percentage of bench cover with each project, or other such ways of protecting partner interests.
|Axelerant specific: Our approach to hiring less than 1% of all applicants and also our approach to caring for growth and advancement of hired staff ensuring highest levels of engagement speaks for itself with our low attrition rates and how knowledge sharing loss is aptly minimized.
Our Talent Management Framework:
- Interview & Onboarding: During this phase, you’ll review our suggested talent according to your preferences. If you’re happy with them, they can be onboarded to your tools, techniques, and processes
- Integration On Acceptance: With your staff member acceptance, they’ll be ready to integrate with your team just like an employee. And while Axelerant people mainly work remotely, on site visits can be arranged.
- Continuous Output: And if for some reason you’re not completely satisfied with who you’ve been paired with, we’ll discuss options with your success as our priority. We maintain continuous bench strength to take on work, and have standing resources ready to start at a couple weeks’ notice.
- Engagement Tailoring: Communication frequency, the right selection of communications tools (e.g. Slack, Skype, Hangout, Basecamp, etc.), utilization and productivity reports with as needed frequency.
- Collaborative Success Planning: Utilization dips, talent concerns, cost model dis-alignment with dynamics, risks.
7. What’s your QA process and how is it weaved into your development process?
Drupal offshore agency personnel have their hands on work that directly impacts the success of end-clients. QA engineers need to ensure standards are adhered to from beginning to end. Software testers have set up and use an agile framework to provide stability at every stage of development. The success of a delivered product is its quality, and time to market (TTM).
Axelerant specific: Quality Assurance isn’t an afterthought, it comes first and foremost. Our QA Engineering team is involved from the start of a project to review requirements in detail and to visualize the scenarios to be tested. Beyond this, our QA Engineers work with the team to develop acceptance criteria for User Stories. Our QA team is also well-versed with Drupal’s admin interface, to test the content related scenarios, taxonomy, content types, and configurations. General outlining:
- Pre-Iteration, Sprint Zero Plan: After gathering the initial requirements, during the pre-iteration or sprint zero phase, our QA Engineers create a test plan which broadly covers objectives, project description, test scope, and test strategy—this is updated and refined with every sprint iteration. The test plan is further reviewed by all other stakeholders.
- Test Cases Created & Classified: After the requirements are baselined, test cases are created covering positive and negative scenarios which are then reviewed with Project Managers and the development team. Test cases are further classified into manual vs automation.
- Scripts, Functional Testing, API QA: The development team along with QA ensures that the Behat scripts for functional testing of Drupal sites are created and executed. We use Selenium and other API testing tools when required. These automated scripts are used during regression testing.
- Bugs & Issues: These are reported on our issue tracker via JIRA, with appropriate bug reproduction steps, expected result, actual result and screenshots, etc. Bugs are reviewed by the team and are classified based on the severity (e.g. Blocker, Critical, Major, Minor etc.).
8. What about security? How do you protect data?
It goes without saying that agency teams should adhere to industry best practices, and have systems in place to prevent unauthorized use of any partner or end-client data. They should also be willing to sign a non-disclosure agreement (NDA) and work in accordance with their partner’s security practices.
Axelerant specific: Axelerant employees follow active policy to prevent unauthorized use, access, disruption, modification, inspection, or recording of any data or information. And in addition to this, the team adheres to the procedures our partners specify as standard practices.
When it comes to code, we’re committed to writing according to industry best practices in compliance for maintainability and security. Specifically for Drupal, we follow coding standards that include recommendations on designing applications foremost with security in mind. We use appropriate Drupal API to protect against common attacks such as XSS, CSRF, and SQL injection. Our coding practices also prevent common privilege escalation scenarios.
Each person also signs an NDA and we work with the client’s security procedures, ensuring that we have restricted physical access to their servers and other hardware assets. We also use VPNs to access infrastructure in as secure a manner as possible.
9. What does your documentation process look like once work is completed?
Proper documentation can simplify communication and prevent issues from occurring at the time of transitioning the project, saving valuable time and money. Agency teams should be willing to take ownership of providing project documentation up front, and have clear answers to what is included.
Axelerant specific: The key activities taken up as a double measure to ensure a smooth transition by documentation upon completion of work are:
- Gathering and providing up-to-date project records
- Technical Documentation - Application Architecture, Schema, Server Architecture, etc.
- Requirements Documentation
- Release Notes
- Test cases, test plans
- Reports - Bugs and closures
- Disseminating any other information to formalize acceptance of work delivered and performing closure that includes but is not limited to
- Hours consumed report with original estimate versus actuals and billables along with approved change request tracker
- Feedback forms sent to gather information on what’s appreciated and areas of improvements and measure satisfaction
- Request for call schedule to discuss any open questions or training needs
- Request formal acceptance of closure of work
Agencies need better answers so clients get the best.
With globalization in full force, and geography no longer a limitation, the choice of the right Drupal partner is more critical than ever to partner success. But a successful partnership requires more. It requires constant communication to keep all stakeholders on the same page. It requires a partner with the ability to handle any sudden changes in requirements, through effective processes and planning. It also calls for a partner with a determined focus on customer success, and a close understanding of clients’ desired outcomes.
Spending time thoroughly getting to know an agency before choosing them as a Drupal partner may save clients a lot of trouble later on, as it might prevent them from onboarding a partner that fails to deliver when needed.
Nathan Roach, Director of Marketing
Germany-based consumer of old world wine and the written word. Offline you can find him spending time with his wife and daughter at festivities in the Rhineland.