🔁 SEO and Agile Iterations
3 case studies to show how understanding agile iterations can help SEOs work with Devs
The SEO Sprint is a fortnightly newsletter that provides tips, guidance and advice on SEO Product Management and working with development teams.
I think understanding agile iterations is critical to understanding how SEO specialists can approach talking to development teams about getting projects implemented.
Iterations are the backbone of how agile delivery works.
In this newsletter I wanted to answer a few questions:
What are agile iterations?
Why are agile iterations important?
How can SEOs use iterations to get things done?
I will try to answer each of these questions with SEO examples where possible to keep them relevant.
⚙️What is an iteration?
An iteration is the “engine” of how agile works it means:
“An agreed fixed-length time-box that teams use to discover, deliver and test a small incremental change to a software system. The team then repeats this cycle at regular intervals until project outcome is achieved which solves both user and business problems.”
An iteration is just a term used to describe a set of repeated practices that a team uses to collaborate and break down technical projects into smaller prioritised parts that can be released within an agreed fixed time-box.
An iteration is broken down into four core parts:
Discovery – The team aligns on which high-value tickets need to be completed.
Delivery – The delivery team works on completing the agreed high valued tickets.
Testing – The team tests tickets based on agreed criteria and releases them if passed.
Feedback – The team gathers feedback to make sure the release provided value.
The cycle of doing iterations repeats until the value of a project is delivered and an outcome is achieved.
✔️ Why are iterations important?
A team that practices agile will use iterations that can help:
Reduces risk - The team won’t focus too long on building the wrong system changes or spend a lot of time not getting feedback.
Focus on value - The team will repeat the cycle in small releases until the system achieves the high-value outcome.
Reduce waste - Delivery teams don’t waste time focusing (and resource) building features or products with no value.
Alignment - Both developers and business stakeholders are aligned on what is being built.
🚧 Iterations, SEO and Development Teams
There are three important practices that product teams use that any SEO should consider when approaching development teams.
🤏 Practice 1: Turn SEO initiatives into smaller releases
A critical part of iterations that SEOs need to understand is the release cadence of a business.
At Intercom, the team call shipping code releases the “heart-beat” of any company.
It’s critical that SEO specialists understand how to break down large technical projects into high-value tasks that fit into “time-boxed” iterations just like successful product teams.
Turning large and bloated initiatives like this…
…into smaller parts so the development team can fit them into releases.
💼 Case Study - Release Cadence and Iterative Increments
In 2021, I worked with a large international client who had a number of internal linking, index bloat and page structure problems holding the website back.
After discussing the audit with their development and web team I understood that not all the priority SEO initiatives would be implemented from the audit (no surprise).
However, after further discussion with the development team, I quickly understood more about the release cadence (once a month) and resource constraints.
I worked with the development team to further prioritise tasks within initiatives that could be implemented over 3 releases (March, April and May).
The discussions with the development and web team involved discussing the size and requirements of each task during the planning stage. The goal of these discussions was to slice tickets into smaller parts that could fit the release and resource constraints that still had value to the SEO strategy.
I communicated to the business that the benefit of the changes would take 3-6 months. As you can see from the Ahrefs graph below the website has been slowly growing over the last 6-9 months.
Bottom-Line: Try to understand the code release cadenence and resource constraints of your development team.
As an SEO trying to get strategic iniaitives implemented ask yourself these questions:
Do I understand the release cadence or resource contraints of the development team?
Did I discuss the size of my SEO iniaitive or tasks with the development team before “offically” sending them over?
Can your SEO tickets be sliced into smaller tickets but still add value?
🛣️ Practice 2: Prioritize High-Value Initiatives
Prioritization is the continuous art of reducing waste in the backlog and keeping the team focused on high-value tickets. A critical part of the iteration engine.
Successful product teams use prioritization frameworks and roadmaps to help visualize initiatives for developers during planning phases.
To maximise the chances of SEO initiatives getting implemented SEO specialists to need to learn to only work on speaking to developers during the SEO strategy and planning phase.
This habit of grouping tasks into strategic initiatives and splitting SEO recommendations down into smaller parts will give the tasks more chance of fitting into “releases”.
💼 Case Study - Prioritizing Outcomes Not Actions
A client approached me with a JavaScript website that was having a number of crawling and indexing issues.
I conducted a small crawl and index audit which identified a number of prioritised actions that were grouped into impact and effort categories.
There were a number of actions that could have been implemented BUT the key outcomes that needed to be achieved were:
Reindex Important SEO Pages - Important pages need to be persistently indexed over 90 days (not in the Error report in GSC).
Improve crawl coverage - Googlebot needed to increase the crawl coverage of HTML pages (reverse the gradual decline).
I worked with the developer to focus on iterative solutions to achieve the outcomes, rather than focusing on the “high-impact and high-effort” action straight away.
Instead, we focused on the high impact and low effort tickets being completed to achieve the key outcomes. An exploration ticket was created for the developer to investigate the error handling of the app.
The developer identified the problem and implemented a fix to stop the app from crashing and improved how the app handled server errors in late Nov-21.
Since the error handling was fixed the results over the last 90 days has shown a decline in errors flagged in Google Search Console…
…and an increase in Googlebot crawl coverage of the website:
Focusing on the outcome rather than a big costly release helped fix a technical SEO issue quickly and increased both crawl and index coverage on the website.
Also, since the error handling was fixed the client has noticed that new pages are being crawled and indexed within days rather than weeks.
Bottom-Line: Try to group your technical tasks into SEO initiatives and prioritise the tasks within those iniaitives based on impact and effort.
The ICE or RICE prioritization framework are popular methods.
Once grouped into prioritises ask yourself these questions:
Did you discuss with the developement team the level of effort for initatives or tasks? Did anything surprise you?
Do you place emphasis with developers on a task being completed or an outcome being achieved when high-value tasks are completed?
If you discussed the initiatives with developers, did you negtiate and understand the level of effort an SEO iniaitive would take?
🧑🤝🧑 Practice 3: Discover Tickets with Developers
Discussing and negotiating tickets is one of the most important practices when working with development teams.
Successful product managers and developers learn to discuss each user story before it makes it into the backlog to make sure that developers understand the requirements and build solutions to solve that problem.
These discussions are about:
Owners – Discuss the ticket with the developer(s) who will be making the changes.
Collaboration – Working as a team to ask questions, size and review the ticket.
Alignment – Making sure developers understand the requirements needed.
Reducing Waste – Identifying if the ticket needs to be broken down into small tickets.
Outcomes – Make sure the developers understand the outcome(s) expected once the ticket is released.
Remember this is about collaboration and negotiation.
Not everything you recommend can be implemented or out of scope but the earlier you have these conversations the less waste you’ll add to the backlog.
💼 Case Study - Discovery and Collaborate on Tickets
When developing a technical SEO strategy for a client, I put together a business case for the client to improve their Core Web Vitals metrics.
The project required that the front-end React.js app be migrated to a Next.js framework. I was the SEO lead on the project, as well as 2 senior developers.
It required completely changing the front-end of the website and making sure all other backend systems worked.
After 6 weeks the project was tested and released to production, the results were:
+17% increase in mobile conversions YoY
+100% Good URLs after 25 days
+100% improvement in LCP from 3 secs to 1.5 secs
+100% improvement in TTFB from 1 sec to 500 ms
+650% improvement in CLS from 0.15 to 0.02
The Core Web Vitals in Google Search Console after launch:
How did I achieve all of this in a short space of time?
I collaborated with the developers and created a development strategy. Then made sure everyone was clear on the outcomes, the definition of done and the requirements of Project Speedy (cool PMs name their projects).
Then used the iteration process to release small bits of the project each week onto the staging environment and worked with the team to test the code thoroughly before launch.
This requires experience and A LOT of practice.
HOWEVER, anyone can do it. It just requires rolling up your sleeves and having a lot of conversations with specialists to achieve an outcome. Then, always meet up frequently to make sure they understand what your asking them to do. Then have a clear testing strategy based on your conversations and understanding.
No matter how large or small the SEO task a discussion with developers before delivery is essential to reduce waste, increase productivity and hit deadlines.
Bottom-Line: Talk to your developers before you throw tickets over the wall.
Documentation does not equal understanding. If developers are not doing what you are asking perhaps the problem is confusion around the ticket itself.
When writing tickets for developers ask yourself:
Do I have a regular meeting with developers to discuss SEO tickets before they are added to the backlog?
Do I include an email address or an easy way for developers to quickly ask questions about a ticket if it is not clear?
For large SEO iniaitives have I made it clear the beginning, middle and end of the project? How do they know it is complete?
📌 Summary: SEO and Iterations
The key things to take away from iteration mechanics and SEO is:
Think in release cycles: Try to review and slice SEO recommendations into smaller but valuable tasks that fit into your code releases.
Prioritise high-value tickets: Use prioritisation frameworks to prioritise small tasks based on effort and impact. This will help slice up recommendations to get releases into smaller release cycles.
Discuss tickets: Discuss SEO tickets with your development team before they are added to your development backlog. This will help align on requirements and reduce errors.
🔗 Further Reading
Below are three pieces around iterations and agile if you wanted to read further:
Iteration Mechanics – A short video on how iteration mechanics in agile.
The Importance of Agile Release & Iteration Planning - A short article on iterative planning and agile releases.
Three drawings I use to explain agile - A very good article that explains the benefits of agile (including iterations) using drawings.
That's it! What's your experience with working with developers and agile to get recommendations implemented?
Let me know in the comments 👇 or on Twitter!
WOWW GOOD ONE BRO!
If the developers are in the middle of a sprint, do you prepare to have items included in the next upcoming one, or just negotiate with the product owner for addition of the backlog items?
I am starting to think that being within the scrum team is an optimal consultant position: there's no reason a technical SEO can't be a developer in a scrum team working towards a relevant sprint goal, depending on other capacity.