Back to Blog

How to write a brief for a software house (and get quotes you can compare)

Method
September 24, 2026

What a brief is for

It makes every supplier quote for the same thing. If each of them pictures a different project, you get different numbers back and no way of comparing them.

You don't need a fifty-page technical document. A clear description of the problem, of who will use the software and of what it has to do, in plain language, is enough. Working out the rest is the supplier's job, and the questions they ask you will show whether they've understood.

Start from the problem

The first part of the brief describes the problem you want to solve. The software you have in mind comes after that, if at all. A supplier who understands the problem can suggest a better solution than the one you'd imagined.

"We want an app with ten screens" says very little. Try something like this instead: "right now our technicians fill in their job reports on paper, photograph them and send them over chat, then someone in the office types them up by hand, and two days go by before we can invoice". With that sentence the supplier can ask whether you need an app at all, whether a web form would do, or whether the real knot is in invoicing.

Say what you use today, too. Excel sheets, an old management system, email, paper. If you recognise yourself in When Excel sheets became your ERP, say so, because that information carries weight. And if you still haven't decided whether to build or buy, sort that out before you write anything. We cover it in Custom or off-the-shelf business software?.

What it should contain

Six things, in whatever format you like. What matters is that none are missing.

  1. The context. Who you are, what you do, how many people work in the area involved.
  2. The problem. What doesn't work today and what it costs you, even if only in hours.
  3. The users. Who will use the software, how many of them, from where (office, warehouse, building site, customers at home) and on which devices.
  4. What it has to do, as a simple list in order of importance. Keep what's essential clearly apart from what would be nice to have.
  5. The systems it has to talk to. Accounting, e-commerce, CRM, the management software you already run, with contacts for whoever looks after them if you have them.
  6. The constraints. A real deadline such as a trade fair, a launch or the end of a contract, any regulatory requirements, and a rough budget if you're willing to share it.

You're under no obligation on budget. A rough range does help the supplier propose the right version of the project instead of guessing, though. If you'd rather keep it to yourself, at least ask for a minimal version and a full one.

What to leave out

Technical choices, unless you have a specific reason. Languages, frameworks and databases are for whoever will build and maintain the system to decide.

Writing "it must be built with technology X" has a predictable effect. Suppliers who would do better work with something else either fall in line or don't reply, and you lose proposals that might have been better. It's a different story if the constraint is real: company infrastructure that's already set, an in-house team who will maintain the code, a security policy. In that case write down the constraint and explain why.

Leave out small design details as well. Colours and where the buttons go get decided during design, by watching real users.

Ask for answers item by item

To make the quotes comparable, ask everyone to reply following your list. Each item should come back marked "included", "excluded" or "included on these conditions".

It's the simplest way to take apart the classic case of quotes that differ by a factor of three, which we talked about in How custom software is really priced. Two figures far apart start to make sense as soon as you see that one includes data migration and the other doesn't.

At the end of the brief, add the questions you want answered the same way by everyone:

  • What's included after delivery, and for how long?
  • How will we see progress during development?
  • What happens if we change a priority halfway through?
  • Who will own the code, the database and the access to the infrastructure?

Read the assumptions

In a reply, the most useful part is the assumptions. More than the price. That's where you find out who has actually thought about your project.

A supplier who writes "we assume your current data can be exported in a readable format" has spotted a real risk. One who writes no assumptions at all hasn't done that thinking yet, and will do it once the project is under way. In the same way, the questions you get after they've read the brief are worth more than a well-packaged presentation.

Before we write any code we run a scope and discovery phase, precisely to turn the brief into a scope everyone agrees on. Whoever the supplier is, though, a clear brief makes that phase shorter and more precise.

Frequently asked questions

How long should a brief for a software house be?

For most projects, two to five pages is enough. A clear problem and a list of functions in order of importance matter far more than the page count. A brief that's too detailed risks imposing solutions before anyone has discussed them.

Should I put the budget in the brief?

You don't have to, but a rough range gets you more realistic proposals. Otherwise, ask each supplier for a basic version and a full one, so you can compare their priorities too.

What if I can't describe what the software should do?

Describe how you work today, one step at a time, and where the process gets stuck. A good supplier will be able to work out the functions from that and put them to you for confirmation.

Let's find out together if we're the right partner for your project.
A twenty-minute call, no sales pitch. We work out what you need to build, what the first technical decision is and whether it makes sense to work together.
Tell us about your project

Ultimo aggiornamento: 24 settembre 2026

1. Chi siamo

ItaliansCodeItBetter S.R.L. (di seguito "ICIB", "noi", "nostro") è il titolare del trattamento dei dati personali raccolti tramite questo sito web.

Sede legale: Via Giuseppe Frua 22, 20146 Milano (MI)
Sede operativa: Viale Sabotino 19/2, 20135 Milano (MI)
Partita IVA: 14266910968
Email: vittorio@icib.dev

2. Dati che raccogliamo

Raccogliamo i seguenti dati personali esclusivamente attraverso il modulo di contatto presente sul nostro sito:

3. Come utilizziamo i tuoi dati

I dati raccolti vengono utilizzati esclusivamente per:

Non condividiamo mai i tuoi dati con terze parti per scopi commerciali o di marketing.

4. Tracking e Meta Ads

Il nostro sito utilizza Meta Pixel (Facebook Pixel) per finalità di tracciamento e ottimizzazione delle campagne pubblicitarie su Meta (Facebook e Instagram). Il pixel resta disattivato finché non presti il tuo consenso.

Meta Pixel raccoglie informazioni sulla tua visita, incluse:

Questi dati vengono utilizzati per mostrarti annunci pertinenti sui social media e per misurare l'efficacia delle nostre campagne pubblicitarie. Puoi gestire le preferenze pubblicitarie direttamente dalle impostazioni del tuo account Meta.

5. Cookie e tecnologie di tracciamento

Non utilizziamo cookie di caching sul nostro sito web. Gli unici cookie utilizzati sono quelli tecnici necessari al funzionamento del sito e alla memorizzazione della tua scelta, e quelli necessari al funzionamento di Meta Pixel come descritto nella sezione precedente.

Puoi modificare la tua scelta in qualsiasi momento: apri le preferenze cookie.

6. Base giuridica del trattamento

7. Conservazione dei dati

I tuoi dati personali vengono conservati per il tempo strettamente necessario a fornire i servizi richiesti e, in ogni caso, per un periodo non superiore a 24 mesi dalla raccolta, salvo diversi obblighi di legge. La tua scelta sui cookie viene conservata per 12 mesi, dopodiché ti verrà richiesta nuovamente.

8. I tuoi diritti (GDPR)

In conformità con il Regolamento Generale sulla Protezione dei Dati (GDPR), hai diritto a:

Per esercitare i tuoi diritti, contattaci all'indirizzo: vittorio@icib.dev

9. Sicurezza dei dati

Adottiamo misure di sicurezza tecniche e organizzative appropriate per proteggere i tuoi dati personali da accessi non autorizzati, perdita, distruzione o alterazione. Tutte le comunicazioni con i nostri server sono protette tramite protocolli di crittografia.

10. Modifiche alla Privacy Policy

Ci riserviamo il diritto di modificare questa Privacy Policy in qualsiasi momento. Le modifiche saranno pubblicate su questa pagina con indicazione della data di ultimo aggiornamento. Ti consigliamo di consultare periodicamente questa pagina per rimanere informato su come proteggiamo i tuoi dati.

11. Contatti

Per qualsiasi domanda o richiesta riguardante questa Privacy Policy o il trattamento dei tuoi dati personali, puoi contattarci a:

Email: vittorio@icib.dev
Indirizzo: Viale Sabotino 19/2, 20135 Milano (MI)

Hai anche il diritto di presentare un reclamo all'Autorità Garante per la protezione dei dati personali se ritieni che il trattamento dei tuoi dati violi il GDPR.

Data di entrata in vigore: 17 novembre 2025

1. Accettazione dei termini

Benvenuto. Accedendo al sito e utilizzando i servizi offerti da ItaliansCodeItBetter S.R.L. (di seguito "Sito"), l'utente accetta integralmente i presenti Termini di Servizio (di seguito "Termini"). Se non si è d'accordo con i Termini, non utilizzare il Sito né i servizi ivi offerti.

2. Descrizione del servizio

Il Sito è una vetrina che presenta ItaliansCodeItBetter S.R.L., la sua realtà informatica e i servizi potenziali che l'azienda potrebbe offrire. Il Sito consente agli utenti di contattare l'azienda per richiedere ulteriori informazioni o avviare un potenziale dialogo commerciale. Non sono presenti account utente, elaborazioni di pagamenti né raccolta di dati tramite il Sito, salvo i dati forniti volontariamente dall'utente attraverso contatti diretti (posta elettronica o moduli di contatto), regolati dalla normativa privacy applicabile.

Il Sito può contenere link a pagine social e ad altre risorse esterne.

3. Account utente e registrazione

Non è previsto alcun account utente o processo di registrazione sul Sito. Qualsiasi tentativo di creare, utilizzare o accedere a un account sarà considerato non conforme ai presenti Termini. Per esigenze di contatto, utilizzare l'indirizzo email indicato in "Informazioni di contatto" o i canali ufficiali della società.

4. Politica di utilizzo accettabile

L'uso del Sito deve essere diligente e conforme alla legge. È vietato:

5. Diritti di proprietà intellettuale

Tutti i diritti di proprietà intellettuale relativi al contenuto del Sito (testi, grafica, logo, codice, video, immagini, marchi) sono di proprietà di ItaliansCodeItBetter S.R.L. o dei suoi licenziatari. È vietata qualsiasi riproduzione, distribuzione, modifica o uso non autorizzato dei contenuti del Sito senza il previo consenso scritto della società, salvo quanto espressamente previsto dai presenti Termini. L'uso lecito per fini informativi è consentito solo per consultazione personale e non commerciale, purché non venga rimosso alcun avviso di copyright o proprietà.

6. Termini di pagamento

Non applicabile. Il Sito non elabora pagamenti né offre servizi tramite transazioni online. Eventuali pagamenti o accordi economici avverranno fuori dal Sito secondo contratti separati e documentazione dedicata.

7. Contenuti generati dagli utenti

Non sono previsti contenuti generati dagli utenti sul Sito (ad es. pubblicazioni, commenti o caricamenti). Qualora l'utente comunichi contenuti o feedback tramite i canali di contatto ufficiali, tali contenuti non conferiscono all'utente diritti di proprietà sul Sito o sui processi aziendali. L'azienda potrà utilizzare tali contenuti o feedback per migliorare i propri servizi, nel rispetto della normativa applicabile e della privacy dell'utente.

8. Attività vietate

Oltre a quanto specificato nel punto 4, è vietato:

9. Risoluzione

I presenti Termini si risolvono automaticamente in caso di violazione sostanziale, senza pregiudicare diritti già maturati. In caso di violazioni sostanziali, ItaliansCodeItBetter S.R.L. si riserva il diritto di sospendere o limitare l'accesso al Sito, nonché di intraprendere eventuali azioni legali necessarie. Le obbligazioni e responsabilità maturate prima della risoluzione rimangono efficaci.

10. Disclaimer e limitazioni di responsabilità

Il Sito è fornito "così com'è" e "come disponibile". ItaliansCodeItBetter S.R.L. non garantisce che il Sito sia sempre disponibile, privo di errori o interruzioni, né garantisce l'accuratezza o la completezza delle informazioni ivi contenute. In nessun caso ItaliansCodeItBetter S.R.L. sarà responsabile per danni diretti, indiretti, incidentali, consequenziali o punitivi derivanti dall'uso o dall'impossibilità di utilizzare il Sito, inclusi (senza limitazioni) perdita di profitti, dati o opportunità. Il Sito può contenere link a servizi o contenuti di terzi: tali contenuti non sono controllati dall'azienda e non comportano alcuna responsabilità.

11. Indennizzo

L'utente si impegna a manlevare e tenere indenne ItaliansCodeItBetter S.R.L., i suoi amministratori, dipendenti e affiliati da qualsiasi reclamo, perdita, responsabilità, danno, spesa o costo (incluse le spese legali) derivante dall'uso non conforme dei Termini, dalla violazione di diritti di terzi o dall'uso improprio del Sito.

12. Legge applicabile

I presenti Termini e l'uso del Sito sono disciplinati dalla legge italiana. Per qualsiasi controversia derivante dall'uso del Sito o dai presenti Termini, sarà competente in via esclusiva il Foro di Milano, salvo diverse norme inderogabili a tutela del consumatore ove applicabili.

13. Modifiche ai termini

ItaliansCodeItBetter S.R.L. si riserva il diritto di modificare i presenti Termini in qualsiasi momento. Le modifiche entrano in vigore al momento della pubblicazione sul Sito o mediante comunicazione all'utente, se prevista. L'uso continuato del Sito dopo la pubblicazione delle modifiche costituisce accettazione delle nuove condizioni.

14. Informazioni di contatto

ItaliansCodeItBetter S.R.L.
Indirizzo: Via Giuseppe Frua 22, 20146 Milano, Lombardia, Italia
Email: vittorio@icib.dev

Note finali

Per la protezione dei dati personali si rinvia alla Privacy Policy del Sito e alle modalità di trattamento indicate nelle comunicazioni ufficiali dell'azienda. Qualsiasi contatto o richiesta inviata all'indirizzo email indicato può comportare il trattamento di dati personali secondo la normativa vigente.

Last updated: 24 September 2026

English translation for convenience. The Italian version prevails in case of discrepancy.

1. Who we are

ItaliansCodeItBetter S.R.L. (hereinafter "ICIB", "we", "our") is the data controller for the personal data collected through this website.

Registered office: Via Giuseppe Frua 22, 20146 Milano (MI)
Operational office: Viale Sabotino 19/2, 20135 Milano (MI)
VAT number: 14266910968
Email: vittorio@icib.dev

2. Data we collect

We collect the following personal data exclusively through the contact form on our website:

3. How we use your data

The data collected is used exclusively to:

We never share your data with third parties for commercial or marketing purposes.

4. Tracking and Meta Ads

Our website uses Meta Pixel (Facebook Pixel) to track and optimise advertising campaigns on Meta (Facebook and Instagram). The pixel stays disabled until you give your consent.

Meta Pixel collects information about your visit, including:

This data is used to show you relevant ads on social media and to measure the effectiveness of our advertising campaigns. You can manage your ad preferences directly from your Meta account settings.

5. Cookies and tracking technologies

We do not use caching cookies on our website. The only cookies used are the technical cookies needed for the website to work and to store your choice, and those needed for Meta Pixel to work as described in the previous section.

You can change your choice at any time: open cookie preferences.

6. Legal basis for processing

7. Data retention

Your personal data is kept only for as long as strictly necessary to provide the services requested and, in any case, for no longer than 24 months from collection, unless other legal obligations apply. Your cookie choice is kept for 12 months, after which you will be asked again.

8. Your rights (GDPR)

In accordance with the General Data Protection Regulation (GDPR), you have the right to:

To exercise your rights, contact us at: vittorio@icib.dev

9. Data security

We adopt appropriate technical and organisational security measures to protect your personal data against unauthorised access, loss, destruction or alteration. All communications with our servers are protected by encryption protocols.

10. Changes to this Privacy Policy

We reserve the right to change this Privacy Policy at any time. Changes will be published on this page together with the date of the last update. We recommend checking this page regularly to stay informed about how we protect your data.

11. Contact

For any question or request about this Privacy Policy or the processing of your personal data, you can contact us at:

Email: vittorio@icib.dev
Address: Viale Sabotino 19/2, 20135 Milano (MI)

You also have the right to lodge a complaint with the Garante per la protezione dei dati personali (the Italian Data Protection Authority) if you believe that the processing of your data infringes the GDPR.

Effective date: 17 November 2025

English translation for convenience. The Italian version prevails in case of discrepancy.

1. Acceptance of the terms

Welcome. By accessing the website and using the services offered by ItaliansCodeItBetter S.R.L. (hereinafter the "Site"), the user fully accepts these Terms of Service (hereinafter the "Terms"). If you do not agree with the Terms, do not use the Site or the services offered on it.

2. Description of the service

The Site is a showcase presenting ItaliansCodeItBetter S.R.L., its IT business and the potential services the company may offer. The Site allows users to contact the company to request further information or to start a potential business conversation. There are no user accounts, no payment processing and no data collection through the Site, except for data provided voluntarily by the user through direct contact (email or contact forms), which is governed by the applicable privacy legislation.

The Site may contain links to social media pages and other external resources.

3. User accounts and registration

The Site has no user accounts and no registration process. Any attempt to create, use or access an account will be considered a breach of these Terms. To get in touch, use the email address shown under "Contact information" or the company's official channels.

4. Acceptable use policy

The Site must be used with due care and in compliance with the law. It is forbidden to:

5. Intellectual property rights

All intellectual property rights in the content of the Site (text, graphics, logo, code, videos, images, trademarks) belong to ItaliansCodeItBetter S.R.L. or its licensors. Any reproduction, distribution, modification or unauthorised use of the Site's content without the company's prior written consent is forbidden, except as expressly provided in these Terms. Lawful use for information purposes is permitted only for personal, non-commercial consultation, provided that no copyright or ownership notice is removed.

6. Payment terms

Not applicable. The Site does not process payments or offer services through online transactions. Any payments or financial arrangements will take place outside the Site under separate contracts and dedicated documentation.

7. User-generated content

The Site does not allow user-generated content (e.g. posts, comments or uploads). If the user sends content or feedback through the official contact channels, such content does not give the user any ownership rights over the Site or the company's processes. The company may use such content or feedback to improve its services, in compliance with applicable legislation and the user's privacy.

8. Prohibited activities

In addition to what is set out in section 4, the following are forbidden:

9. Termination

These Terms terminate automatically in the event of a material breach, without prejudice to rights already accrued. In the event of material breaches, ItaliansCodeItBetter S.R.L. reserves the right to suspend or restrict access to the Site and to take any legal action necessary. Obligations and liabilities accrued before termination remain in effect.

10. Disclaimer and limitation of liability

The Site is provided "as is" and "as available". ItaliansCodeItBetter S.R.L. does not guarantee that the Site will always be available or free from errors or interruptions, nor does it guarantee the accuracy or completeness of the information it contains. In no event will ItaliansCodeItBetter S.R.L. be liable for direct, indirect, incidental, consequential or punitive damages arising from the use of, or inability to use, the Site, including (without limitation) loss of profits, data or opportunities. The Site may contain links to third-party services or content: such content is not controlled by the company and does not give rise to any liability on its part.

11. Indemnification

The user agrees to indemnify and hold harmless ItaliansCodeItBetter S.R.L., its directors, employees and affiliates from any claim, loss, liability, damage, expense or cost (including legal fees) arising from use that does not comply with the Terms, from the infringement of third-party rights or from improper use of the Site.

12. Governing law

These Terms and the use of the Site are governed by Italian law. Any dispute arising from the use of the Site or from these Terms will fall under the exclusive jurisdiction of the Court of Milan (Foro di Milano), except where mandatory consumer protection rules provide otherwise.

13. Changes to the terms

ItaliansCodeItBetter S.R.L. reserves the right to change these Terms at any time. Changes take effect when they are published on the Site or, where applicable, when they are communicated to the user. Continued use of the Site after the changes are published constitutes acceptance of the new terms.

14. Contact information

ItaliansCodeItBetter S.R.L.
Address: Via Giuseppe Frua 22, 20146 Milano, Lombardia, Italia
Email: vittorio@icib.dev

Final notes

For the protection of personal data, please refer to the Site's Privacy Policy and to the processing methods set out in the company's official communications. Any contact or request sent to the email address shown may involve the processing of personal data in accordance with the laws in force.