Vremenska prognoza

MobileTran

Učinkovit razvoj softvera

Ovih dana, namnožio se golem broj razvojnih alata, od kojih se mnogi temelje na "vizualnom dizajnu". Najtipičniji primjer je Visual Studio, alat kojeg Microsoft prodaje kako bi programere natjerao da koriste njegove proizvode i njegovu razvojnu platformu. Također je uobičajeno da to zahtijeva goleme timove programera i da su te aplikacije razvijene s nebrojenim slojevima u potrazi za navodnom "neovisnošću" između različitih aspekata (na primjer prezentacije, poslovne logike i stražnjeg kraja - backend). I, povrh svega, često se naširoko priznaje da su računalni programi po prirodi kompleksni. Što znači da kreiranje i najjednostavnijeg dijela može zahtijevati više od trivijalne linije koda. Sve gorenavedeno stvorilo je brojne različite probleme i učinilo informacijske tehnologije nužnim zlom u većini (ako ne i svim) organizacijama diljem svijeta.

Ali, što prilično čudi, postoje mnoge popularne aplikacije koje koriste tisuće (ponekad i milijuni) korisnika, a koje kvalitetno rješavaju sofisticirane potrebe korisnika i prilično su stabilne, a nastavljaju se s vremenom razvijati i nije im zapreka što se naširoko koriste.

Jedna od tajni za taj tip aplikacija je da su one jednostavno pametno programirane; obuhvaćaju većinu svoje složenosti u pametnim komponentama koda i izbjegavaju nepotrebnu redundantnost kao i nepotrebne složene slojeve koji ne rade ništa drugo osim što dodatno kompliciraju stvari.

Brooksov zakon Fred Brooks objavio je 1975. godine zakon koji je vrlo istinit čak i u ovom stoljeću: "Dodavanje ljudstva softverskom projektu koji kasni, dodatno odgađa projekt".

To jednostavno znači da je novim ljudima teže sustići projekt koji je složen po prirodi, a još je složenije postići da ga ti novi ljudi razumiju.

Prvi korak prema učinkovitom razvoju softvera sastoji se od stvaranja dovoljno robusnog a jednostavno (vješto) programiranog okvira. Okvira koji će omogućavati da se dinamično generira bilo kakva živa komponenta ili objekt s kojim će korisnik komunicirati.

Drugi važan koncept je višestruka upotrebljivost, koji bi trebao minimizirati potrebu za programiranjem istog skupa funkcija ili svojstava više puta bez potrebe za ponavljanjem. Drugim riječima, stvaranje "crne kutije" koja omogućava zaboravljanje dubljih detalja i dopušta programerima da se usredotoče na nove značajke.

Stvaranjem solidnih, pametnih objekata koji mogu dinamično interpretirati unaprijed definirane protokole na osnovi robusnog okvira, programeri (i sposobni korisnici) mogu jednostavno odrediti u lijepo dizajniranom sučelju sve poslovne parametre rješenja za koja žele imati aplikaciju, ne vodeći brigu oko detalja programiranja sučelja, poslovne logike i stražnjeg kraja.

Kako se koncept sve više i više širi i sve je manje vizualnog programiranja, a sve više pametnog programiranja (koje dopušta da se "vizualni" dio automatski izražava okvirom), softverski projekti će se dovršavati ranije, s manjim razvojnim timovima, zbog čega će biti manje grešaka i stoga i manje potrebe za "traženjem grešaka", brže održavanje kod izmjena (i stoga manje komplicirano i jeftinije upravljanje protokolima za promjene). Kada se sve to dogodi, softverski projekti će se dovršavati ranije i uz značajno manje troškove. » Potraži više...