Is this normal? I'm being asked to do work for a company we contracted....
Is This Normal? Navigating the Complexities of Contracted Work in Software Development
Introduction
In the world of software development, the dynamics between internal teams and external agencies can often lead to confusion, frustration, and a feeling of being pulled in multiple directions. As a Software Engineer III with a solid four years of experience, I find myself at a crossroads that many developers may encounter at some point in their careers. The situation involves not only the expectations placed upon me but also the implications of contract relationships that can blur the lines of responsibility and accountability.
The Scenario
To provide some context, I’m currently part of a small development team tasked with maintaining over 300 applications ranging from full-stack solutions to console applications. Recently, our organization entered into a five-year contract with three external agencies to implement a new system. One of these agencies has now shifted some of their workload onto our team, requesting that we generate a complex report using their data, which is unfamiliar territory for us. This task is now on my plate, courtesy of my manager’s tendency to acquiesce to external requests.
The request involves transforming a complicated Looker query into a different format, creating a calendar universe around it, and ultimately exporting a subset of their data into a CSV file. Given the scale of our existing project backlog and the high-priority tasks I am already juggling, this new responsibility feels like an unwelcome addition.
The Dilemma
The crux of the issue lies in the fundamental question: Why are we, as a contracting organization, being asked to do work that we are ostensibly paying these agencies to handle? This situation raises several concerns:
-
Value Proposition: If we are paying millions over five years for their expertise, shouldn’t they be executing tasks that are within their scope of work?
-
Resource Allocation: With limited resources and a backlog of critical projects, is it reasonable to divert our attention to accommodate the needs of a third party?
-
Team Morale and Workload: What impact does this workload have on team dynamics and individual morale? As developers, we thrive on clear priorities and the ability to focus on our core responsibilities.
Approaching the Situation
Navigating this situation requires a careful balance of assertiveness and diplomacy. Here are several strategies to consider:
1. Open Communication with Management
The first step is to initiate a conversation with my manager. It’s essential to clarify priorities and ensure that the expectations regarding my workload align with this new task. By framing the discussion around existing obligations and the potential impact on overall productivity, I can articulate my concerns without coming across as confrontational.
2. Understanding the Agency’s Perspective
It’s crucial to recognize that the external agency may also be facing their own challenges. They might be overburdened with their responsibilities, leading them to seek assistance from our team. Understanding their situation can foster empathy and help me navigate the conversation with a broader perspective.
3. Setting Clear Boundaries
If the decision is made for me to proceed with this task, I may need to set boundaries regarding the time and resources I can allocate. Communicating my existing commitments and suggesting a timeline for when I can realistically take on this new work is important for managing expectations.
4. Documenting the Process
As I engage in this new task, it would be prudent to document the process, challenges, and time spent. This documentation could serve as a reference for future discussions about resource allocation and the effectiveness of our current contracting arrangements.
Conclusion
In the fast-paced environment of software development, it’s common to encounter situations where roles and responsibilities become blurred, particularly in the context of contracted work. By addressing these challenges head-on through open communication and careful management of priorities, I can ensure that both my team’s needs and the expectations of external partners are met effectively. Ultimately, fostering a culture of collaboration and clarity will not only benefit individual developers but also contribute to the long-term success of our projects and partnerships.
By sharing my experiences and insights, I hope to spark a conversation about best practices for managing external partnerships in software development. Have you encountered similar situations? How did you navigate the complexities of contracted work within your organization? Let’s discuss!