Bir proqram məhsulu hazırlamaq üçün yalnız “proqramçılar” lazım deyil. Müasir texniki komandalar müxtəlif ixtisaslardan ibarətdir - hər birinin öz məsuliyyəti, öz iş axını, öz limitləri var. Bu bələdçi həmin rolları, onların bir-biri ilə necə əlaqələndiyini və komandanın niyə yüklənmənin öhdəsindən gələ bilmədiyini izah edir.
Rollar: Hər Biri Niyə Lazımdır
Product Owner (PO)
PO məhsulun istiqamətini müəyyən edir. Biznes tərəfinin tələblərini toplar, prioritetləşdirir və komandaya çatdırır. Nə qurulacaq, niyə qurulacaq, hansı sırada - bunlar PO-nun qərarıdır.
PO olmadıqda: hər developer özünə görə prioritet qurur. Bir ay əməyin sonunda məhsul hədəfdən uzaq çıxır.
Project Manager (PM)
PM layihənin zaman çərçivəsini və axınını idarə edir. Plan qurur, riskləri izləyir, müştəri ilə komanda arasında körpü rolunu oynayır.
PM olmadıqda: hamı “hər şeyi bilir”, heç kim cavabdeh deyil. Son tarixlər sürüşür, hər kəs fərqli şeyi “bitmişdir” hesab edir.
Business Analyst (BA)
BA müştərinin dediyi ilə istədiyinin arasındakı fərqi tapır. Bu fərq demək olar ki, həmişə var. Tələbləri analiz edir, sənədləşdirir, developer üçün anlaşıqlı texniki spesifikasiyaya çevirir.
BA olmadıqda: developer müştərinin nə istədiyini özü şərh edir. Nəticə - düzgün qurulmuş, yanlış işləyən məhsul.
Developer
Developer kodu yazır. Amma “developer” tək bir rol deyil:
- Backend developer - serverləri, verilənlər bazasını, biznes məntiqini idarə edir. İstifadəçi görmür, amma hər şey onun üzərindədir.
- Frontend developer - istifadəçinin gördüyü hər şeyi qurur. Düymə, forma, animasiya, layout.
- Mobile developer - iOS və Android tətbiqləri üçün ayrı ixtisasdır. Backend bilən hər kəs mobil yaza bilmir.
Bu üç rol bir-birini əvəz etmir. Birini digərinin işinə qoymaq sürəti azaldır, keyfiyyəti aşağı salır.
Tech Lead
Tech Lead komandanın texniki qərarlarına cavabdehdir. Arxitektura seçimlərini verir, kod keyfiyyətinə nəzarət edir, gənc developerları yönləndirir.
Tech Lead yalnız kod yazmır - komanda üçün fikir aydınlığını saxlayır. Ona gündə onlarla xırda sual gəldiyi zaman həmin aydınlıq itir.
QA (Quality Assurance)
QA məhsulun istifadəçiyə çatmazdan əvvəl yoxlanmasını təmin edir. Test ssenariləri yazır, baqları tapır, regression testləri aparır.
QA olmadıqda: test istifadəçi edir. Bu həm baha başa gəlir, həm etibara zərər vurur.
DevOps
DevOps məhsulun koddan canlı mühitə çatmasını təmin edir. Server qurulumu, avtomatik deploy, monitoring, backup.
Bu rol görünməzdir - işlədikdə heç kim hiss etmir. Yalnız bir şey yanlış gedəndə hamı fərq edir.
UX/UI Designer
Designer istifadəçinin məhsulla əlaqəsini layihələndirir. Bu yalnız rəng seçimi deyil - axın qurmaq, məlumatın düzgün yerdə göstərilməsi, istifadəçinin çaşmadan hədəfinə çatmasıdır.
Designer olmadıqda: developer interfeys qurur. Nəticə - funksional, amma başa düşülməz.
Metodologiyalar: Komanda Necə İşləyir
Waterfall
Klassik yanaşma: əvvəl hər şey planlaşdırılır, sonra qurulur, sonra test edilir, sonra çatdırılır. Stabil mühitlər üçün işləyir. Mühit dəyişkəndirsə - müştəri fikri dəyişirsə, bazar sürüşürsə - waterfall çevik deyil.
Agile
Böyük planı kiçik hissələrə böl, tez-tez çatdır, geri bildirimi al, dəyişikliyə açıq qal.
Scrum
İki həftəlik sprint dövrləri. Sprint başı: nə qurulacaq? Gündəlik standup. Sprint sonu: retrospektiv.
Kanban
Sprint yoxdur. Əvəzində görünən iş axını: nə gözləyir, nə üzərindədir, nə tamamlanıb. Əsas qaydası: eyni anda üzərindəki işin sayı məhduddur.
Komanda Yükü: Gizli Qiymət
Developer yeni kontekstə keçəndə orta hesabla 20-30 dəqiqə itirir. Günə 4-5 belə keçid etsə, effektiv iş vaxtı yarıya düşür.
QA prosesi gedərkən koda “kiçik bir dəyişiklik” etmək - bütün test siklini sıfırdan başlatmaq deməkdir.
Tech lead-ə “bu iki dəqiqəlik işdir” deyib günə 6-7 dəfə müraciət etmək - o günün texniki axınını pozmaq deməkdir.
Bu yükləmə bədxahlıqdan gəlmir. Hər rolun nə qədər vaxt apardığı sadəcə bilinmir. Bunu bilən menecer fərqli qərar verir.
Komanda gücünü sistemli olaraq aşmaq iki nəticədən birini doğurur: insanlar gedir, ya da qalır amma “kifayətdir” həddini aşağı salır.
Nəticə
Texniki komanda mexanizm kimidir. Hər hissə öz funksiyasını yerinə yetirəndə sistem uzun müddət stabil işləyir. Bir hissəni həddindən artıq yüklədikdə ya o hissə sınır, ya mexanizm yavaşıyır.
Komandasını başa düşən menecer daha yaxşı qərar verir - həm iş keyfiyyəti, həm komanda saxlanması baxımından.



