Skip to main content

Planning - people with ideas

Planning a website is more than just writing down requirements and handing them over to be built. We believe planning works best as a participatory process. By involving users and developers from the very beginning and throughout, ideas can grow into solutions that balance real needs with practical possibilities. This collaborative approach may not deliver exactly the website you first imagined, but it will create the one that truly serves its purpose.

Waterfall model - code with structure

Traditionally, websites are planned through a fairly linear process. First, someone within the organization collects requirements and documents them. Next, a system architect reviews these requirements and designs a solution to meet them. The designs are then passed on to developers, who implement the website. Finally, the site is tested, corrected where needed, and launched.

This approach is known as the waterfall model because, like water, information flows in only one direction if the model is followed strictly. If something needs to be changed at the beginning, within the requirements, the entire process must be repeated. In addition, the waterfall model plans and implements the whole system at once. It does not allow different components to be developed in parallel, with one under construction while requirements for another are still being gathered. These characteristics often lead to long stretches of time between the first ideas and the launch of a finished website.

Agile methods - code with change

Since a while, agile methods have become popular as a way to address the limitations of the waterfall model. Their main goal is to deliver software more quickly than traditional approaches, primarily through continuous development. Initial components are launched as soon as they are usable, with additional features added over time. Throughout the process, users are actively involved, helping to shape new features and adjust existing ones. Agile methods also save time by placing greater emphasis on development, often reducing the amount of documentation and upfront architectural design.

In agile projects, small changes are frequent. Combined with lighter documentation and architecture, this often results in “workaround” implementations. While these can provide quick solutions, they tend to accumulate and make the code harder to manage. Over time, future changes may become more difficult, and the system itself can grow fragile. To code with care means not only meeting immediate needs but also investing in thoughtful planning of the website’s architecture. This ensures a longer lifespan for the site, with smoother adaptations to changes as they arise.

Participatory design - code with care

Agile methods and the waterfall model primarily differ in the amount of initial planning they require. They share the idea that one or a few people can describe the users’ needs clearly enough for the system to be implemented. This means those individuals must know their organization and the website’s target groups very well. The smaller the group defining requirements is, the greater the risk that those requirements reflect personal preferences rather than actual needs. In addition, such requirements often capture user needs at best, while technical limitations are considered only to a limited extent.

We therefore recommend a participatory design process, where users and developers plan together in close cooperation. In this way, both sides can learn from each other. Developers gain a deeper understanding of the organization’s culture and the interests of its target groups, enabling them to provide solutions better suited to real needs. At the same time, users learn about technical limitations and common best practices, which can help refine and optimize requirements. In the end, the result may not be the website users initially imagined, but it will be the one they truly need.