Evaluating a software project before a deal? See our Technical Due Diligence packages.

Read also: DevSecOps Implementation Checklist for Enterprise

Technical due diligence separates opinion from evidence. Whether you are acquiring a company, investing in a startup, evaluating a vendor, or auditing an internal project, this checklist provides a systematic framework for assessing the technical foundation. Each section includes specific items to evaluate and scoring guidance to quantify risk.

Area 1: Code Quality

Code quality is the most direct indicator of engineering discipline. Clean, well-structured code is easier to maintain, extend, and debug. Poor code quality signals accumulated shortcuts that will compound over time.

Automated analysis

  • Run static analysis tools (SonarQube, ESLint, Pylint) — what is the overall quality score?
  • Measure code coverage — what percentage of code is covered by automated tests? (Benchmark: 60-80% is good, below 40% is a red flag)
  • Check cyclomatic complexity — high complexity indicates code that is difficult to understand and test
  • Scan for code duplication — above 10% duplication suggests copy-paste development patterns
  • Run dependency vulnerability scan — how many known CVEs exist in the dependency tree?

Manual code review

  • Review naming conventions — are variables, functions, and classes named clearly and consistently?
  • Assess separation of concerns — is business logic separated from infrastructure, presentation, and data access?
  • Check error handling — are errors caught, logged, and handled gracefully, or do they propagate silently?
  • Evaluate coding standards — is there a consistent style, or does each file look like it was written by a different person?
  • Review recent commits — are commit messages meaningful? Do pull requests have reviews? Is the git history clean or chaotic?

Technical debt assessment

  • Identify TODO/FIXME/HACK comments — count and categorize them
  • Assess technological debt backlog — is there a documented list of known issues? Is it growing or shrinking?
  • Evaluate code age distribution — what percentage of code has not been modified in 2+ years?
  • Check for dead code — unused functions, unreachable branches, commented-out blocks

AI-generated code

  • Establish provenance — which parts of the codebase were generated by AI assistants, and is that usage documented and governed by a policy?
  • Check test coverage of generated modules — is AI-generated code covered by tests at least as well as hand-written code, or was it merged untested?
  • Review generated code for licence leakage — could it reproduce snippets from open-source projects with incompatible licences?
  • Scan generated code for leaked secrets and insecure patterns — hardcoded credentials, API keys, disabled validation (see why AI-generated code often contains vulnerabilities)

Scoring guide:

  • Green (low risk): Coverage > 70%, no critical vulnerabilities, consistent style, manageable tech debt
  • Yellow (moderate risk): Coverage 40-70%, some vulnerabilities, inconsistent style, growing tech debt
  • Red (high risk): Coverage < 40%, critical vulnerabilities, no standards, overwhelming tech debt

Area 2: Architecture

Architecture determines how well the system can evolve, scale, and integrate. A sound architecture makes changes cheap. A poor architecture makes every change expensive and risky.

System design

  • Document the high-level architecture — can the team explain it clearly? Does a diagram exist?
  • Identify architectural pattern — monolith, microservices, modular monolith, event-driven? Is the choice appropriate for the system’s complexity?
  • Assess coupling — how tightly are components connected? Can one component be changed without affecting others?
  • Evaluate cohesion — does each component have a single, clear responsibility?
  • Check for architectural drift — does the actual code match the documented architecture?

Data architecture

  • Document the data model — is it normalized, documented, and consistent?
  • Assess database choice — is the database appropriate for the data patterns (relational vs NoSQL vs time-series)?
  • Check data migration strategy — is there a schema migration process? Are migrations version-controlled?
  • Evaluate data integrity — are referential constraints enforced? Is there data validation at the application level?
  • Assess backup and recovery — are backups automated, tested, and recoverable within defined RTO?

Integration architecture

  • Map external integrations — APIs, third-party services, message queues, file transfers
  • Assess integration resilience — what happens when an external service is slow or unavailable? (Circuit breakers, retries, fallbacks)
  • Check API versioning — how are breaking changes managed for consumers?
  • Evaluate message handling — are messages processed exactly-once or at-least-once? Is idempotency implemented?

Scoring guide:

  • Green: Clear architecture, appropriate patterns, low coupling, documented data model
  • Yellow: Partial documentation, some tight coupling, data model inconsistencies
  • Red: No architecture documentation, monolith with tight coupling, undocumented data model

Area 3: Security

Security assessment identifies vulnerabilities that could lead to data breaches, compliance violations, or operational disruption.

Application security

  • Run SAST scan — how many critical and high vulnerabilities exist?
  • Run DAST scan — are there exploitable vulnerabilities in the running application?
  • Check OWASP Top 10 coverage — injection, broken authentication, sensitive data exposure, XXE, broken access control
  • Assess authentication implementation — password hashing algorithm, session management, MFA support
  • Review authorization model — is access control role-based, attribute-based? Are permissions enforced consistently?
  • Audit open-source licence obligations — is there copyleft code (GPL, AGPL) in distributed or SaaS-delivered software, and are licence obligations tracked in a software bill of materials?

Infrastructure security

  • Review network architecture — are production systems in private subnets? Is ingress/egress controlled?
  • Check data encryption — encryption at rest and in transit? What algorithms and key management?
  • Assess secrets management — are credentials stored in code, environment variables, or a secrets manager?
  • Review access controls — who has production access? Is access logged? Is MFA enforced?
  • Check for security monitoring — intrusion detection, log analysis, alerting on suspicious activity

Compliance

  • Identify applicable regulations (GDPR, SOC 2, HIPAA, PCI-DSS)
  • Assess data privacy practices — PII handling, consent management, data retention policies
  • Check audit trail — are critical actions logged with user identity, timestamp, and action detail?
  • Review incident response plan — does it exist? Has it been tested?

Scoring guide:

  • Green: No critical vulnerabilities, strong authentication, encryption everywhere, compliance-ready
  • Yellow: Some vulnerabilities (no critical), partial encryption, compliance gaps
  • Red: Critical vulnerabilities, weak authentication, plaintext secrets, no compliance framework

Area 4: Scalability and Performance

Scalability determines whether the system can handle growth without proportional cost increases or architectural rewrites.

Current performance

  • Review performance metrics — response times (p50, p95, p99), throughput, error rates
  • Check resource utilization — CPU, memory, disk, network at current load
  • Identify bottlenecks — database queries, external API calls, compute-intensive operations
  • Assess caching strategy — what is cached, where, and how is cache invalidation handled?

Scalability architecture

  • Assess horizontal scalability — can the application scale by adding instances, or does it require vertical scaling?
  • Check database scalability — read replicas, connection pooling, query optimization, sharding readiness
  • Evaluate statelessness — can any instance handle any request, or is there session affinity?
  • Review auto-scaling configuration — does the system scale automatically based on load?

Load and stress testing

  • Has load testing been performed? What were the results?
  • What is the maximum tested throughput? How does it compare to projected peak load?
  • How does the system degrade under overload — graceful degradation or cascading failure?
  • What is the recovery time after an overload event?

Scoring guide:

  • Green: Horizontally scalable, load-tested, auto-scaling configured, 3x headroom above current peak
  • Yellow: Vertically scalable only, limited load testing, manual scaling, 1.5x headroom
  • Red: Cannot scale without rearchitecting, no load testing, at capacity

Area 5: Team and Process

Technology is only as good as the team building and maintaining it. Team assessment reveals whether the organization can sustain and evolve the system.

Team composition

  • Map the team — roles, experience levels, tenure, areas of responsibility
  • Identify key person dependencies — is critical knowledge concentrated in one or two people?
  • Calculate the bus factor for critical modules — how many people would have to leave before nobody understands a given part of the system?
  • Assess team stability — turnover rate over the past 12 months
  • Evaluate hiring pipeline — how long does it take to fill open positions?

Development process

  • Assess CI/CD maturity — automated build, test, and deployment pipeline
  • Review branching strategy — is there a consistent workflow (GitFlow, trunk-based)?
  • Check code review practices — are all changes reviewed before merge? What is the review quality?
  • Evaluate release process — how often are releases deployed? What is the lead time from commit to production?

Knowledge management

  • Assess project documentation — architecture docs, API docs, onboarding guide, runbooks
  • Check code documentation — are complex functions documented? Is there an API reference?
  • Evaluate onboarding process — how long does it take a new developer to make their first meaningful contribution?
  • Review knowledge sharing practices — tech talks, documentation culture, pair programming

Scoring guide:

  • Green: Full team, no single points of failure, mature CI/CD, comprehensive documentation
  • Yellow: Some key person risk, basic CI/CD, partial documentation
  • Red: High key person risk, manual processes, minimal documentation

Scoring Summary Template

AreaWeightScore (1-5)Weighted scoreKey findings
Code quality20%__
Architecture25%__
Security20%__
Scalability15%__
Team & process20%__
Total100%_ / 5.0

Interpretation:

  • 4.0-5.0: Low risk — system is well-built and maintainable
  • 3.0-3.9: Moderate risk — specific areas need investment but no blockers
  • 2.0-2.9: High risk — significant technical debt that will require substantial budget to address
  • Below 2.0: Critical risk — fundamental issues that may require rearchitecting or rebuilding

When to Commission an External Audit

You can run parts of this checklist yourself, but an independent assessment pays off in a few situations:

  • Before an acquisition or investment — when the decision depends on the findings, the assessment must be objective and the assessors must have no stake in the outcome.
  • When your team would be assessing its own code — internal reviews rarely see their own blind spots, and their conclusions carry less weight with investors and boards.
  • Before taking over a system from a vendor — you need to know the real state of the code, security and documentation before you sign off on the handover.
  • When there is no in-house expertise in architecture, security or DevOps to run the checks with confidence.

Our Technical Due Diligence package covers the full code audit plus team and process, scalability, open-source licences and investor risks. It takes 2–3 weeks and starts from €8,500. If you only need the code-level view — quality, security and technical debt — the Code Health Audit takes 1–2 weeks and starts from €4,500.

How ARDURA Consulting Supports Technical Due Diligence

Technical due diligence requires experienced engineers who can assess code, architecture, and team practices quickly and objectively — skills that are difficult to find for short-term engagements.

  • 500+ senior specialists across software architecture, security engineering, DevOps, and quality assurance — available within 2 weeks
  • Rates about 35-55% below the average German IT freelance rate, with engagement flexibility from one-off assessments to ongoing technical advisory
  • 99% specialist retention — engineers who provide honest, actionable assessments rather than generic findings
  • 211+ completed projects — assessors who have seen what good and bad look like across dozens of technology stacks and industries

Whether you need a fixed-scope assessment on an M&A timeline or ongoing technical advisory for portfolio companies, ARDURA Consulting provides the engineering depth that turns due diligence findings into informed decisions.