Challenges of Fixed Goals in Agile and Scrum Frameworks
When External Dependencies Are Involved
Introduction
My experience working with Scrum has been generally positive. It's a framework that fosters collaboration, transparency, and continuous improvement. Having worked with various teams, including my current role at BBC iPlayer, I've seen how effective Scrum rituals like daily stand-ups, retrospectives, and sprint reviews can be for improving communication and iterating on processes.
However, there’s a recurring issue I’ve encountered: external dependencies. When dealing with third-party integrations or waiting on other teams to deliver their part of a project, Scrum’s fixed goals can quickly become a stumbling block. This blog post reflects on my experiences with Scrum, where dependencies have complicated what would otherwise be smooth, incremental progress.
The Benefits of Scrum
I've seen first-hand how Scrum can enhance productivity through:
- Improved Collaboration: Daily stand-ups help keep everyone aligned and aware of progress. They also act as early warning systems for identifying blockers.
- Transparency: With tools like sprint boards, it's easy to visualise tasks and stay aware of their progress, even when working with large-scale systems.
- Continuous Improvement: Retrospectives are valuable for uncovering what went well and what could be improved, leading to meaningful changes in workflow.
These advantages have been evident in my projects, where communication and transparency were pivotal for successful delivery. But this approach can also expose the limitations of Scrum when external dependencies are involved.
The Problem with Fixed Goals and External Dependencies
Working with external dependencies can introduce various challenges:
- Delays Are Common: External parties often have their own timelines and priorities, which may not align with your sprint goals.
- Workflow Disruption: It's frustrating when your progress is halted, not by your own productivity, but by waiting for others to deliver what you need.
- Compromised Quality: Pressures to meet sprint deadlines can result in compromised quality, as teams might be forced to push through incomplete features to avoid falling behind.
This misalignment between Scrum’s structured approach and the unpredictable nature of external dependencies is something I’ve grappled with more than once.
Practical Solutions for Improved Agility
Through my experiences, I’ve found some approaches that help mitigate these issues:
- Focusing on What Can Be Controlled: When dependencies are blocking progress, I’ve found it helpful to pivot to tasks that can be independently completed.
- Improving Communication Channels: Regularly updating stakeholders and external teams helps to align expectations and avoid miscommunication.
- Utilising Collaborative Tools: Tools like Jira and Slack have been instrumental in bridging communication gaps between teams.
- Splitting Stories: If a dependency is likely to cause a delay, breaking down tasks into smaller pieces can help maintain productivity.
- Maintaining Flexibility: Adapting goals mid-sprint when dependencies remain unresolved has proven effective in keeping momentum.
Fictional Example
Imagine a project where a team is building a new feature for a streaming platform ('StreamFlex') that relies on integrating a third-party recommendation API. The team plans a sprint to build the interface and connect the API. However, delays from the API provider cause the team’s progress to stall.
Frustratingly, instead of simply pivoting to a different task, the developers end up building a mock API to simulate expected responses. This unnecessary work results in duplicated effort, as they must later refactor and integrate the real API when it finally arrives. Valuable time and resources are wasted because of the rigid commitment to the original sprint goals, rather than adapting to the changing circumstances.
What could the team have done is fully embracing flexibility, the team could have immediately pivoted to other high-priority tasks unrelated to the API, maintaining productivity without the wasteful effort of building a temporary mock API. Adjusting sprint goals to focus on what can be controlled is essential for avoiding inefficient workarounds and making the most of available resources.
Conclusion
Scrum has been instrumental in enhancing productivity and collaboration in my projects, but it’s not without its challenges. External dependencies can disrupt even the most well-planned sprints when goals for the sprint are fixed. Learning to adapt, communicate effectively, and focus on what can be controlled has been essential in making Scrum work despite these obstacles.
My Technical Skills

AWS

JavaScript

TypeScript

React

Next.js

Cypress

Figma
