DEV Community

Cover image for Web development déjà-vu: Exploring the contact cycle
Tomislav Buljević
Tomislav Buljević

Posted on • Originally published at about.njuskalo.hr

Web development déjà-vu: Exploring the contact cycle

Web development often feels like déjà vu. The patterns — recognizing a need, brainstorming solutions, tackling challenges, and reflecting on results — repeat themselves across projects. Interestingly, this process mirrors the “contact cycle” from Gestalt psychotherapy, which explains how humans recognize and satisfy needs.

Gestalt psychotherapy and the contact cycle

Gestalt therapy is a type of humanistic, person-centred therapy that focuses on the immediate “here and now” and how that can be explored to help you. It looks at how your past influences what you’re feeling in this moment, rather than how you felt back then. According to Gestalt therapy, “the contact cycle” is a cyclical model that describes our response to any particular need —from the initial recognition of the need to satisfying it and integrating what the experience taught us.

To be aware of the contact cycle, we must understand its natural stages and the importance of those stages. As in Gestalt therapy, awareness is key to identifying the needs and challenges of a team. Without it, “contact breaks” — deviations from the process — can remain unresolved and carry over to future projects. That’s why it’s important to understand where and why these breaks occur and to develop strategies to guide the project to completion. Fortunately, we have several readily available support mechanisms which can help in the process itself.

In this article, I intend to show how applying the contact cycle can help you navigate the ups and downs of web development. You’ll uncover hidden pitfalls, discover actionable strategies to keep your projects on track, and ultimately create a smoother, more rewarding workflow for your team.

We’ll break down each stage of the contact cycle —from recognizing the need to reflecting on results — and show how to overcome challenges at every step.

Precontact (sensitisation): Recognizing the need

In this stage, we identify a need, and our interest is piqued. This is the stage right before a project begins, where the team decides on the solution, and the way a project can be realized. This stage is brimming with ideas (Gestalt’s “fertile void”) and various approaches to solving the problem. During this stage, fostering autonomy is crucial. By allowing team members to voice their ideas, we can empower them to take ownership of the project’s direction. This sense of ownership can fuel engagement.

To succeed in this stage, it’s important to stay focused on the project’s true need and to continually ask ourselves: “Why are we doing this?”

Possible contact breaks

Unresolved issues from past projects can make the current project feel like a low-priority one. Additionally, too many ideas can distract from understanding the true user need.

Example

Your team brainstorms a user notification system, but the discussion shifts to exploring all possible channels of delivery. Instead of focusing on one viable option for the MVP, the team becomes bogged down by exploring all the possible solutions and libraries.

Support mechanisms

When we get a request from the management to plan for a new feature, it is important to conduct user research and surveys to identify real user needs. After all, if a user doesn’t need this particular project, what is the point of doing it in the first place?

Also, organizing brainstorming sessions with all team members is extremely important to prevent unresolved past projects from interfering with the current one.

Documenting user stories in the backlog is essential for creating a viable plan to enter the project, as well as determining the MVP (Minimal Viable Product), so that the team can focus on the essentials.

The previously mentioned discussion about user notifications might be steered back to focusing only on the MVP. This way, everyone in the team is on the same page in defining the MVP, and not veering off track significantly.

Once the groundwork has been laid in the Precontact phase, we can naturally transition into the Mobilization stage.

Mobilization: Starting work

Mobilization turns plans into action, which comes with its own unique set of challenges. In this stage, in order to make sure the team is aligned and efficient, we should ensure that team members are entrusted with ownership of their part of the project. Trusting their expertise reduces the need for micromanagement and creates a sense of accountability. This is the point where team members should begin work, make decisions, and keep moving forward.

Possible contact breaks

Contact breaks stem from doubts about personal abilities or from questioning the project’s purpose and relevance.

In Gestalt terms, when we assimilate an idea, belief, attitude or some other negative aspect from our environment without question or thought, we are “introjecting”. These negative beliefs, called “introjects”, don’t have to be confirmed, but they still represent our own personal truths, shaped by previous projects or experiences. Introjects can create doubts or resistance.

Also, if there are any unresolved questions from the Precontact stage, this can also influence team members, leading to doubts and misalignment in their understanding of the common goal.

Example

You have started working on your notification system. But your junior developer feels unmotivated and doubts their abilities, leading to missed deadlines despite assigned tasks suited to their level.

Support mechanisms

To overcome challenges in the mobilization stage, we need to ensure that everyone clearly understands their task. Kanban boards are immensely helpful with that. Breaking down user stories into small tasks helps team members keep focus and push the project forward. Team alignment meetings and frequent one-on-one discussions can help us overcome contact breaks during this crucial stage. The goal of these strategy meetings is to challenge introjects through evidence-based discussions, enabling team members to adjust their perspectives and align with project goals.

Keeping this in mind, consider having a one-on-one with the junior developer to discuss why they don’t feel up to par. Understanding their introjects —and sometimes sharing your own — can be a powerful way to challenge and even eliminate these negative beliefs.

As Mobilization progresses, one of the impediments to reaching the next stage can be Projection.

Projection: Unconscious bias

Projection occurs when team members blame external factors for internal struggles, avoiding accountability for their own shortcomings.

Example

A member of your team starts explaining how they couldn’t do their work in time due to a tool slowing them down, the architecture not being well-defined, or tasks being unclear. Yet, in the Precontact stage, they had no problem understanding what needed to be done.

Support mechanisms

The key support mechanism is accountability. Hold regular check-ins, where team members evaluate their own contributions before critiquing others. These issues can also be raised during retrospectives.

Having clear communication channels with defined guidelines helps prevent misinterpretation.

And when all else fails, having a neutral facilitator, such as a Scrum Master, to mediate discussions and identify the root causes of the tension can keep the team focused on collaboration, avoiding internal strife.

Getting back to our example, the team member in question could discover during a retrospective that the real issue lies in their workflow. This could trigger a discussion about optimizing individual practices, which could, in turn, help the team member address their own projection.

Once Projections have been successfully resolved, the project reaches a state of maximum efficiency: the Full Contact.

Full contact: Maximum efficiency

Full Contact is the stage when everything finally falls into place. At this point, everyone understands their needs and tasks, and works together well, with energy to spare. Everyone feels like they are contributing, taking ownership of the project, and performing at their optimal output. Everybody feels “seen”, which basically gives each team member their own little personal reward.

Possible challenges

The challenge here is maintaining team energy and output.

To sustain that full contact experience, regular sprint reviews can help refresh team motivation. “Showing off” team successes can help them feel seen and keep their energy levels high. Positive feedback and small celebrations help maintain team motivation during this stage.

However, having high energy and high output levels could also lead to burnout if we are not careful in planning breaks from work. To prevent this, the team should schedule regular team check-ins to gauge stress levels. Time-off policies or flexible work arrangements can also contribute to maintaining long-term energy without overwhelming team members.

As the project nears completion and final touches are added, the stage of Differentiation starts.

Differentiation: Letting go

Differentiation is the stage when team members emotionally detach from the project —a necessary step for closure. However, this stage can lead to conflicts, as emotional investment in the work often runs high. Healthy detachment is crucial, but may cause insecurity, over-identification, or fear of success.

Possible contact breaks

Contact breaks stem from over-identification, where feedback is taken personally, leading to defensiveness. There may also be a fear of finishing, driven by perfectionism or fear of judgment. In Gestalt theory, this is referred to as Confluence.

Example

Your team can see the light at the end of the tunnel. The deadline is approaching, and a couple of bugs unexpectedly surface — something nobody accounted for, something natural. However, the developer working on that part of the feature starts making excuses when the bugs are mentioned in the daily meeting, vehemently explaining why the bugs occurred. They go into an almost panic mode — something out of character for the person in question.

Support mechanisms

Autonomy is key in this stage. We need to define a strict boundary between the team members and the project. Autonomy can be fostered through demo presentations to stakeholders, allowing team members’ solutions to be validated. Individual feedback can also help each member of the team reinforce their sense of autonomy.

To address the example before, individual feedback for the developer should focus on their past successes, personal goals and the importance of separating themselves from the project results. Emphasize that finding bugs before launch is a positive outcome and foster a safe-to-fail environment.

If the team handles the Differentiation stage well, they can finish strong, feeling proud of their accomplishment and ready to tackle the next project. The contact cycle is then closed with Integration.

Integration: Learning from insights

Integration is the stage for reflection, learning, and preparing for the next step by evaluating insights from the completed project. It is healthy to identify what has been useful and discard anything that does not contribute to our future growth. We can then separate ourselves from the project and return to the “fertile void” until a new need arises. This new need starts the cycle all over again.

Possible contact breaks

As developers, we often find that we don’t have time for proper evaluation and reflection because we’re jumping to the next thing in our roadmap. However, this stage is vital for both personal and team growth.

Support mechanisms

A recommendation here is to introduce post-mortem meetings. Sounds morbid, I know, but these meetings actually use as a glance back to the finished project, so we can define lessons learned. The team’s successes and challenges can be documented in the team knowledge base to serve as a powerful resource for the projects to come.

Example

Let’s finally wrap up our imaginary project. A post-mortem could reveal that a new architecture decision might benefit future projects as well, or that too much effort was spent on a minor issue, which could impede future work. These kinds of insights may steer your future decisions into a healthier environment for everyone involved.

In conclusion

Understanding the contact cycle helps teams identify and address challenges at each stage. Striving for Full Contact is essential, but even when stuck, teams can break free by embracing the cycle, adapting, and growing — especially since the next cycle is always just around the corner.

Top comments (0)