SaaS məhsulu hazırlatmaq əslində nələri tələb edir?
SaaS məhsulu kənardan çox sadə görünə bilər.
İstifadəçi qeydiyyatdan keçir.
Hesabına daxil olur.
Bir neçə funksiyadan istifadə edir.
Abunəlik üçün ödəniş edir.
Amma bu sadə görünüşün arxasında eyni anda çoxsaylı istifadəçiyə xidmət göstərməli olan bütöv bir sistem dayanır.
Ona görə ilk versiyanı hazırlamaq sadəcə ekranları yaratmaqdan ibarət deyil.
Əsas məsələ məhsulun böyüməsinə imkan verəcək düzgün təməli qurmaqdır.
Əvvəlcə iş prosesini başa düşmək lazımdır
Arxitektura haqqında qərar verməzdən əvvəl istifadəçinin məhsulla necə işləyəcəyini anlamaq lazımdır.
Məsələn:
Qeydiyyat → Workspace yarat → İstifadəçiləri əlavə et → Məhsuldan istifadə et → Paketi yüksəlt
Bu proses sistemin əsasını formalaşdırır.
Bundan sonra texniki tələblər daha aydın görünməyə başlayır.
Backend sadəcə API deyil
SaaS backend-i aşağıdakı kimi bir çox məsələni idarə etməli ola bilər:
- Autentifikasiya və avtorizasiya
- İstifadəçi və təşkilatların idarə edilməsi
- Multi-tenancy
- Abunəlik paketləri
- Ödənişlər
- İstifadə limitləri
- Bildirişlər
- Background job-lar
- Xarici inteqrasiyalar
- Hesabatlar
- Audit log-ları
Bunların heç biri məhsulun screenshot-unda görünmür.
Amma məhsulun real həyatda etibarlı işləyib-işləməyini məhz bunlar müəyyən edir.
İlk versiya böyüməyə hazır olmalıdır
Bu, MVP-ni həddindən artıq mürəkkəbləşdirmək demək deyil.
Əksinə.
İlk versiyada yalnız məhsulu yoxlamaq üçün lazım olan funksiyalar olmalıdır.
Amma arxitektura gələcək inkişafı çətinləşdirəcək qərarlardan uzaq qurulmalıdır.
Texnologiya məqsəd deyil
Java, Spring Boot, PostgreSQL, Docker və cloud infrastrukturu bir çox SaaS məhsulu üçün güclü texniki baza yarada bilər.
Amma texnologiya məhsulun özü deyil.
Məhsul həll olunan problemdir.
Texnologiya isə həmin problemi etibarlı şəkildə həll etmək üçün istifadə etdiyimiz vasitədir.
MVP-dən real məhsula
SaaS məhsulu adətən belə inkişaf edir:
İdeya → MVP → Real istifadəçilər → Geribildirim → Təkmilləşdirmə → Miqyaslama
İlk versiyanın məqsədi gələcəkdə baş verəcək hər şeyi əvvəlcədən təxmin etmək deyil.
Məqsəd növbəti düzgün addımı müəyyənləşdirmək üçün kifayət qədər yaxşı sistem qurmaqdır.