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.
What you will learn
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 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
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.
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
Common misconceptions
Further sources
- Supported PHP versions which version still receives security updates
- PHP migration notes (appendix of the manual) official notes on version transitions
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.