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

Karmaşık Uygulamalarda Karmaşıklığın Beş Katmanı

Entegrasyon, Bilgi, Niyet, Ortam ve Kurum: Karmaşıklığı Ayrıştırmak

Karmaşık uygulama derken kastedilen belli: kullanıcısı işini zaten bilen, iş akışı doğrusal olmayan, verisi birden fazla sistemden gelen yazılımlar. Bunlarda karmaşıklık tek bir sorun değil, en az beş ayrı sorun. Ayrıştırmadan yapılan her düzenleme, yanlış katmana yapılmış bir müdahale oluyor.

Beş katman, beş ayrı iş

Entegrasyon

Uygulama birden fazla sistemden besleniyorsa, ekranları çizmeden önce hangi verinin nereden geldiğini ve her alan için hangi sistemin doğru kaynak sayıldığını yazın. Bir hastane bilgi sisteminde bunu tersten yapan bir ekiple çalıştım: ekranlar hazırdı, ama aynı hastanın iki ayrı kayıtla açıldığı durumda hangisinin geçerli olduğuna dair kural yoktu. Menüyü küçük gruplara bölmek, altta eşleşmeyen iki veri modelini birleştirmez.

Bilgi

Bu uygulamalarda kullanıcı veriyi girmekten çok arar. Filtre, sıralama ve kaydedilmiş görünüm, ekrandaki alan sayısından daha belirleyici. Tasarıma başlarken cevaplanacak soru şu: bu kişi gün içinde hangi kaydı kaç kez arıyor ve şu an bunu nasıl buluyor?

Niyet

Tek bir doğru yol yok. Kullanıcı adım atlar, geri döner, kendi sırasını kurar. Buna alan bırakın, ama bedavaya gelmediğini bilerek: izin verdiğiniz her atlanabilir adımın bir karşılığı var, aşağıda.

Ortam

Ekranın kullanılacağı yer tasarımı doğrudan belirliyor. Eldivenli el, gürültü, kesik bağlantı, gün ışığında okunamayan gri. Bunu ofiste tahmin edemezsiniz; sahada yarım gün, üç toplantıdan daha çok şey söyler.

Kurum

Roller, yerleşik alışkanlıklar ve kimin hayır deme yetkisi olduğu haritalanmadan başlatılan değişiklikler tutmuyor. Dışarıdan gelen bir ekipseniz ilk işiniz, fikri içeride sahiplenecek kişiyi bulmak. Bu kişi genelde en üst yönetici değil, işi fiilen her gün yapan ve ekibin danıştığı kişidir.

Esnekliğin faturası veri modelinde çıkar

Esnek iş akışıyla yüksek veri doğruluğu aynı cümlede istenir, ama ikisi birbirini çeker. Atlanabilir her adım, veri modelinde boş kalabilen bir alan demek. On iki opsiyonel alanı olan bir kayıt, dolu ve boş kombinasyonu olarak 4096 farklı durumda karşınıza gelebilir. Raporlar, filtreler ve doğrulama kuralları bu durumların hepsinde anlamlı davranmak zorunda.

Hepsini test etmezsiniz. Birkaçını test edersiniz, kalanı üretimde çıkar. O yüzden esnekliği her alana dağıtmak yerine gerçekten değişken olan üç beş alanda toplayın, gerisini zorunlu tutun. Kullanıcı araştırması burada işe yarar: hangi alanın gerçekten opsiyonel olması gerektiğini söyler.

Katmanı doğru seçmek

Bu çerçevenin asıl faydası, yanlış katmana müdahale etmeyi engellemesi. Kullanıcı akışta kayboluyorsa sorun bilgi mimarisinde mi, yoksa iki sistemin aynı şeye iki farklı ad vermesinde mi? İkincisiyse menü düzenlemesi hiçbir şeyi çözmez, sadece işi görünür kılmayı geciktirir.

Bir projeye girerken beş katmanı da tek tek sorup cevabını yazmak yarım gün alıyor. Sonrasında ekran tartışmalarının hangisinin gereksiz olduğu baştan belli oluyor.