Skip to content

Taking over existing PHP software: how the assessment begins

An application is running, but nobody maintains it any more. Before anyone promises to develop it further, they need to know what they are dealing with. This text describes what an inventory assessment examines and which three outcomes it can have.

  • Who it is forBusinesses with an existing application
  • LevelProject practice
  • Reading timeabout 7 minutes
  • Last updated16 October 2026

What you will learn

  • What an inventory assessment examines in concrete terms
  • Which access and documents are needed for it
  • Which three outcomes are possible — and what they mean
  • What a takeover most often fails on

The typical trigger

The triggers repeat themselves: the developer can no longer be reached. The application runs on a PHP version that no longer receives security updates, and the hosting provider announces its shutdown. A change is needed, but nobody dares to make it. Or the application works, but nobody knows how.

In all cases the first question is the same, and it is not "what does further development cost" but "what is actually there". Any statement about effort before this question is answered is a guess.

What is examined

An inventory assessment looks at five things:

  • The technical foundation: PHP version, database, libraries in use and their maintenance status.
  • The structure: is there a recognisable structure, or is the business logic scattered? This determines how expensive each change will be.
  • The data storage: database structure, relationships, data quality — and whether the data is what the interface claims it is.
  • Security-relevant areas: login, permission checks, handling of input, database queries, file uploads.
  • Operations: where the application runs, how it is updated, whether backups exist, and whether a restore has ever been rehearsed.

The result is a written report with concrete findings — not a grade. "Outdated code" is not a statement; "the login checks permissions only after writing" is one.

What we need for it

  • The source code, ideally with its version history. Access to an environment in which we can start the application — not necessarily the production environment. The structure of the database. For assessing the structure, an extract of the schema is usually enough. For assessing data quality we additionally need a sample or anonymised data that reflects reality. A contact person for the business questions: what is the application supposed to do? Often that is written down nowhere.

What we explicitly do not need is credentials for production systems sent by email. There are secure ways to provide access, and we only ask for what is necessary for the assessment.

An example from practice

When the database says something different from the interface

An application shows orders with a status. In the database the status is stored in two places: in the order row and in a log table. The two differ in several hundred cases because an earlier bug did not write to the second place.

Findings like these are the real value of an inventory assessment. They decide whether the data has to be cleaned up first — and they explain why a report had so far produced figures that nobody could reproduce.

Three possible outcomes

After the assessment, the answers usually come down to one of three directions: continue developing, renew step by step or rebuild. In some cases, replacing it with standard software or decommissioning it is the honest answer.

  • Continue developing. The structure holds, the foundation can be updated, and changes are possible at manageable cost.
  • Renew step by step. The application stays in operation, individual areas are replaced until hardly any legacy code remains. This is the most common route for applications that are needed in day-to-day business.
  • Rebuild. When structure and data storage are such that every change brings more risk than benefit. This answer needs a justification with concrete findings; it is not a matter of taste.

What does not exist: a blanket "this has to be rebuilt". Anyone who says that without an assessment is selling a project, not a solution.

What a takeover fails on

  • Missing access: without a runnable environment, every statement remains conjecture.
  • No contact person for the business questions: code shows what happens, not why.
  • No version history: then the answer to why something was built that way is missing.
  • The expectation that the assessment costs nothing. It is the work that makes all later decisions sound.

Common misconceptions

Running and being maintained are two different things. Without security updates for PHP and the libraries in use, the risk grows without anything changing in operation.

No. There are carefully built old applications and very new ones that nobody can maintain. What matters are the structure, data storage and maintenance status of the foundation.

It postpones the start of implementation by days and prevents decisions that cost months.

Further sources

About the author

Fabian Lücker is the managing partner of PHP-Schmiede KG in Rheine and has worked in software development since 2007. He is responsible for development and concept design, and here he writes about decisions that arise in real projects.

An application that nobody looks after any more?

We take a look at it and tell you in writing what is possible — with concrete findings instead of a blanket verdict.