Фазе у развоју софтвера

Ај-Ти сектор не може постојати без одговарајућег софтвера, а и њега ваља редовно надограђивати и развијати. Због тога развој софтвера не сме заостајати приликом доношења приоритета у Ај-Ти фирми. Сам процес развоја је прилично уједначен и рутински у великој мери. Фазе су јасно издефинисане и поређане у логичном редоследу који није променљив.

Многи људи верују да се процес писања софтвера своди само на писање кодова и програмирање, али је заправо далеко сложенији и компликованији. Осим горенаведених ствари, потребно је и усклађивање са остатком софтвера, разне припреме и дефинисани циљеви. Пре него што нешто буде кодирано, прво мора да се дизајнира јер не сме да се ради насумично и без плана. Најважније од свега, програмери морају да буду сигурни да ће оно ђто развијају испунити задате циљеве.

Наравно, није одувек било тако. Некада давно, фирме су се ослањале на интуицију најискуснијих службеника и њиховог особља, али како је технологија напредовала они су све више губили везу са стварним светом па је нешто морало да се мења. Системи су бивали све сложенији и скупљи за развијање, па је и процес планирања и израде морао да буде прилагођен тако да убеди инвеститоре да ова идеја заиста може да упали. То је захтевало увођење јединственог и општег процеса кога свака фирма мора да се придржава – наравно уколико планира да остане у послу.

Прва ствар која мора да се обави је обично избор постојећег софтвера који ће да користе, као и оног који ће бити неопходан за овај нови програм који планирају да развију. Следи анализа софтверских потреба, односно одређивање компоненти на које ће се нови програм ослањати за рад. Али то није довољно, јер за сваки програм мора да се сачини детаљан списак описа софтверских компоненти које су неопходне. А све то пре него што уопште крену да замишљају како ће тај програм да изгледа и шта ће да ради.

Сам процес дизајнирања је једини заиста креативни део у целој причи, јер ту долази до изражаја сва иновативност коју дизајнер поседује (или не). Једном када се осмисли како програм треба да изгледа и ради, следи мукотрпан и механички процес програмирања. Једном када се напишу кодови а програм буде скоро готов, следи фаза тестирања. Сви могући недостаци треба да буду откривени и отклоњени пре него што финални производ буде понуђен јавности.

Коначни део представља одржавање, које за софтвер не би требало да буде превише компликовано, али јесте. Већи део планирања ове фазе је обављен још на почетку, али апдејтовање и подршка тек треба да буду спроведени. Наравно, ниједан произвођач не планира да нуди подршку за свој софтвер вечно, јер планира да избаци нову, бољу верзију већ за пар година. И тако све у круг, процес креће изнова. Генерално гледано, комерцијални софтвер се води законима тржишта, док предузетнички софтвер гледа да реши неки постојећи проблем или унапреди пословање.