Konu Başlıkları
Yükleniyor...

CSCW Nedir, Hangi İşbirliği Sorununu Çözer?

Bilgisayar Destekli İşbirlikli Çalışma: Zaman-Mekân Matrisi ve Grudin Sorusu

CSCW, ekip işinin yazılımla desteklenmesini inceleyen araştırma alanının adı. Alanın bize bıraktığı en kullanışlı şey araç listesi değil, iki soru: elimizdeki iş hangi işbirliği biçimine giriyor, ve araca veriyi giren kişi o veriden ne kazanıyor. Aşağıda bu iki sorunun nereden geldiğini ve araç seçiminde nasıl işe yaradığını kuruyorum.

Terim nereden geliyor

Kökü 1960'lara, Douglas Engelbart'ın insan zihnini "artırma" (augmentation) programına uzanıyor. Fare, pencere sistemleri, bir belgenin birden fazla kişiye açılması: bugün ofis yazılımının sıradan parçası sayılan şeylerin iyi bir kısmı o programın çıktısı.

Alanın adı ise 1984'te Irene Greif ve Paul Cashman'ın düzenlediği bir atölyede kondu: Computer Supported Cooperative Work. Seçilen kelime "cooperative", yani mesele tek kişinin hızlanması değil, birbirine bağımlı işlerin koordinasyonu. Araya bir ayrım koymak gerekiyor, çünkü ikisi sık karışıyor: groupware yazılımın kendisi, CSCW o yazılımı ve etrafındaki insan düzenini inceleyen alan. Bir ekip Jira kullanır, CSCW ise Jira'nın ekibe ne yaptığını sorar.

Zaman ve mekân: dört hücre

Robert Johansen'in 1988'de yazdığı zaman-mekân matrisi, kırk yıl sonra hâlâ araç seçerken en hızlı eleme aracı. İki eksen var: insanlar aynı anda mı çalışıyor, ve aynı yerde mi?

Aynı yerdeFarklı yerde
Aynı andaYüz yüze toplantı, duvara yansıtılan pano, eşli programlamaGörüntülü görüşme, ekran paylaşımı, eş zamanlı belge düzenleme
Farklı zamandaVardiya devir notu, ofis duvarındaki fiziksel kanbanE-posta, issue takip sistemi, kod deposu, kod incelemesi

Araç seçimindeki hataların çoğu hücre karışmasından çıkıyor. Üç saat dilimine yayılmış bir ekibe varsayılan olarak toplantı önermek, sağ alt hücrede duran bir işi sağ üst hücrenin aracıyla çözmeye çalışmak demek; sonuç, birilerinin sabah yedide uykulu katıldığı ve kararın yine yazıya dökülmek zorunda kaldığı bir tekrar. Tersi de geçerli: üç kişinin tek bir tasarım kararında tıkandığı anda issue yorumlarıyla ilerlemek, yirmi dakikalık görüşmeyi iki güne yayıyor. Eş zamanlı araç, belirsizliğin yüksek olduğu ve fikrin karşılıklı konuşmayla şekillendiği işlerde değerli. Durum netleştikten sonra işi yazıya geçirip asenkron hücreye taşımak daha iyi çalışıyor.

Asıl soru: işi kim yapıyor, faydayı kim görüyor

İşbirliği araçlarının terk edilmesi genelde kullanılabilirlik sorunu sanılır. Jonathan Grudin 1988'de başka bir sebep gösterdi ve bu, alanın en çok işe yarayan tespiti oldu: grup yazılımında veriyi girme yükü ile faydayı toplayan taraf çoğu zaman aynı kişi değil.

Grudin'in örneği otomatik toplantı planlama sistemleriydi. Sistem çalışsın diye herkesin takvimini sürekli güncel tutması gerekiyordu. Takvimi dolduran iş alt kademedeydi, çıkan faydayı ise toplantıyı kuran yönetici topluyordu. Yük ile kazancın ayrıştığı yerde veri eksik kalıyor, eksik veriyle çalışan sistem de yanlış saatler öneriyor, derken kimse sisteme güvenmiyor.

Bu kalıp bugün daha da yaygın. Geliştiricinin her görev için tahmin, durum ve harcanan süre girdiği, ürettiği raporu ise yalnızca yönetimin okuduğu bir takip aracı tam olarak aynı yapıda. Dokümantasyon sistemleri de öyle: yazan bir kişi, okuyan otuz kişi, yazana dönen somut bir karşılık yoksa doküman bayatlar. Bir aracı ekibe sokarken ilk sorum arayüzün nasıl göründüğü değil, veriyi giren kişinin o veriyi girdiği için ne kazandığı oluyor. Kazanç yoksa iki şey kalıyor: veriyi girme işini ortadan kaldıracak kadar otomatikleştirmek, ya da o veriyi hiç istememek.

Eş zamanlılık açılıp kapanan bir özellik değil

"Aynı belgede eş zamanlı çalışma" bir arayüz vaadi gibi sunulur, oysa altında duran şey veri sorunu. İki kişi aynı paragrafa aynı anda yazdığında kimin yazdığı kalacak? En basit cevap son yazanın kazanması, en çok veri kaybettiren de o. Kilitleme işi bozmaz ama akışı bozar: bir bölüm başkasında kilitliyken bekleyen kişi genelde beklemiyor, kopyalayıp kendi kenarında çalışıyor, sonra elle birleştiriyor.

Gerçek zamanlı ortak düzenleme gerçekten gerekliyse işi ben CRDT tabanlı hazır bir kütüphaneye devrederim; birleştirme mantığını elden yazmanın sonu, iki kişi aynı satıra dokunduğunda sessizce kaybolan değişiklikler oluyor. Ama bu kararın bir maliyeti var ve projelerin çoğunda gerek yok. Arayüzü çakışma olmayacak biçimde bölmek, yani alan ya da bölüm bazında sahiplik vermek, kurum içi araçların büyük kısmı için yeterli. Ekip asıl olarak farklı zamanlarda çalışıyorsa, matrisin sağ alt hücresindeyse, eş zamanlı düzenleme için ödediğin karmaşıklık boşa gidiyor.

Araç seçerken

Yeni bir işbirliği aracı değerlendirirken matristeki hücreyi ve yük dağılımını birlikte sormak, özellik listesini karşılaştırmaktan daha çok şey söylüyor. Hücre yanlışsa araç iyi olsa da ekibin ritmine çarpar; yük dağılımı bozuksa araç birkaç hafta sonra içi boş kayıtlarla dolar ve kimse açmaz.