Što je SDLC? Objašnjene faze, metodologije i procesi razvoja softverskog razvoja

James Taylor, koji je autor Upravljanja projektima informacijske tehnologije , primijetio je da "životni ciklus projekta obuhvaća sve aktivnosti projekta." A cilj razvoja sustava je ostvarenje zahtjeva proizvoda.

Ako želite naučiti kako graditi, implementirati i stvarati visokokvalitetni softver, morat ćete slijediti nacrt.

Kao što je Taylor artikulirao, vaš bi cilj trebao biti cjelovito razmišljanje o svim aktivnostima projekta i kako najbolje upravljati svakom fazom.

Ali gdje biste trebali početi?

Jedan je odgovor iskoristiti okvir koji će voditi vaše ponašanje i radne tokove.

Jedan posebno moćan i popularan okvir naziva se proces životnog ciklusa razvoja softvera (SDLC).

U ovom članku provest ću vas kroz sljedeće:

  1. Kako SDLC djeluje i zašto se koristi
  2. Svaka faza SDLC-a i najbolje prakse i metodologije morate biti svjesni kada ga koristite
  3. Zaključit ću citirajući primjere kako bih pokazao blagodati SDLC pristupa.

Kako SDLC djeluje i zašto se koristi

SDLC se sastoji od šest koraka koje sam ovdje nacrtao za vašu referencu.

U cjelini, SDLC je zatvorena petlja. To znači da svaki korak utječe na radnje koje slijede nakon njega, a svaka faza daje naprijed usmjerene smjernice.

Šest faza nastoje se međusobno nadograditi na učinkovit način kako bi se odgovorilo na pitanja i osiguralo usklađivanje vašeg razvojnog procesa.

Nastojim uzeti apstrakt i navesti primjere s kojima se vi kao studenti i praktičari razvoja softvera možete lakše povezati.

Na primjer, ako nastojite izraditi softver dizajniran za zaposlenike po satu, kao što je to radio Zoomshift, ili softver za praćenje vremena, započeli biste u fazi "analize zahtjeva".

Ovdje, na ovoj najtemeljnijoj razini, shvatili biste koji su zahtjevi radnika kada je u pitanju praćenje radnog vremena i rada.

To biste mogli učiniti razgovarajući sa zaposlenicima po satu. Možda biste sudjelovali u razgovoru s menadžerima koji vode satničke radničke timove.

Druga ideja je da biste mogli testirati rješenja na tržištu kako biste bolje razumjeli zamke postojećeg softvera.

Možete voditi bilješke, skicirati dijagrame ili izrađivati ​​grafikone kako biste dublje razumjeli kvalitativne i kvantitativne povratne informacije.

Tek nakon dubokog razumijevanja ovih bolnih točaka bit ćete spremni prijeći na sljedeću fazu SDLC-a.

Tek tada možete započeti fazu planiranja.

Faza analize zahtjeva može biti zamorna.

No, prolazeći kroz ove korake možete smanjiti svoje vrijeme za izlazak na tržište, osigurati bolji izlaz proizvoda, uštedjeti novac i povećati vjerojatnost prilagođavanja tržištu proizvoda.

Razmislite dalje od vremenskog praćenja.

Razmislite o tome što želite izgraditi i gdje su vaše tehnološke strasti.

Otkrijte zahtjeve za rješavanje problema u toj domeni. Ovdje počinjete.

Faze SDLC-a i najbolje prakse i metodologije

Svaki korak mora biti završen prije nego što prijeđete na sljedeću fazu razvojnog puta.

Što je najvažnije, prva tri koraka nastoje generirati odgovore na pitanja, a zadnja tri koraka optimizirana su za pružanje rezultata.

  • Analiza zahtjeva
  • Odgovor: koje probleme treba riješiti?
  • Planiranje
  • Odgovor: što želimo učiniti?
  • Arhitektonski / softverski dizajn
  • Odgovor: Kako postižemo svoj cilj?
  • Razvoj softvera
  • Riješi: Gradimo
  • Testiranje
  • Riješite: Osigurajmo da ono što smo izgradili djeluje
  • Raspoređivanje
  • Riješi: Uzmimo naše rješenje i iskoristimo ga.

Ovih šest faza mapiraju ponašanje koje možda već primjenjujete prilikom utvrđivanja opsega, izrade, testiranja i izdavanja softvera. No SDLC tijek rada čini standardiziranim i formalnim.

Ovo je u vašu korist: slijedeći određene korake možete lako komunicirati gdje ste u procesu i obavijestiti druge kamo ste krenuli.

Zaronimo dublje u svaku fazu i objasnimo ispitna pitanja i ishode za koje želite optimizirati.

Faza # 1: Analiza zahtjeva

Ova faza SDLC-a prisiljava vas da dobijete povratne informacije i otkup od relevantnih unutarnjih i vanjskih dionika.

Razmislite o mojim prethodnim primjerima s vremenskim praćenjem razvoja softvera. Morat ćete široko razmišljati o tome tko su vaši "korisnici".

Neke ideje uključuju vaše klijente, dizajnere, vašeg šefa ili druge tehničke predstavnike u timu.

U konačnici tražite odgovor na ovo pitanje: koje probleme treba riješiti? Smatram korisnim u prvoj fazi raditi bilješke i aktivno slušati.

Kada se osjećate ugodno sa svojim odgovorima, možete preći na sljedeću fazu.

Faza # 2: Planiranje

Tražite odgovor na ovo pitanje: što želimo učiniti? Ovo vas pitanje može nadahnuti da razumijete ekonomiku jedinice vašeg plana (troškovi i koristi), čimbenike ublažavanja rizika i očekivane vrijednosti.

Slično kao i planiranje odmora, i vi morate posložiti imovinu i razmisliti o tome koje torbe spakirati.

Evo relevantnog primjera.

Opširno sam čitao o povijesti Instagrama. Ogromno vremena potrošeno je na fazu planiranja razvoja aplikacije. Bilo je to u vrijeme kada su se društveni mediji ubrzano širili.

Još uvijek nije bilo poznato kako će korisnici komunicirati s proizvodom.

Osnivači su znali da će, ako je temeljno iskustvo jako (snimanje, uređivanje i dijeljenje fotografija), uslijediti rast, uspjeh i velika konverzija. To su planirali.

Osnivači su proveli vrijeme na dizajniranju aplikacija i web stranica znajući da će, ako pravilno planiraju, stvarna faza arhitekture i dizajna biti glatka.

Uvijek su gledali korak ispred i razmišljali o budućnosti dijeljenja društvenih mreža i kupovine putem e-trgovine.

Planirajte ono što možete kontrolirati i imajte na umu stvari koje ne možete planirati. To će vam pomoći da imate solidne temelje koji idu u treću fazu.

Faza # 3: Arhitektonski / softverski dizajn

U ovoj fazi znate koji su vaši zahtjevi i što želite.

Na dobrom ste terenu da sada odgovorite na sljedeće pitanje prije nego što počnete pisati softver: kako postići svoj cilj? Ukratko, trebate odlučiti za što optimizirate i za to dizajnirati.

Možda gradite softver za koji želite da bude siguran, učinkovit, izdržljiv i učinkovit. Koji vam je od tih principa najvažniji i zašto?

Slažu li se dionici iz prve faze? Osigurajte da su dionici u potpunosti usklađeni.

Nakon faze dizajna počet ćete stavljati "ruke na tipkovnice" i uvođenje promjena postat će skuplje u smislu utrošenog vremena i novca. Mali varijabilni troškovi zbrajat će se.

Postoji nekoliko stupova dizajna koje vam savjetujem uzeti u obzir tijekom ove faze: operativna izvrsnost, sigurnost, pouzdanost, učinkovitost izvedbe i optimizacija troškova.

Koristite ove kante za donošenje konačnih odluka o dizajnu.

Faza # 4: Razvoj softvera

Ovo je faza izrade u kojoj ne tražite odgovore na pitanja već rezultate.

Konkretno, želite pokazati pristranost prema akciji i razviti prototip ili sustav koji drugi mogu iskusiti.

Kad započnete graditi, presudno je slijediti prve tri faze kako bi se vaši rezultati uskladili s očekivanjima.

Izvadite računalo, pobrinite se da je vaša okolina pogodna za rad, uzmite grijač za kavu i šalice i uključite monitor.

U ovoj fazi možete zaraditi povjerenje svojih dionika utjelovljujući razmišljanje graditelja.

Faza # 5: Ispitivanje

Znao sam vidjeti suradnike kako nose majice na kojima je pisalo sljedeće: "Graditi stijene, ne testirati toliko."

Ne možete proizvesti konačnu verziju proizvoda bez da jedete vlastitu “pseću hranu”.

Po završetku ove faze možete osigurati da ono što ste izgradili djeluje. Potražite greške ili nedostatke. Dobiti druga mišljenja.

Isprobajte duboko kako biste pronašli pogreške koje će usporiti objavljivanje vašeg konačnog proizvoda. Osigurajte jake osnove.

Faza # 6: Implementacija

Idi, uzmi svoje rješenje i iskoristi ga. Pokreni. Ići uživo.

Navedite dionike iz prve faze da koriste vaš softver u divljini. Slaviti. Počnite mjeriti prodajni angažman.

Slušajte korisnike i ponavljajte ih, jer anketama i uputama korisnika možete ponovno započeti s prvom fazom utvrđivanja novih zahtjeva.

Objedinjavanje svega: SDLC pristup

SDLC postoji kako bi vam pomogao da smanjite vrijeme za izlazak na tržište, osigurate bolji izlaz proizvoda, uštedite novac i povećate vjerojatnost da ono što gradite bude korisno dionicima do kojih vam je stalo.

SDLC je posebno koristan u svijetu razvoja softvera jer vas tjera da "bojite crte".

Drugim riječima, SDLC će vas prisiliti da slijedite korake i osigurate da radite ispravne radnje u pravo vrijeme i iz pravih razloga.

Shvatite SDLC kao nacrt uspjeha. Slijepo praćenje ne osigurava ništa - ali povećava vjerojatnost da ćete biti zadovoljni rezultatima.

Razvoj softvera - kao što svi znamo - široka je domena i može pokriti alate za dizajn web stranica i mrežne obrasce za robusnije strojno učenje ili pozadinske sustave.

Bez obzira kodirate li u pregledniku ili radite li robusniji razvojni posao, potreban vam je plan djelovanja.

Izrada softvera može biti teška.

To također može biti korisno. SDLC je vodič za tehnički rad, ali šire ga se može smatrati vodičem u životu.

SDLC možete rasporediti na mnoge domene.

Na primjer, pisanje sadržaja SaaS slijedi SDLC ciklus. Prije pisanja sadržaja autor prvo mora definirati zahtjeve, planirati što će biti napisano, a zatim zapravo staviti olovku na papir.

SDLC je sjajan okvir i za tehnološke poduzetnike.

Moj je prijatelj želio pokrenuti najbolju agenciju za oglašavanje na Facebooku i obratio se meni i drugima za smjernice. Savjetovao sam mu da koristi SDLC za prvo provođenje analize zahtjeva iako su njegove ambicije bile prilično velike.

Pitao sam ga: koje probleme želiš riješiti? Što žele vaši korisnici? I na kraju, kako bi vam ova platforma pomogla u postizanju ovih ciljeva?

Uokvirivanjem ovih pitanja oko SDLC-a mogao je bolje usmjeriti svoje konačno rješenje i stvoriti prave alate za prave korisnike.

Suzio je opseg i bliže definirao svoj problematični prostor. Uspio je rasporediti resurse za fazu planiranja prije nego što je počeo raditi bilo što drugo.

Nastavio je graditi vjerojatno najbolju uslugu rasta za Instagram koje sam svjestan. Ali njegovo se područje neprestano razvija.

Sada postoji softver koji u velikoj mjeri obavlja ulogu planera društvenih mreža. Na kraju će se morati vratiti osnovama: analiza zahtjeva.

Usvajanje njegove tehnologije dokaz je da SDLC, kada se pravilno primijeni i izvrši, može dovesti do dubokih tehnoloških i poslovnih rezultata. Ali kao i kod razvoja poslovanja, softver se nikada ne radi.

Stoga se ciklus nastavlja.

Bez obzira na to što gradite - tvrtku, alat, složeni program ili potpuno novi proizvod - bilo bi pametno primijeniti SDLC kako biste osigurali kvalitetu i pomogli vam da zadržite fokus na svojim kupcima dok gradite.

"Građenje stijena" trebala bi biti vaša zvijezda Sjevernjača.

SDLC je alat koji će vam pomoći u tome.