Skip to main content
Methods

Requirements Specification / Functional Specification

The requirements specification describes WHAT the client wants (requirements). The functional specification describes HOW the contractor will implement it (solution). Both are central documents in software development.

Unclear requirements are the most common cause of failed software projects. Requirements and functional specifications create clarity: they define what the client expects and how the contractor will deliver. These documents form the contractual and functional basis for every professional software project. Careful creation avoids misunderstandings, scope creep and costly rework – and sets the stage for successful collaboration.

What is Requirements Specification / Functional Specification?

The requirements specification (German: Lastenheft) is created by the client and describes the full requirements for a system from the user’s perspective. It answers 'What should the system do?' and includes functional requirements (features, workflows), non-functional requirements (performance, security, scalability), constraints (budget, timeline, technology) and acceptance criteria. The functional specification (German: Pflichtenheft) is created by the contractor in response and describes 'How will the solution be implemented?' – system architecture, technical design, data models, API specs, UI mockups and implementation plan. Per DIN 69901 the requirements spec is the 'totality of demands set by the client' and the functional spec the 'realization requirements produced by the contractor'. In agile projects these are often replaced or supplemented by user stories, epics and a product backlog.

How does Requirements Specification / Functional Specification work?

The process starts with requirements gathering: workshops, interviews and process analysis capture the needs of all stakeholders. These feed into the requirements specification, which the client approves. The contractor analyses it and produces the functional specification with the concrete technical solution. After review and approval by both sides, the functional spec is the binding basis for development. Changes go through a change request process. In agile projects a living product backlog with prioritized user stories often replaces the classic requirements spec – but the principles (clear requirements, acceptance criteria, prioritization) remain.

Practical Examples

1

Web portal: A utility company creates a requirements spec for a customer portal with self-service, meter reading and tariff change. The contractor responds with a functional spec including architecture (Next.js, Spring Boot), data model and API design.

2

ERP rollout: A manufacturer specifies its business processes (procurement, production, shipping) in the requirements spec. The ERP vendor documents configuration, customizations and interfaces in the functional spec.

3

Mobile app: A logistics company describes in the requirements spec the functions of a driver app (routing, delivery confirmation, photo upload). The functional spec defines implementation with Flutter, offline database and REST API.

4

Agile project: Instead of a classic requirements spec the product owner maintains a product backlog with prioritized user stories refined in sprint planning.

5

Tender: A public body publishes a requirements spec for a document management system as part of a public tender – bidders submit offers based on functional specs.

Typical Use Cases

Software projects: Clear requirements before development starts avoid misunderstandings

Tenders: Requirements spec as basis for comparable offers from different vendors

Contract basis: Functional spec as binding scope in the contract

Acceptance criteria: Definition of measurable criteria for formal project acceptance

Change management: Documented basis for evaluating change requests

Advantages and Disadvantages

Advantages

  • Clarity: Both sides share the same understanding of requirements and solution
  • Risk reduction: Misunderstandings and scope creep are identified early
  • Binding: Functional spec serves as contractual basis and acceptance criteria
  • Cost certainty: Clear scope enables reliable effort estimate and budget
  • Quality: Acceptance criteria from the requirements spec form the basis for tests and QA

Disadvantages

  • Time: Thorough creation takes weeks – under time pressure shortcuts lead to expensive rework later
  • Rigid spec: Classic requirements docs fit poorly with agile projects and changing requirements
  • Missing user perspective: Purely technical specs can neglect actual user experience

Frequently Asked Questions about Requirements Specification / Functional Specification

What is the difference between requirements specification and functional specification?

The requirements spec is created by the client and describes WHAT the system should do (requirements from the user’s view). The functional spec is created by the contractor and describes HOW the requirements will be implemented (solution). The requirements spec is the question, the functional spec the answer.

Do I still need a requirements spec in agile development?

In purely agile projects the product backlog, user stories and sprint reviews replace the classic requirements spec. For initial commissioning, tenders or fixed-price projects a requirements spec is still useful – possibly in a lean form with epics and acceptance criteria instead of 200-page documents.

How detailed should a requirements spec be?

As detailed as necessary, as lean as possible. A good requirements spec describes business processes, functional and non-functional requirements, interfaces and constraints. It avoids prescribing technical solutions – that is the job of the functional spec. Rule of thumb: every requirement should be testable and unambiguous.

Related Terms

Want to use Requirements Specification / Functional Specification in your project?

We are happy to advise you on Requirements Specification / Functional Specification and find the optimal solution for your requirements. Benefit from our experience across over 200 projects.

Next Step

Questions about the topic? We're happy to help.

Our experts are available for in-depth conversations – no strings attached.

30 min strategy call – 100% free & non-binding

What is a Requirements Specification and Functional Specification? Definition, Difference & Examples