Bir yazilim projesi nasil uygulanir?
Bir projeyi uygulamak icin önce yazilim methodolojisinden baslanir. Belli basli methodlar var mesela Scrum, waterfall, ya da Kanban. Bunlar bir yazilim projesinde kimin ne rol alacagini, kimden is alip kime verecegini, isin yaparken ne yol izlenecegini belirler. Örnegin benim sirketimde Scrum uygulaniyor.
Özetle bir projeyi nasil ele aliyoruz:
- Ilk basta is analizcileri isi alir, müsteriyle konusur, müsterinin ihtiyaclarini listelerler.
- bu istekleri "product manager" ve "project manager" ile paylasirlar.
- sonra olaya "scrum master" girer ve bu islerin ne kadar zamanda yapilacagi, kimin nasil ele alacagini konularinda liderlik yapar.
- sonra biz yazilimcilari cagirirlar. yapilacak isi anlatirlar.
- biz yazilimcilarda o isi nasil yapacagimizi tartisiriz, hangi dil ile yapacagimizi, hangi mimari kullanacagimizi, ince detayina kadar tartisiriz.
- sonra prototip yapariz, isi basit bir sekilde yapan yazilimi yazariz.
- sonra bu prototipe göre yazilmi en ince detayina kadar yazariz, herkesin bir rolü varidir. tasarimci tasarimi photoshop ile yapar. sayfadaki her seyi pixel pixel ölcülerini bizimle paylasir. front end bu tasarimi jsp, html, css, javascript ile koda döker. buna paralel olarak da back-end ve databaseciler de arka tarafta verinin saklanmasi, verinin getirilmesi ile ilgili kodlar java ile yazar. herkesin yazdigi kisim isin kücük parcalaridir. herkes kendine en uygun, severek yapabilecegi, tecrübeli oldugu kücük bir is parcasini ele alir. kimisi güvenlikte iyidir, kimisi performans, kimisi matematik gerektiren algoritma yazar, kimisi session, kimisi ekranda buton yapar.
- kodalari yazdiktan sonra design calisani ile birlikte "desgin review" yapariz.
- yazdigimiz kodu birlestirmeden önce QA ve test takimi ile toplanti yapariz, bizden ne istendi tekrar üzerinden geceriz. sonra onlarin önerilerine göre test kodlarini yazariz. yazdigimiz testler unit testleri ve integration testleridir. testler bizden istenen tüm fonksiyonlarin düzgün calisip calismadigini test eder. her test basarili olursa kodlari birlestiriz.
- QA ve test takimi bizim test kodlarini tekrar calistirir, isterlerse degistirirler. Bazi yerleri elle test ederler. Eger yaptigimiz is tüm testleri gecerse onay verirp isi kapatirlar. gecmez iste isi reddedip nedeniyle beraber bize tekrar atarlar.
- Yazilimcilar olarak is tüm testleri gecene kadar tekrar tekrar kodlarin üzerinde calisiriz.
- hersey kusursuz olunca project manager, product manager, scrum master ve tüm developer takimi toplanti yapariz, yaptigimiz islerin calisan versiyonunu sunum yapariz. product manager da hersey iyi olmus der ise bir döngü biter, sonra digeri baslar. bir döngü yaklasik 3 hafta sürüyor bizde, ama bu isten ise degisir. bazi sirketlerde bir döngü 1 yil sürebilir, bazilarinda 1 hafta. bu isin türüne göre degisir.
Bu isleri okulda yüzeysel görürsün ama asla icine girmeden tam anlayamazsin, o yüzden calisarak ögrenilir bunlar. Bence kaliteli bir web projesi icin alanlarinda uzman en az 5 kisiye ihtiyac vardir. 1 kisi de yapabilir ama bu kaliteyi düsürecektir.
Bu isi teorik taraftan ögrenmek icin su kitaplari önerebilirim:
www.amazon.comwww.amazon.comEger project manager degil de yazilimci olacaksan bu kitaplari ilk planda cok detayli okuyup ezberlemene gerek yok, senin ilk planda yazililim kücük parcalarini yapmaya yönelmen daha iyi olur, aynen verdigin örnekteki ampül yakmak gibi.