Tam nereikia techninių žinių ar išsamios specifikacijos. Pradžioje pakanka aiškiai aprašyti, kokią problemą norite išspręsti, kas naudosis sistema ir kokių pagrindinių funkcijų tikitės.
Šiame straipsnyje parodysiu, kaip paruošti užduoties aprašymą, pateiksiu konkretų pavyzdį ir šabloną, kurį galėsite užpildyti tiesiog čia, svetainėje.
Kodėl svarbu aiškiai aprašyti projekto idėją?
Įsivaizduokite, kad kreipiatės į programuotoją su prašymu: „Reikia sistemos užsakymams valdyti.“
Iš šio sakinio neaišku, kaip klientai pateiks užsakymus, kas juos administruos, ar reikės mokėjimų, pranešimų, integracijų su kitomis programomis.
Vienai įmonei gali pakakti paprastos užsakymų lentelės, o kitai reikės sistemos su klientų paskyromis, sandėlio likučiais, sąskaitomis ir automatiniais pranešimais. Abi sistemos valdo užsakymus, tačiau jų kūrimo apimtis ir kaina gali skirtis kelis kartus ar dar daugiau.
Todėl kuo aiškiau aprašysite poreikį, tuo lengviau bus įvertinti projekto sudėtingumą, pasiūlyti tinkamą sprendimą ir suplanuoti darbus.
Ką reikėtų aprašyti prieš kreipiantis į programuotoją?
1. Kokią problemą norite išspręsti?
Pradėkite nuo dabartinės situacijos, o ne nuo pageidaujamos technologijos. Pavyzdžiui:
„Šiuo metu klientų užsakymus gauname el. paštu, o informaciją perkeliame į Excel. Darbuotojai kartais praleidžia užsakymus, o jų būsenas tenka tikslinti telefonu. Norime viską valdyti vienoje vietoje.“
Toks aprašymas padeda suprasti ne tik tai, kokios sistemos reikia, bet ir kokią naudą ji turėtų suteikti.
2. Kas naudosis sistema?
Nurodykite pagrindines vartotojų grupes ir ką kiekviena iš jų turės galėti atlikti. Pavyzdžiui:
- Administratorius valdo naudotojus, užsakymus ir sistemos nustatymus.
- Darbuotojas mato jam priskirtas užduotis ir keičia jų būsenas.
- Klientas pateikia užsakymą ir stebi jo vykdymą.
Jei žinote, nurodykite ir apytikslį naudotojų skaičių. Sistema penkiems darbuotojams gali turėti kitokius poreikius nei platforma tūkstančiams klientų.
3. Kokias pagrindines funkcijas sistema turi atlikti?
Aprašykite, ką naudotojas galės padaryti sistemoje. Nebūtina aiškinti, kaip tai turi būti techniškai įgyvendinta. Pavyzdžiui, vietoj „reikia užsakymų modulio“ parašykite:
- Klientas užpildo užsakymo formą.
- Darbuotojas mato naują užsakymą bendrame sąraše.
- Darbuotojas gali pakeisti jo būseną.
- Klientas gauna pranešimą, kai užsakymas paruoštas.
- Administratorius gali peržiūrėti užsakymų istoriją.
Toks aprašymas leidžia daug geriau suprasti, kaip sistema turėtų veikti.
4. Ar sistema turės veikti kartu su kitomis programomis?
Jeigu jau naudojate apskaitos, sandėlio, klientų valdymo ar kitas sistemas, jas paminėkite. Pavyzdžiui, galbūt norėsite, kad naujoje sistemoje patvirtinus užsakymą duomenys automatiškai pasiektų apskaitos programą.
Nebūtina žinoti, ar tokia integracija techniškai įmanoma. Pradžioje svarbu suprasti, kokio rezultato tikitės.
5. Kas svarbiausia pirmajai versijai?
Nebūtina iš karto kurti visų sugalvotų funkcijų. Pabandykite jas suskirstyti į dvi grupes.
Būtina pirmajai versijai:
- klientų užsakymų pateikimas;
- užsakymų sąrašas darbuotojams;
- užsakymo būsenos keitimas.
Galima įgyvendinti vėliau:
- išsamios statistikos ir ataskaitos;
- automatinis sąskaitų generavimas;
- papildomos integracijos.
Tai padeda suplanuoti pirmąjį sistemos etapą ir neinvestuoti į funkcijas, kurių iš pradžių gali net neprireikti.
6. Koks numatomas terminas ir biudžetas?
Jeigu turite konkretų terminą arba biudžeto ribas, nurodykite jas. Tai nereiškia, kad programuotojas automatiškai pasiūlys projektą už visą jūsų biudžetą. Ši informacija padeda suprasti, kokios apimties sprendimą verta svarstyti.
Jei biudžeto nežinote, taip ir parašykite. Tuomet galima aptarti skirtingus funkcionalumo variantus ir jų kainas.
Praktinis pavyzdys: kaip atrodo paruošta užduotis?
Tarkime, nedidelė įmonė nori užsakymų valdymo sistemos.
Projektas: užsakymų valdymo sistema.
Problema: užsakymai šiuo metu priimami el. paštu ir telefonu. Visa informacija rankiniu būdu perkeliama į Excel, todėl pasitaiko klaidų ir sunku stebėti užsakymų būsenas.
Vartotojai: 1 administratorius, 5 darbuotojai ir įmonės klientai.
Pagrindinės funkcijos:
- klientas gali pateikti užsakymą;
- darbuotojai mato užsakymų sąrašą;
- darbuotojas gali keisti užsakymo būseną;
- klientas gauna el. laišką apie pasikeitusią būseną;
- administratorius gali peržiūrėti visų užsakymų istoriją.
Integracijos: ateityje norėtume sujungti sistemą su naudojama apskaitos programa.
Pirmajai versijai: svarbiausia užsakymų pateikimas, peržiūra ir būsenų valdymas.
Terminas: norėtume pradėti naudoti per 3 mėnesius.
Biudžetas: norime gauti preliminarų įvertinimą.
Tokio aprašymo pakanka pradėti pokalbį, išsiaiškinti papildomus klausimus ir preliminariai įvertinti projekto apimtį.
Užduoties programuotojui šablonas
Užpildykite šabloną tiesiog čia. Tada nukopijuokite aprašymą, atsisiųskite jį kaip failą arba išsiųskite man. Nežinomus punktus drąsiai palikite tuščius, juos galima aptarti vėliau.
Ar būtina viską žinoti iš anksto?
Ne. Programavimo projektai dažnai prasideda nuo problemos, o ne nuo iki smulkmenų paruošto sprendimo.
Jums nereikia nuspręsti, kokią duomenų bazę naudoti, kokia programavimo kalba turi būti parašyta sistema ar kaip tiksliai išdėstyti kiekvieną mygtuką. Tačiau svarbu suprasti, ką sistema turi atlikti ir kokio rezultato tikitės.
Detalesnė techninė specifikacija, ekranų struktūra, duomenų modelis ir funkcionalumo taisyklės gali būti paruošiamos planuojant projektą.
Kas vyksta pateikus užduotį?
Gavusi projekto aprašymą, pirmiausia susipažįstu su jūsų poreikiais ir išsiaiškinu trūkstamą informaciją.
Toliau aptariame galimą sprendimą, svarbiausias funkcijas ir darbų etapus. Jei projektas nedidelis ir reikalavimai aiškūs, galima paruošti kainos bei terminų pasiūlymą. Sudėtingesniems projektams pirmiausia gali reikėti detalesnės analizės.
Nebūtina užpildyti viso šablono. Galite tiesiog aprašyti, ką norite sukurti, ir kartu išsiaiškinsime, nuo ko pradėti.
Norite aptarti savo idėją? Susisiekite, atsakau per 24 val.

