to content
Fahne deutsch Fahne english
Web Design & Programming
  Contact us now

You are here: Programming > Complexity?

Author: with the help of ChatGPT  |   Reading time approximately: 4 min  |   last modified: 14.07.2025

No Fear of Complexity

How we succeed in programming suitable web solutions that last over decades

A realistic assessment of the requirements is the key to successful software projects. Starting too early without truly understanding the complexity risks exceeding budgets, delays, and misdevelopments. Therefore, we analyze together with you in advance what is technically, professionally, and organizationally truly necessary – so that your project stands on a solid foundation from the beginning.

The Accurate Assessment of Our Capabilities

We are a small company and must realistically evaluate our possibilities – our capacities, the technologies used, and the necessary expertise.

Already during the inquiry and initial discussion, we analyze whether a project is a good fit for us. Does it have the right size? How complex are the requirements? Which technologies do we need to implement it? Our estimates have always been correct so far, as there has not been a project where we "fell flat".

How complex a project is can only be properly assessed with foresight and the necessary expertise. Doing this in advance is important!

Delivering functional, usable software on time, with which the customer is satisfied, is not guaranteed (though one might think so). According to a study on software quality published on Wikipedia, in Germany during the period 2002-2004, only about 30% of all developed software was delivered on time and functional. 18% of all projects failed completely, 56% exceeded costs, and 84% missed the deadline. We have also worked with clients who came to us with failed or aborted projects that the programmer could not complete. A frustrating experience for the client and certainly also for the developer, who apparently misjudged his skills and capabilities!

Some projects start small and grow over the years into complex software. This process requires our full attention regarding management, monitoring, and documentation of the project and its functionalities.

Questions we ask ourselves to accurately assess our capacities:

  • How many projects can we handle simultaneously with the necessary care?
  • Can we meet the desired schedules?
  • How complex is the project, and how much new learning is required?
  • How many technologies can we use at the same time, have the necessary expertise available, and refresh it whenever necessary?

Questions we ask to accurately assess the client's capacities:

Our clients are small and medium-sized businesses, whose budgets are often limited. Therefore, we first check the framework set by the budget regarding requirements and the target goal.

  • Can we take on the project within this budget and meet the requirements?
  • Are the personnel capacities available on the client's side?
  • Is there a point of contact for our project who is available at all times and can make or influence decisions? Someone who constantly informs themselves about the progress and participates, e.g., through testing?

We have found or developed suitable methods and tools to accomplish all these. Many of the websites we have created have been running for 10 years or even longer. They have gone through multiple redesigns and extensions!

Requirements for software or a website over many years of operation:

  1. Functionality
    The software does what it is supposed to do. Technical updates are necessary and are implemented from time to time.
  2. User guidance and usability:
    The user understands the workflows and can operate them. Modernizations are occasionally necessary and are implemented.
  3. Comprehensibility and depth of understanding:
    Both the client and we as developers can still understand after years what we have solved and why. We keep the project lean and understandable. Features that have become unnecessary over time are removed.

What we do to control complexity:

  • Processes and checklists
  • Documentation and wiki
  • Version control system
  • Ticket system and task management
  • Test environment as a development environment
  • Active and responsible project and customer communication
  • Defining milestones and conducting interim reviews