Ələddin Biyabangərd
YazılarMəhsul

Proses aydın deyilsə, proqram möcüzə yaratmır

Müəllif:Ələddin BiyabangərdDərc edilib:4 dəq oxunuş

Layihə danışıqlarında bəzən belə bir gözlənti olur:

“Sistem gələndə hər şey öz qaydasına düşəcək.”

Mən bu cümləyə ehtiyatla yanaşıram.

Çünki proqram proses yaratmır.

O, yalnız mövcud olanı — yaxşı və ya pis — kodlaşdırır.

Əgər kimin nə etdiyi, nə vaxt qərar verildiyi və hansı istisnanın kimə aid olduğu bilinmirsə, ekranlar bu boşluğu doldura bilmir.

Sadəcə boşluğu gizlədir.

Proqram prosesin güzgüsüdür

Yaxşı sistem adətən üç şeyi aydın saxlayır:

  • kimin nəyə cavabdeh olduğunu
  • hansı statusun nə demək olduğunu
  • hansı addımdan sonra geriyə dönüşün mümkün olduğunu, hansından sonra isə olmadığını

Bunlar yazılı olmasa belə, ən azı komanda daxilində eyni şəkildə anlaşılmalıdır.

Əks halda hər yeni düymə yeni mübahisə doğurur:

“Bu status nə deməkdir?”

“Bunu kim dəyişə bilər?”

“Niyə sistem buna icazə verdi?”

Problem texnologiyada deyil.

Problem razılaşdırılmamış iş qaydasındadır.

Avtomatlaşdırma qarışıqlığı da sürətləndirir

Düzgün prosesi avtomatlaşdıranda iş yüngülləşir.

Qarışıq prosesi avtomatlaşdıranda isə səhv daha tez yayılır.

Məsələn:

  • eyni sifariş iki yerdə “hazır” görünür
  • ödəniş bir alətdə əks olunur, amma status başqa yerdə görünmür
  • bir işçi istisna halı bilir, digəri isə sistemə əsasən hərəkət edir

Belə hallarda insanlar sistemi günahlandırır.

Əslində isə sistem onların razılaşmadığı reallığı üzə çıxarır.

Əvvəlcə bu sualları verirəm

Kod yazmazdan əvvəl mən adətən bunları soruşuram:

  • Bu iş bu gün necə gedir — idealda yox, reallıqda?
  • Ən çox harada ilişir və ya itir?
  • Hansı qərarı insan verməlidir, hansını sistem?
  • İstisna hallar kimə aiddir və necə qeyd olunur?
  • “Hazır” deyəndə hər kəs eyni şeyi başa düşürmü?

Cavablar qısa və ziddiyyətli gələndə əvvəlcə prosesi düzəldirik.

Sonra proqramı.

Nəticə

Proqram möcüzə deyil.

O, aydın qaydanı sürətli və təkrarlanan edir.

Qayda aydın deyilsə, əvvəlcə onu yazmaq lazımdır — kağızda, söhbətdə, diaqramda, fərq etməz.

Çünki sistemə aydın olmayan bir şeyi yükləsəniz, nəticədə daha bahalı bir qarışıqlıq alacaqsınız.