Making Progress with Iterations
It’s tempting to imagine creative work coming together in a frenzy of technical artistry culminating in “the product” (cue heavenly music and a halo of light coming from the sky). However, the reality of excellent websites is that no website starts out in its perfect form (cue record-scratch sound effect, halo blinks out, and cold, harsh reality enters the scene stage left).
We believe that iterative websites provide organizations with progress. Concepts are tested and tweaked to maximize impact and results. Iterations enable collaboration beyond our walls and into website users’ hands.
Iterations allow us to build on each other’s ideas while constructively challenging ourselves and our partners. That’s why we strive for continual improvement and growth in our strategy, designs, development, etc., to create the most effective solutions for our clients. Ultimately, iterations lead to progress—progress that leads to success.
Table of contents
What are iterations?
Iterations are short work cycles that build upon previous work to create a complete product. We prioritize progress over perfection in iterations, striving for functionally complete work with each iteration. In short, iterations help us efficiently make progress while ensuring value is consistently delivered.
The lifecycle of an iteration involves several key stages that are crucial for successful implementation:
- Determining which work to perform
- Discussing the priorities to align the team and our client on the priorities
- Implementing the work, including design, development, QA, and any other steps needed to complete the work
- Reviewing the work with our client and getting their feedback
- Combining the work with any previously completed work (and deploying it if the website is live)
- Reviewing the process of completing the work to make improvements to how we work
Each iteration is about four weeks long. There are typically 6-8 iterations for website redesigns before the work is deemed ready for First Public Release (FPR – aka website launch). For live websites, most iterations include a deployment to put the work in front of end users.
Why are iterations beneficial?
Control
Enhanced control over the project timeline and progress is one of the main advantages of an iterative approach. We include our clients in our process, constantly showing our work. This involvement helps manage expectations on progress and allows us to measure our efforts against the schedule (assuming a deadline). It also gives us more control over how much time we spend on each task, which can help us focus on achieving a final product that meets all project specifications.
On top of this, iterations create regular checkpoints for assessing progress. Having these checkpoints makes it easier to identify any areas to make improvements. This visibility allows our clients to help identify problems before they become too unwieldy. As a result, projects progress efficiently with minor rework.
Efficiency
The iterative process is crucial in enhancing productivity and efficiency. Have you heard of Parkinson’s Law? It states that work tends to expand to fill the time allotted for completion. Breaking work into smaller parts creates deadlines that minimize the effects of this law.
By dividing the work into smaller, manageable chunks, teams can focus on developing and refining one aspect of the product at a time. This makes the task more manageable and allows for immediate feedback and the incorporation of changes.
With each iteration, teams can evaluate their performance, identify bottlenecks, and implement improvements in the next cycle. The frequent reviews and retrospectives encourage continuous learning and process optimization. Further, as team members build a more robust understanding of client needs over time, teams increase their ability to deliver at volume.
Quality
Building a website with iterations can significantly enhance the quality of the final product. This approach allows for continuous refinement and improvement within each iteration. As each iteration concludes, the team can review and adjust their work, rectifying any issues or inefficiencies while they are still manageable.
This review minimizes the risk of accumulating errors or ineffective features that may compromise the website’s overall quality. Moreover, regular checks during the iteration process ensure the website stays aligned with user expectations and requirements, guaranteeing a more user-friendly and efficient final product.
Iterations facilitate a focused and detailed approach to website development, which inherently promotes a higher standard of work.
Flexibility
An iterative approach to product development allows us to accommodate changes in requirements or scope, making it easier for our team to react quickly and adapt when needed.
We can also pivot in response to unforeseen challenges or changes in requirements. This modularity allows for the quick and efficient incorporation of customer feedback or new insights gathered during the iteration.
By having regular reviews at the end of each iteration, teams can continuously learn and improve, making necessary adaptations for future iterations. This iterative approach ensures that the end product or solution remains relevant and valuable, even in a dynamic and unpredictable project environment.
With a plan tailored specifically to customer needs and wants, we can easily adjust if there are any surprises along the way. Adjustments ensure that we remain agile even when customer expectations are ever-evolving.
Communication
Communication and collaboration are central to effective iterations. We can only do the work if we are on the same page. This clarity strengthens team member relationships and our relationships with clients.
Improved communication helps ensure everyone involved understands their roles and responsibilities to stay on track and achieve success throughout each iteration. It also allows for a feedback loop, improving our ability to perform in future iterations.
Iteration Examples
Here are a few examples of how iterations could work in a client engagement. It’s hard to condense a few weeks of work into a summary, but below are two examples based on actual projects to give you an idea.
Microsite Example
One of our dedicated teams has been working with a client for a year or so. Our client has tasked us with designing a microsite for an event. The team has already completed the initial stages of work (see How We Partner with You for a Website Redesign). The work is well-defined. The event’s brand is well established, but an exciting new Homepage is needed. The broad definition of the work has been documented in the Product Roadmap. We are on Iteration 13 of our relationship, but for the sake of this example, we’ll call it Iteration 1.
Iteration 1
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Discuss priorities | Demo Homepage | ||
Client | Agree on priorities | Provides feedback | ||
Product Manager | Lead team in adding definition to priorities | Organize new items in the backlog | ||
Designer | Reviews brand assets | Creates Homepage wireframe | Designs Homepage | |
Developer | Sets up development environment | Reviews Homepage design | ||
QA Analyst | Setup test cases for Homepage | Reviews Homepage design |
Iteration 2
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Discuss priorities | Demo Registration and design system | ||
Client | Agree on priorities | Consult on Registration page | Provide demo feedback | |
Product Manager | Lead team in adding definition to priorities | Provide feedback on Homepage implementation | Organize new items in the backlog | |
Designer | Wireframe Registration page | Wireframe News section Visually inspect Homepage | Create design system | Presents Homepage |
Developer | Implement Homepage | Review wireframes | Review design system | |
QA Analyst | Setup test cases |
Iteration 3
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Discuss previous iteration Discuss priorities | Demo full site | ||
Client | Agree on priorities | Deliver final content | Provide UAT feedback | |
Product Manager | Lead team in adding definition to priorities | Provide feedback on content implementation | Organize new items in the backlog | |
Designer | Enter final content | Visual inspection | ||
Developer | Implement design system | Implement Registration and News | Remediate visual issues | Remediate UAT and QA issues Deploy microsite |
QA Analyst | Setup test cases | Full QA and testing | Monitor production site |
Iteration 4
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Celebrate Discuss previous iteration Discuss priorities | Review hotfix and issues fixed in demo | ||
Client | Agree on priorities | Gather user feedback | Provide demo feedback | |
Product Manager | Lead team in adding definition to priorities | Organize new items in the backlog | ||
Designer | Review analytics | Review user feedback | ||
Developer | Deploy hotfix for registration visual bug | Review user feedback | Remediate issues | Deploy changes to production |
QA Analyst | Monitor production site | Report new issues Monitor production site | Monitor production site |
And so on!
The event microsite has moved into maintenance mode so the team can move on to other organizational priorities. Any new issues are prioritized as they are reported based on the issue’s urgency. They will make their way into a hotfix release or a future iteration, even as the team works on other priorities within the organization (perhaps the main site).
Proactive Support Example
One of our project teams is supporting a new client with a currently live website built by another agency. The team has conducted a business discovery to understand the website’s purpose and goals. The developers have completed a technical review to understand the underlying architecture and code powering the site. Several issues are documented from the client’s wants/needs and the developer’s assessment. These issues have been grouped into a Product Roadmap based on business goals. This document also establishes the timeline of completion. All issues are defined and organized into a prioritized backlog based on the Product Roadmap. Incoming items are put into the backlog and prioritized in each iteration.
Iteration 1
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Review priorities in Product Roadmap | Review infrastructure changes and any impacts to workflow | ||
Client | Agree on upcoming priorities | Provide demo feedback | ||
Product Manager | Present infrastructure plan to IT | Coordinate with client on content freeze | Organize new items in the backlog | |
Primary Developer | Begin to migrate website to WebOps infrastructure | Migrate website implementing platform best practices | Coordinate with IT team on deployment | Remediate any issues Deploy website to new infrastructure |
QA Analyst | Full site QA | Verify deployment to new infrastructure |
Iteration 2
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Review priorities in Product Roadmap | Demo Landing Page, new CMS component, and corrected issues | ||
Client | Agree on upcoming priorities | Provide demo feedback | ||
Product Manager | Lead team in adding definition to priorities | Clarify priorities Provide initial feedback on Landing Page | Organize new items in the backlog | |
Primary Developer | Onboard secondary developer | Develop Landing Page template | Continue to develop Landing Page | Deploy improvements |
Developer | Prep for development | Fix 3-4 small issues with CMS components Fix 2 medium visual issues | Implement new CMS component | |
QA Analyst | Review upcoming priorities | Review remediated issues | QA Landing Page QA new CMS component | Verify deployment |
Iteration 3
Week 1 | Week 2 | Week 3 | Week 4 | |
---|---|---|---|---|
Full Team | Review priorities in Product Roadmap | Demo performance enhancements, role updates, and Blog designs | ||
Client | Agree on upcoming priorities | Provide demo feedback | ||
Product Manager | Lead team in adding definition to priorities | Provide input on Blog feature Prioritize highest impact performance improvements | Organize new items in the backlog | |
Designer | Wireframe recommended changes to Blog | Design changes to Blog | ||
Developer | Implement 2-3 performance enhancements | Implement user role updates | Review updated Blog designs | Deploy improvements |
QA Analyst | Measure performance improvements | Perform visual regression testing | Verify deployment |
And so on!
Our team can make numerous improvements to a website during an iteration. These examples reflect a varied backlog with multiple priorities: infrastructure, new features, and bugs. The priorities of an ongoing relationship are set in the Product Roadmap and revisited upon the start of each new iteration. Regularly reviewing provides transparency and empowerment to our clients so they always have the power to change priorities if needed. In our Proactive Support offering, we conduct quarterly website health checks to ensure the website isn’t slipping. Health checks typically include reviewing the backlog, performance, accessibility, SEO, and security.
Challenges with Iterations
We sometimes encounter issues implementing iterations with clients. The three most common challenges are:
- Resistance to change
- Difficulty estimating work
- Lack of stakeholder buy-in
Resisting Change
Clients often need help with the continuous nature of iterative improvement, as it deviates from the traditional one-time overhaul approach. Iterations require a shift in mindset, embracing ongoing change and improvement. Training and change management are essential for successful iteration implementation. We have found that clients who trust the process gain confidence as results are delivered.
As our point of contact builds confidence, we recommend involving stakeholders to demonstrate successful iterations. Depending on the size of the engagement, we may provide access to a COLAB Resource Center (CRC) that outlines our progress and work status. The CRC helps us provide transparency and ensures we’re on the right track, preventing delays due to stakeholder feedback or changes in direction.
Difficulty Sizing Work
We strive to set realistic goals for what we will complete at the start of an iteration. However, this can be difficult, particularly when we take over a site we didn’t build. Unforeseen complications can throw off an iteration or two, but rarely the entire timeline. Why not? The team is structured to adapt to change rapidly.
As the team works through multiple iterations, they gain efficiency, increasing our ability to deliver on the priorities. While sizing the work may be challenging in the first few iterations, it usually becomes less of an issue as the team gains familiarity with the work and finds its rhythm.
Active Involvement
Iteration does require meeting at least twice per iteration. Once at the beginning and once at the end. We’ve found that this is the best way to align expectations and priorities. As we work together, our Product Managers become more adept at playing the client role in team discussions. They will act as the client advocate, ensuring that the team focuses on what is most beneficial to the business. This makes it easy for our clients to delegate work management.
Our hope with most of our relationships is that our work allows our clients to become more focused on the core function they’re responsible for, allowing them to be more strategic with the website. At the same time, we deal with the tactical execution.
Conclusion
Iterations are an effective way to improve a website over time. Regularly reviewing priorities and executing allows organizations to evolve a website to create value over time and keep up with the demands of modern marketing.
Our clients have greater visibility and control over the execution of work, more effective output from our team, a higher quality product through constant QA, and adaptability as the marketing environment changes.
By understanding how iterations work, you can create an excellent digital presence that benefits your organization in the short and the long term. If this sounds appealing to you, let us know! We’re happy to have a preliminary call to discuss this further. Alternatively, give us a call at (804) 433-3582 or email us at [email protected].