Caiet de sarcini aplicație mobilă: model pe o pagină
De Mehdi Azizi
Actualizat pe , 10 min.
Caietul de sarcini pe o pagină care îți definește aplicația iOS și ghidează AI-ul: 10 întrebări, un model de copiat și ce să nu pui în el.
Caietul de sarcini pentru o aplicație mobilă: răspunsul scurt
Un caiet de sarcini bun pentru o aplicație mobilă, când îți creezi propria aplicație, încape pe o pagină. Răspunde la zece întrebări: pentru cine, ce problemă, ce funcție principală, cum câștigă aplicația bani, ce se întâmplă fără cont, ce date trebuie să supraviețuiască, pe ce platformă, ce rămâne în afara primei versiuni, cum vei ști că merge și cu ce constrângeri. Modelul de copiat e mai jos. Poți și să descarci șablonul și grila lui de validare (.md), fără înregistrare.
Modelele de 40 de pagini pe care le găsești online sunt scrise pentru altceva: un client care comandă o aplicație unui furnizor și are nevoie de un document contractual. Tu ești în același timp cel care decide și cel care construiește, de multe ori cu ajutorul AI-ului. Caietul tău de sarcini servește la două lucruri: să tranșezi deciziile înainte să scrii cod și să-i dai lui Claude, ChatGPT sau Cursor un context clar, ca să construiască aplicația potrivită.
Îmi public propriile aplicații iOS. Solys, un ceas deșteptător cu mini-jocuri, și TradaZen, un simulator de trading, sunt pe App Store. Nolera și Clic au fost respinse de Apple, apoi corectate. Asta e metoda pe care o aplic la fiecare dintre ele și pe care ți-o propun aici.
De ce o pagină e suficientă ca să-ți definești aplicația
Un document lung îți dă impresia că ai avansat. În practică, e scris o dată, rar recitit, iar proiectul se îndepărtează de el din primele săptămâni. O pagină, în schimb, se recitește în două minute înainte de fiecare sesiune de lucru.
Limita de spațiu are și un efect util: te obligă să decizi. Dacă un răspuns depășește două fraze, de obicei decizia nu e luată. Mai bine afli asta pe o foaie decât în cod, trei săptămâni mai târziu.
În plus, o pagină are dimensiunea potrivită pentru AI. O poți lipi întreagă într-o conversație sau o poți pune în fișierul de context al proiectului. Un document scurt e mai ușor de recitit și reduce instrucțiunile contradictorii. Nu garantează că AI-ul le va respecta: verifică-i propunerile față de acest cadru.
Ce trebuie să conțină un caiet de sarcini pentru o aplicație mobilă?
Răspunde la fiecare dintre aceste întrebări în una sau două fraze.
- Cine folosește aplicația și în ce situație? Nu „cei între 18 și 35 de ani". Mai degrabă o persoană anume, într-un moment anume al zilei.
- Ce problemă rezolvă aplicația, într-o frază? Dacă ai nevoie de „și în plus", descrii două aplicații.
- Care este funcția principală a primei versiuni? Una singură. Celelalte vor aștepta cifrele. Pagina MVP pentru aplicație iOS explică cum alegi.
- Cum câștigă aplicația bani? Abonament, cumpărare unică sau gratuită. Răspunsul ăsta schimbă aplicația încă de la primul ecran. Dacă eziți, citește abonament sau cumpărare unică pentru o aplicație iOS.
- Ce se poate face fără să creezi cont? Dacă decizi devreme ce e accesibil fără înregistrare, nu mai trebuie să refaci tot fluxul de onboarding.
- Ce date trebuie să supraviețuiască schimbării telefonului? E întrebarea care decide dacă ai nevoie de un backend precum Supabase sau dacă totul poate rămâne pe dispozitiv.
- Doar iOS sau iOS și Android? Sfatul meu când ești la început: întâi iOS. Explic de ce în aplicație iOS și Android în același timp.
- Ce rămâne explicit ÎN AFARA primei versiuni? Cea mai utilă secțiune din document. Taie discuțiile înainte să apară, atât cu tine însuți, cât și cu AI-ul.
- Cum vei ști că merge? Un singur semnal, măsurabil în săptămânile de după lansare: perioade de probă gratuite pornite, abonați, utilizatori care revin.
- Care sunt constrângerile tale reale? Timpul pe care i-l poți acorda în fiecare săptămână, echipamentul și contul Apple Developer, care costă 99 $ pe an. N-ai Mac? Nu e un impediment, cum explic în publicarea unei aplicații iOS fără Mac.
Modelul de caiet de sarcini de copiat
Copiază modelul ăsta într-o notiță sau într-un fișier text la rădăcina proiectului, apoi completează fiecare rând.
- Nume provizoriu al aplicației: …
- Pentru cine: o persoană care … în momentul în care …
- Problema rezolvată, într-o frază: …
- Funcția principală a versiunii 1: …
- Ce vede utilizatorul când deschide aplicația prima dată: …
- Model de business: abonament / cumpărare unică / gratuit, și ce e plătit: …
- Fără cont, se poate: …
- Date de păstrat între două telefoane: niciuna / …
- Platformă: întâi iOS (Android mai târziu, dacă cifrele o justifică)
- În afara versiunii 1: …, …, …
- Semnal de succes: …
- Stack: React Native, Expo, Supabase dacă e nevoie de conturi, RevenueCat pentru abonamente
- Constrângeri: … ore pe săptămână, cont Apple Developer deschis sau nu, Mac sau nu
- Aplicații a căror experiență îmi place și de ce: …
Adaugă trei până la cinci capturi din aplicații care îți plac, cu un cuvânt despre ce îți place. E mai grăitor decât un ghid de identitate vizuală, atât pentru tine, cât și pentru AI.
Un caiet de sarcini nu e o listă de dorințe. E o listă de decizii luate.
Exemplu: pagina completată pentru o aplicație fictivă
Ca să vezi nivelul de detaliu așteptat, iată modelul completat pentru o aplicație inventată pentru exemplu, un cronometru pentru învățat.
- Pentru cine: un student care învață singur seara și se deconectează după zece minute.
- Problema: nu reușește să țină o sesiune de lucru fără să pună mâna pe telefon.
- Funcția principală: pornești o sesiune cronometrată și îți vezi seria de zile respectate.
- Primul ecran: un singur buton pentru a porni o sesiune.
- Model de business: abonament pentru statisticile detaliate, sesiunea de bază gratuită.
- Fără cont: totul, în afară de salvarea între două telefoane.
- În afara versiunii 1: mod de grup, clasament între prieteni, widgeturi, versiune Android.
- Semnal de succes: utilizatori care revin mai multe zile la rând.
Observă ce lipsește intenționat: nicio listă de douăzeci de ecrane, nicio culoare impusă, nicio arhitectură. Alegerile astea vin pe parcurs, iar pagina te ajută să verifici că rămân în serviciul funcției principale.
Cum îți folosești caietul de sarcini ca să ghidezi AI-ul
Aici pagina ta aduce cel mai mult. Un AI care scrie cod fără context ghicește și de multe ori ghicește altă aplicație decât a ta.
Pune pagina în contextul permanent al proiectului. Claude Code citește un fișier CLAUDE.md de la rădăcină, Cursor are propriile fișiere de reguli. Lipește acolo caietul de sarcini, împreună cu stack-ul. Fiecare cerere pornește astfel de la aceeași bază.
Citează secțiunea „în afara versiunii 1" când AI-ul face prea mult. Asistenții propun bucuroși funcții în plus: un mod întunecat, o partajare, o notificare. Lista de excluderi îți dă un răspuns gata făcut: nu acum.
Cere un plan care respectă pagina. Înainte de un șantier mare, scrie: „iată caietul meu de sarcini, propune un plan pentru funcția principală, nu scrie încă cod". Vezi imediat dacă planul se îndepărtează de ce ai decis.
Pune-l să recitească pagina, nu doar codul. Întreabă: „ce întrebări din acest caiet de sarcini sunt neclare sau contradictorii?". E o utilizare subestimată a AI-ului și te scutește de săptămâni de muncă în direcția greșită.
Ca să aprofundezi subiectul, am detaliat capcanele și verificările în cum creezi o aplicație iOS cu AI.
Transformă deciziile în criterii de validare
O funcție principală trebuie să aibă un rezultat observabil. Pentru cronometrul fictiv din exemplu, „cronometrul funcționează" e prea vag. Scrie mai degrabă: „Pornesc o sesiune, timpul rămas se afișează, o pot opri și regăsesc ultima sesiune terminată după ce redeschid aplicația." Decide separat dacă cronometrul trebuie să meargă și cu ecranul blocat: alegerea asta poate schimba munca tehnică.
Adaugă pentru fiecare funcție trei rânduri: acțiune, rezultat așteptat, dovadă. Dovada poate fi un test automat pentru un calcul sau o verificare pe dispozitiv pentru un flux. Notează și ce n-a fost testat. Grila asta mică te ferește să confunzi un ecran terminat cu o funcție gata de folosit.
Iată o grilă completată pentru cronometrul nostru fictiv. Sunt criterii de verificat, nu teste deja trecute:
| Decizie din cadrare | De testat | Rezultat așteptat |
|---|---|---|
| Sesiunea de bază e accesibilă fără cont | Instalezi aplicația și pornești o sesiune fără înregistrare | Niciun formular de înregistrare nu blochează pornirea |
| O sesiune abandonată nu contează în serie | Oprești o sesiune înainte de final, apoi deschizi istoricul | Nu se adaugă nicio sesiune terminată |
| Istoricul rămâne pe dispozitiv | Termini o sesiune, închizi și redeschizi aplicația | Sesiunea apare o singură dată, cu durata corectă |
| Cronometrul de bază funcționează fără rețea | Activezi modul avion și termini o sesiune | Cronometrul și salvarea locală rămân utilizabile |
| Statisticile detaliate sunt plătite | Deschizi statisticile fără abonament | Se afișează oferta; sesiunea de bază rămâne accesibilă |
Subiectele încă neclare devin decizii de luat. De exemplu: ce se întâmplă dacă utilizatorul blochează ecranul sau schimbă ora telefonului în timpul unei sesiuni? Nu lăsa agentul să aleagă pe tăcute. Scrie comportamentul dorit, apoi adaugă cazul în grilă. Ca să organizezi testarea pe o instalare reală, folosește ghidul cum îți testezi aplicația de iPhone cu TestFlight.
Cum decizi ce scoți când prima versiune se umflă
Ia fiecare funcție și pune o întrebare: „Fără ea, utilizatorul mai poate obține rezultatul promis?" Pentru cronometrul nostru, un clasament între prieteni poate aștepta. Regăsirea unei sesiuni terminate e necesară dacă promiți o serie de zile. Un ecran de abonament devine necesar doar dacă vinzi efectiv statisticile încă din această versiune.
Notează decizia și motivul ei în jurnalul din modelul descărcabil. Vei putea reveni asupra alegerii după teste, fără să pierzi motivul pentru care ai stabilit perimetrul inițial. Tutorialul cum creezi o aplicație cu Claude Code arată apoi cum transformi cadrarea asta în cereri limitate și verificabile.
Pentru o experiență reală, TradaZen și-a schimbat perimetrul după publicare. Cadrarea servește la lansarea unei prime versiuni măsurabile, apoi la decizia pentru următoarea, pe baza feedbackului real.
Capcana catalogului de funcționalități
Reflexul natural e să enumeri tot ce „va trebui să facă" aplicația: harta, chatul, notificările, programul de recomandare, modul offline. Catalogul ăsta e cel mai sigur semn al unui proiect care nu ajunge la capăt, dintr-un motiv simplu: fiecare funcție adăugată înainte de lansare amână momentul în care utilizatori reali îți spun ce contează.
O primă versiune bună face un singur lucru și îl face bine. Atenție totuși la excesul invers: Apple cere ca o aplicație să ofere mai mult decât un site web împachetat, conform regulii 4.2 din App Review Guidelines. O singură funcție principală, da; o carcasă goală, nu: acesta e motivul guideline-ului 4.2.
Ce nu trebuie să conțină un caiet de sarcini pentru o aplicație mobilă
- Un ghid complet de identitate vizuală. La început ajung câteva capturi de referință.
- Un plan zi cu zi. Încă n-ai informațiile ca să-l respecți. Un obiectiv pe săptămână e suficient.
- O arhitectură tehnică detaliată. Alege un stack testat, apoi lasă detaliile să se decidă pe parcurs.
- Funcții „pentru mai târziu" amestecate cu restul. Toate merg în secțiunea „în afara versiunii 1".
Când îți actualizezi caietul de sarcini?
Recitește-l la începutul fiecărei săptămâni de lucru. Actualizează-l doar când o decizie se schimbă dintr-un motiv real: un test pe iPhone care arată că un ecran nu merge, feedback de la un tester, o constrângere Apple descoperită pe drum. Dacă îl modifici în fiecare zi, înseamnă că nu mai încadrează nimic.
După ce prima versiune e publicată, pagina devine baza pentru următoarea: ce era în afara versiunii 1 urcă în listă, ordonat după ce îți spun cifrele. Imaginea de ansamblu a parcursului, de la idee la publicare, e pe pagina cum creezi o aplicație pentru iPhone.
De la pagină la aplicația publicată
Dacă ai răspuns la cele zece întrebări, ai făcut deja munca pe care multe proiecte o sar. Urmează să construiești funcția principală, s-o testezi pe iPhone, să conectezi abonamentele și să pregătești dosarul pentru Apple.
Parcursul ăsta e cel din iOS Kit, în patru etape de urmat în ritmul tău: prima te ajută să alegi aplicația care poate aduce bani, publicul și prețul ei, iar caietul tău de sarcini e punctul de plecare.
Nu știi dacă ideea ta e gata să încapă pe o pagină? Diagnosticul gratuit îți spune ce îți blochează proiectul azi și cu ce etapă să începi. Pagina principală arată apoi cum să creezi o aplicație mobilă pornind de la această cadrare, cu Claude Code.
Nu îți promit nici venituri, nici publicare: Apple e cel care validează, iar piața decide restul. Fără kit, modelul ăsta îți ajunge ca să începi.
Întrebări frecvente
Cum scrii un caiet de sarcini pentru o aplicație mobilă?
Ține caietul de sarcini pe o pagină: zece întrebări, una sau două fraze pe răspuns. Ele privesc publicul, problema, funcția principală, modelul de business, ce se întâmplă fără cont, datele care trebuie să supraviețuiască, platforma, ce rămâne în afara primei versiuni, semnalul de succes și constrângerile. Dacă un răspuns depășește două fraze, de obicei decizia nu e luată.
Ce program folosești ca să scrii caietul de sarcini al unei aplicații?
O simplă notiță sau un fișier text la rădăcina proiectului: copiezi modelul acolo, apoi completezi fiecare rând. Poți și să descarci șablonul și grila lui de validare (.md), fără înregistrare. Ca să ghidezi un AI, pune-l apoi în fișierul de context al proiectului.
Ai nevoie de un caiet de sarcini de 40 de pagini pentru o aplicație?
Nu, când îți creezi propria aplicație: o pagină e suficientă. Modelele de 40 de pagini de pe internet sunt scrise pentru un client care comandă o aplicație unui furnizor și are nevoie de un document contractual. Tu decizi și construiești: pagina ta servește la tranșarea deciziilor înainte de cod și la a-i da context AI-ului.
Cum îi dai caietul de sarcini unui AI care scrie cod?
Pune pagina în contextul permanent al proiectului: Claude Code citește un fișier CLAUDE.md de la rădăcină, Cursor are propriile fișiere de reguli. Citează secțiunea „în afara versiunii 1" când AI-ul face prea mult. Înainte de un șantier mare, cere un plan care respectă pagina, fără să scrie cod imediat.
Cum verifici că o funcție respectă caietul de sarcini?
Adaugă pentru fiecare funcție trei rânduri: acțiunea, rezultatul așteptat și dovada. Dovada poate fi un test automat pentru un calcul sau o verificare pe dispozitiv pentru un flux. Notează și ce n-a fost testat, ca să nu confunzi un ecran terminat cu o funcție gata de folosit.
Ce nu trebuie să pui într-un caiet de sarcini pentru o aplicație?
Patru lucruri de evitat: un ghid complet de identitate vizuală, un plan zi cu zi, o arhitectură tehnică detaliată și funcții „pentru mai târziu" amestecate cu restul. La început ajung câteva capturi de referință, iar pentru planificare e suficient un obiectiv pe săptămână. Funcțiile pentru mai târziu merg toate în secțiunea „în afara versiunii 1".