How Bad Is It Really? What a Two Week Codebase Assessment Tells a Non-Technical Owner

Sandor Farkas
Founder & Lead Developer
Expert in software development and legacy code optimization
LinkedInMost owners who ask us for a codebase assessment already suspect the answer is "not great." What they actually need is not confirmation of that feeling. It is a ranked list of what is wrong, what it will cost to fix, and what is already fine, so they can stop guessing and start deciding. That is what a two week codebase assessment is built to produce, and it is worth being specific about what lands on your desk at the end, because the format matters as much as the findings.
Why a codebase assessment takes two weeks, not longer
A codebase assessment is not a full audit. We have written separately about what a full PHP code audit costs and what it covers, and that process can run several weeks for a large system. A two week assessment is scoped differently: it answers one question, which is whether the system is safe enough to keep building on, and it does that fast enough that you still have budget left to act on the answer in the same quarter.
Two weeks is enough time for a senior developer to read the architecture, run the application locally, check the database schema against what the code actually does, look at how deployments happen, and talk to whoever on your side still remembers why certain decisions were made. It is not enough time to read every file, and it should not try to. The point is judgment, not coverage. A system with 200,000 lines of PHP does not need every line read to tell you whether the authentication layer is sound or whether your invoicing job is one bad migration away from corrupting customer data.
What you get back
The deliverable is a short written report, usually ten to fifteen pages, organized by severity rather than by file or module. You should expect three sections.
The first lists what needs attention now: security gaps, data integrity risks, anything that could cause an outage or a breach if left alone. These come with a plain-language explanation of the actual risk, not a severity score pulled from a static analysis tool. "This endpoint accepts unvalidated input from a public form and writes it straight into a SQL query" is a finding. "Found 47 SQL injection warnings" is not, because it tells you nothing about which ones are real and which ones are noise from a framework that already escapes input elsewhere.
The second section covers what will slow you down over the next year if nobody touches it: the parts of the codebase where every change takes three times as long as it should, usually because there is no test coverage, or because one class does everything, or because the same business logic is copied into four places and nobody remembers to update all four. This is the section that explains why your last two feature requests took longer than the developer promised, and it is often the most useful part of the report for a non-technical owner, because it turns a vague complaint about slow delivery into specific, fixable causes.
The third section is deliberately short: what is already fine. Owners rarely expect this part, and it matters more than it looks. A report that only lists problems makes every codebase sound equally doomed, which is not true and not helpful. If your test suite actually works, or your deployment pipeline is solid, or the core domain logic is well organized even if the edges are messy, you need to know that too, because it changes where you spend money.
How the findings get ranked
Every item in the report carries two numbers: how bad it is if nothing changes, and roughly how much effort it takes to fix. A missing index that makes one rarely used report run slowly is a real finding and a low priority. A missing index on the table your nightly billing job scans is the same category of technical problem with a completely different priority, because the business impact is different. Ranking by severity alone, without weighing it against your actual usage, is how audits end up with fifty "critical" findings that nobody can act on. A codebase assessment aimed at a business decision should produce a list you can hand to whoever controls the budget, with the first three items already identified.
What a non-technical owner should ask for before agreeing to one
Ask what happens to quick fixes found along the way. A good assessment will note and sometimes fix a handful of small issues as they come up, security patches or an obvious bug, without treating that as scope creep. Ask whether the report will name specific files and classes, or whether it will speak in generalities. Ask who writes the final page, because the last page should answer your actual question directly: is this safe to keep building on, or not, and what does getting there cost. If a proposal cannot commit to answering that question in writing, it is not the assessment you are looking for.
It also helps to ask what the assessment will not tell you. Two weeks will not catch everything a six week audit would, and it will not give you a full remediation plan with hour estimates for every fix. What it gives you is enough information to make the next decision: keep going as you are, bring in help for specific problem areas, or commission the deeper audit because the assessment turned up something that needs it.
Using the report once you have it
The report is only useful if someone acts on the first page. We have seen owners commission an assessment, read it, agree with every word, and then do nothing for six months because nobody owned the follow up. The fix is usually simple: before the assessment starts, decide who on your side will read the report and who has authority to approve the first round of fixes. That person does not need to understand the technical detail. They need to be able to say yes to the three items at the top of the list.
If the report surfaces something urgent, a security gap or a data integrity risk, that work should start immediately, separate from any longer conversation about whether to refactor or rebuild the rest of the system. The two problems move on different clocks. One needs to be fixed this week. The other needs a decision you can live with for the next few years, and that decision deserves more time than the assessment itself takes. When the report points toward deeper structural problems rather than a short list of patches, that is usually where an ongoing code quality consulting engagement picks up, working through the backlog in a planned order rather than firefighting one issue at a time.
A two week codebase assessment will not tell you everything about your system, and it is not supposed to. It is supposed to replace "I don't know how bad it is" with a ranked, costed list you can actually use. If you are looking at a system nobody fully understands anymore and need that starting point, write to us at hello@wolf-tech.io or have a look at what we do at wolf-tech.io. We will tell you honestly whether two weeks is the right scope for what you are dealing with, or whether you need something shorter or longer.
