Making Progress with Iterations

Ralph Otto author photo
Ralph Otto Director of Product
OperationsPlanning & Strategy

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.

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 1Week 2Week 3Week 4
Full TeamDiscuss prioritiesDemo Homepage
ClientAgree on prioritiesProvides feedback
Product ManagerLead team in adding definition to prioritiesOrganize new items in the backlog
DesignerReviews brand assetsCreates Homepage wireframeDesigns Homepage
DeveloperSets up development environmentReviews Homepage design
QA AnalystSetup test cases for HomepageReviews Homepage design

Iteration 2

Week 1Week 2Week 3Week 4
Full TeamDiscuss prioritiesDemo Registration and design system
ClientAgree on prioritiesConsult on Registration pageProvide  demo feedback
Product ManagerLead team in adding definition to prioritiesProvide feedback on Homepage implementationOrganize new items in the backlog
DesignerWireframe Registration pageWireframe News section
Visually inspect Homepage
Create design systemPresents Homepage
DeveloperImplement HomepageReview wireframesReview design system
QA AnalystSetup test cases

Iteration 3

Week 1Week 2Week 3Week 4
Full TeamDiscuss previous iteration
Discuss priorities
Demo full site
ClientAgree on prioritiesDeliver final contentProvide  UAT feedback
Product ManagerLead team in adding definition to prioritiesProvide feedback on content implementationOrganize new items in the backlog
DesignerEnter final contentVisual inspection
DeveloperImplement design systemImplement Registration and NewsRemediate visual issuesRemediate UAT and QA issues
Deploy microsite
QA AnalystSetup test casesFull QA and testingMonitor production site

Iteration 4

Week 1Week 2Week 3Week 4
Full TeamCelebrate
Discuss previous iteration
Discuss priorities
Review hotfix and issues fixed in demo
ClientAgree on prioritiesGather user feedbackProvide demo feedback
Product ManagerLead team in adding definition to prioritiesOrganize new items in the backlog
DesignerReview analyticsReview user feedback
DeveloperDeploy hotfix for registration visual bugReview user feedbackRemediate issuesDeploy changes to production
QA AnalystMonitor production siteReport 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 1Week 2Week 3Week 4
Full TeamReview priorities  in Product Roadmap Review infrastructure changes and any impacts to workflow
ClientAgree on upcoming prioritiesProvide demo feedback
Product ManagerPresent infrastructure plan to  ITCoordinate with client on content freezeOrganize new items in the backlog
Primary DeveloperBegin to migrate website to WebOps infrastructureMigrate website implementing platform best practicesCoordinate with IT team on deploymentRemediate any issues
Deploy website to new infrastructure
QA AnalystFull site QAVerify deployment to new infrastructure

Iteration 2

Week 1Week 2Week 3Week 4
Full TeamReview priorities  in Product Roadmap Demo Landing Page, new CMS component, and corrected issues
ClientAgree on upcoming prioritiesProvide demo feedback
Product ManagerLead team in adding definition to prioritiesClarify priorities
Provide initial feedback on Landing Page
Organize new items in the backlog
Primary DeveloperOnboard secondary developerDevelop Landing Page templateContinue to develop Landing PageDeploy improvements
DeveloperPrep for developmentFix 3-4 small issues with CMS components
Fix 2 medium visual issues
Implement new CMS component
QA AnalystReview upcoming prioritiesReview remediated issuesQA Landing Page
QA new CMS component
Verify deployment

Iteration 3

Week 1Week 2Week 3Week 4
Full TeamReview priorities  in Product Roadmap Demo performance enhancements, role updates, and Blog designs
ClientAgree on upcoming prioritiesProvide demo feedback
Product ManagerLead team in adding definition to prioritiesProvide input on Blog feature
Prioritize highest impact performance improvements
Organize new items in the backlog
DesignerWireframe recommended changes to BlogDesign changes to Blog
DeveloperImplement 2-3 performance enhancementsImplement user role updatesReview updated Blog designsDeploy improvements
QA AnalystMeasure performance improvementsPerform visual regression testingVerify 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:

  1. Resistance to change
  2. Difficulty estimating work
  3. 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].