İş akışını arayüz kurulmadan önce çözmek

Bir işletmede belge kimden çıkıyor, hangi aşamada bekliyor ve karar için kimin önüne geliyor; bunlar netleşmeden ekran çizmenin bir anlamı yok. Önce mevcut düzeni yerinde izliyor, sözle anlatılan akışla günlük gerçeğin nerede ayrıştığını çıkarıyoruz. Görünen tasarım değil, bilginin doğru sırayla akması bu aşamanın asıl konusu.

Bir özel yazılım tasarlarken bu akışı örnek belgeler ve alışılmışın dışında kalan durumlarla deniyoruz. Hangi bilginin kime görünmesi, hangi işin kimin elinde kalması ve onayın nereden geçmesi gerektiğini baştan yazıya döküyoruz. Aksayan bir süreci olduğu gibi dijitale taşımak yerine, önce sadeleştirip sonra kuruyoruz.

Kararı yalnızca planda değil gerçek kullanımda sınıyor, her adımın sorumlusunu kayda geçiriyoruz. Amacımız, kimsenin belleğine bağlı kalmadan yürüyen, sonradan geriye dönük izlenebilen bir işleyiş bırakmak. Yeni bir ihtiyaç çıktığında düzenin bozulmadan genişleyebilmesi de bu ilk çözümlemenin sağlamlığına bağlı.

Rolleri gerçek sorumluluk sınırına oturtmak

Herkesin her kayda ulaşması gereken bir düzen neredeyse hiç yoktur; okuma, düzenleme ve onay hakkı işin gerçek sorumluluğuna göre ayrılmalıdır. Bu ayrımı Erzincan’daki işletmelerin günlük görev dağılımını gözeterek kuruyor, kimin neyi görüp değiştirebileceğini kişilere değil görevlere bağlıyoruz.

Yetki düzenini beklenmedik durumlarla, örneğin görevi değişen ya da ayrılan bir çalışanın erişimiyle sınıyoruz. Hangi bilginin kimde açık kalacağını, hangi işlemin onay beklemeden tamamlanamayacağını belirliyor; kritik veriyi, işi olmayan bir hesaba kapalı tutuyoruz. Yönetici hesabının günlük işler için paylaşılması gibi alışkanlıkları da bu aşamada ortadan kaldırıyoruz.

Sınırların iş tanımıyla tutarlı kaldığını gerçek kullanımda deniyor, her değişikliğin sorumlusunu kayıt altında tutuyoruz. Bir kişinin görevi değiştiğinde erişiminin de aynı netlikte güncellenebilmesi, sonradan toplu düzeltme zahmetini ortadan kaldırıyor. Böylece yetki, zamanla gevşeyen değil kendini koruyan bir düzen olarak kalıyor.

Veri alanlarını ortak bir sözlükte buluşturmak

Aynı bilgi farklı ekiplerde farklı adlarla anıldığında, raporlar birbirini tutmaz ve herkes kendi kopyasına güvenir. Müşteri, teklif, işlem ve kayıt gibi kavramları tek bir dille tanımlıyor; hangi alanın neyi ifade ettiğini ortak bir sözlüğe bağlıyoruz. Böylece farklı yerlerde çelişen değil, aynı anlama gelen tek bir bilgi kalıyor.

Bir özel yazılım kurgularken bu ortak tanımı uzun içerikler ve sınır durumlarıyla zorluyoruz. Bir alanın hangi ekranda göründüğünü, kimin değiştirebildiğini ve hangi kaydı beslediğini çıkararak, veriyi birbirinden kopuk tablolar yığını olmaktan kurtarıyoruz. Bir tanım değiştiğinde nelerin etkileneceği önceden bilindiği için küçük bir düzeltme büyük bir karışıklığa dönüşmüyor.

Ortak sözlüğü gerçek kayıtlarla sınıyor, her tanımın sahibini belirliyoruz. Verinin zaman içinde tutarlı kalması, yeni bir ekip üyesi katıldığında bile aynı kavramın aynı biçimde anlaşılmasını sağlıyor. Böylece büyüme, veriyi dağıtan değil düzeni pekiştiren bir sürece dönüşüyor.

Onay adımlarını ekip için görünür kılmak

Bir işin hangi aşamada, kimin önünde beklediği görünmezse, gecikmeler hep birilerinin unutmasına bağlanır. Onay adımlarını herkesin görebileceği biçimde açığa çıkarıyor; bir kaydın nerede durduğunu, sıradaki sorumlunun kim olduğunu belirsizliğe yer bırakmadan gösteriyoruz. Böylece bekleyen iş, kişilerin hafızasında değil düzenin içinde takip ediliyor.

Onay akışını, geri gönderilen ya da atlanması istenen kayıtlar gibi istisnalarla deniyoruz. Hangi adımın kimden geçtiğini, bir onayın hangi koşulda geri çevrilebileceğini tanımlıyor; sürecin yalnızca ideal durumda değil, işler karıştığında da anlaşılır kalmasını gözetiyoruz. Atlanan bir adımın neden atlandığı da böylece kayıtlı kalıyor.

Görünürlüğü gerçek kullanımda sınayıp her onayın izini bırakıyoruz. Ölçüt açık: bir işin neden beklediği sorulduğunda cevap tahminde değil, adımların kendisinde bulunuyor. Böylece sorumluluk kişiden kişiye savrulmadan, aynı akış üzerinde herkesçe görülebiliyor.

Bildirimi doğru kişiye doğru anda ulaştırmak

Her bildirim herkese gittiğinde, kısa sürede hiç kimse okumaz olur; asıl mesele, uyarının yalnızca onu görmesi gereken kişiye ve tam gerektiği anda ulaşmasıdır. Hangi olayın kime haber verileceğini, hangi durumun sessizce beklemesi gerektiğini işin akışına göre belirliyoruz. Böylece bildirim, dikkat dağıtan değil yol gösteren bir işaret oluyor.

Uyarı düzenini, aynı anda çok sayıda olayın biriktiği ya da bir bildirimin geç kaldığı durumlarla sınıyoruz. Hangi eşikte haber verileceğini, hangi bilginin uyarının içinde yer alacağını tanımlıyor; gereksiz tekrarları ayıklayarak kişiyi bunaltmayan bir ritim kuruyoruz. Bir uyarının neden gönderildiği, alan kişi için baştan anlaşılır oluyor.

Bildirim akışını gerçek kullanımda deniyor, her uyarının kaynağını izlenebilir bırakıyoruz. Amaç, önemli olanı gözden kaçırmadan, önemsizi de sürekli öne çıkarmadan çalışan bir denge. Böyle kurulduğunda uyarılar, zamanla kapatılan değil güvenilen bir araç olarak kalıyor.

Saha kullanımını mobil koşula göre kurmak

Aynı ekranı masabaşındaki bir görevli ile hareket halindeki bir çalışan çok farklı koşullarda kullanır; birinde geniş ekran ve sabit bağlantı, diğerinde küçük ekran ve zayıf sinyal vardır. Sahadaki kullanımı bu gerçeğe göre kuruyor, kısa sürede tamamlanması gereken işi ayakta ve tek elle yapılabilecek biçimde sadeleştiriyoruz.

Mobil kullanımı, bağlantının koptuğu ya da girişin yarıda kaldığı durumlarla sınıyoruz. Hangi bilginin çevrimdışıyken de girilebileceğini, bağlantı döndüğünde neyin nasıl eşitleneceğini belirliyor; sahada kaybolan bir kaydın önüne geçiyoruz. Küçük ekranda hataya en açık adımları da bu aşamada ayıklıyoruz.

Saha akışını gerçek koşulda deniyor, her girişin sorumlusunu ve zamanını kayda alıyoruz. Ölçüt, ofisteki düzenle sahadaki hızın aynı veriye zarar vermeden buluşması. Böylece hareket halinde girilen bir bilgi, ana kayıtla çelişmeden aynı bütüne katılıyor.

Dış bağlantıları denetimli biçimde açmak

Bir özel yazılım çoğu zaman tek başına çalışmaz; ödeme, iletişim ya da muhasebe tarafındaki başka servislerle veri alışverişi yapar. Bu bağlantıları kurarken yalnızca sorunsuz çalıştığı anı değil, karşı tarafın yanıt vermediği anı da baştan planlıyor; dışarı çıkan ve içeri giren her bilgiyi denetim altında tutuyoruz.

Dış bağlantıyı, servisin geç yanıt verdiği ya da hatalı veri döndürdüğü durumlarla sınıyoruz. Hangi bilginin dışarı açılacağını, bir hata geldiğinde işlemin nasıl geri alınacağını tanımlıyor; alışverişi sonradan izlenebilir biçimde yürütüyoruz. Böylece dışarıdaki bir aksaklık, kendi düzenimizi kilitleyen bir soruna dönüşmüyor.

Bağlantıyı gerçek kullanımda deniyor, her alışverişin izini bırakıyoruz. Amaç, karşı servis yanıt vermese bile kayıt kaybını önleyen, sorunun tam olarak nerede çıktığını gösteren bir işleyiş. Böylece bir kesinti yaşandığında ne olduğu tartışılmıyor, doğrudan kayıttan okunuyor.

Hata kayıtlarını okunur ve izlenebilir tutmak

Bir aksaklık yaşandığında en çok zaman, neyin ne zaman ve neden bozulduğunu anlamaya harcanır. Hata kayıtlarını en baştan okunur tutuyor; hangi işlemde, hangi bilgiyle ve hangi koşulda sorun çıktığını sonradan bakılabilecek biçimde saklıyoruz. Böylece bir sorun, herkesin farklı hatırladığı bir olay olmaktan çıkıyor.

Kayıt düzenini, arka arkaya gelen ya da birbirini tetikleyen hatalarla sınıyoruz. Hangi bilginin kayda geçeceğini, hangi ayrıntının gizli kalması gerektiğini belirliyor; kaydı hem teknik ekibin çözebileceği hem de sonradan izlenebileceği bir dille tutuyoruz. Gürültüyle asıl uyarının birbirine karışmasını da bu aşamada engelliyoruz.

Hata kayıtlarını gerçek kullanımda deniyor, her uyarının nereden geldiğini izlenebilir bırakıyoruz. Ölçüt, bir sorun araştırılırken tahmine değil, açık bir işlem izine dayanılabilmesi. Böylece aynı hata ikinci kez yaşandığında, çözümü sıfırdan aramak gerekmiyor.

Oturum ve yetkiyi senaryolarla sınamak

Bir hesabın kime ait olduğu ve nereye kadar yetkili olduğu, yalnızca kurulurken değil kullanımda da güvence altında olmalıdır. Oturumun ne zaman açık kalacağını, hangi işlemin yeniden doğrulama isteyeceğini ve bir yetkinin sınırını nerede bulacağını gerçek senaryolar üzerinden kuruyoruz. Amaç, güvenliği kağıttaki bir kural olmaktan çıkarmak.

Bir özel yazılım için oturum ve yetki güvenliğini, olması beklenmeyen erişim denemeleriyle sınıyoruz. Yetkisi olmayan bir hesabın bir kaydı görmeye ya da değiştirmeye çalıştığı durumları canlandırıyor; sınırın gerçekten tutup tutmadığını varsayımla değil denemeyle görüyoruz. Açık kalan bir kapı varsa, kullanıma açılmadan önce kapatılıyor.

Oturum ve yetki davranışını gerçek kullanımda deniyor, her denemenin izini kayda alıyoruz. Ölçüt, bir kişinin yalnızca kendi işine ulaşabilmesi ve bunun sonradan da doğrulanabilmesi. Böylece güvenlik, bir kez kurulup unutulan değil, sürekli sınanabilen bir düzen olarak kalıyor.

Yedekleme ve geri dönüşü önceden tasarlamak

Bir verinin kaybolma ihtimali, ancak kaybolduktan sonra düşünülürse geç kalınmış olur. Yedeklemeyi ve geri dönüşü baştan tasarlıyor; hangi bilginin ne sıklıkta güvenceye alınacağını, bir sorun anında hangi noktaya dönüleceğini önceden belirliyoruz. Böylece kötü bir an, hazırlıksız yakalanılan değil önceden düşünülmüş bir duruma dönüşüyor.

Geri dönüş planını, verinin bozulduğu ya da yanlışlıkla silindiği durumları canlandırarak sınıyoruz. Yedekten dönüşün ne kadar sürdüğünü, hangi bilginin en güncel haliyle kurtarılabileceğini deniyor; planın yalnızca var olmasının değil, gerçekten işlediğinin de görülmesini sağlıyoruz. Denenmemiş bir yedeğe güvenmenin taşıdığı riski böylece ortadan kaldırıyoruz.

Yedekleme ve dönüş adımlarını gerçek koşulda deniyor, her denemeyi kayda alıyoruz. Amaç, bir aksaklık yaşandığında paniğe değil, önceden hazırlanmış ve daha önce sınanmış bir adıma başvurabilmek. Böylece veri güvenliği, umuda değil denenmiş bir plana dayanıyor.

Sürüm geçişlerini denetimli yayına almak

Yeni bir değişikliği bir gecede herkese açmak, en çok da işleyen bir düzeni riske atar. Sürüm geçişlerini, Erzincan’da faaliyet gösteren işletmelerin günlük temposunu aksatmayacak biçimde planlıyor; değişikliği önce dar bir çevrede açıyor, aksayan yeri henüz herkesi etkilemeden görüyoruz. Böylece yenilik, ani bir kesinti değil kontrollü bir geçiş oluyor.

Değişikliği, eski kayıtların yeni düzenle karşılaştığı ve beklenmedik girişlerin denendiği durumlarla sınıyoruz. Hangi bilginin geçişten etkileneceğini, bir sorun çıktığında hangi noktaya dönüleceğini belirliyor; yeni sürümü geri alınabilir biçimde açıyoruz. Böylece bir hata, düzeltilemez bir duruma değil, planlı bir geri adıma bağlanıyor.

Sürüm geçişini gerçek kullanımda deniyor, her adımı izlenebilir bırakıyoruz. Ölçüt, yeniliğin işleyişi bozmadan yerleşmesi ve gerektiğinde sakince geri alınabilmesi. Böylece her değişiklik, umut edilen değil önceden denenmiş bir sonuçla yayına giriyor.

Eğitim ve teslim kaydını eksiksiz hazırlamak

Bir sistem, yalnızca onu kuran kişinin aklında yaşadığı sürece kırılgandır; asıl teslim, işi devralan ekibin onu kendi başına yürütebilmesiyle tamamlanır. Eğitim ve teslim kayıtlarını bu yüzden eksiksiz hazırlıyor; hangi işin nasıl yapıldığını, bir aksaklıkta nereye bakılacağını yazılı ve izlenebilir bırakıyoruz.

Teslim kaydını, ekibin gerçekten karşılaşacağı sorularla sınıyoruz. Bir işlemin nasıl tamamlanacağını, bir yetkinin kimden isteneceğini ve sık yapılan bir hatanın nasıl düzeltileceğini kayda geçiriyor; bilgiyi tek bir kişinin belleğine değil, herkesin ulaşabileceği bir yere bağlıyoruz. Devrin sözle değil belgeyle yapılması, sonradan doğacak boşlukları kapatıyor.

Eğitim ve teslim adımlarını gerçek kullanımda deniyor, kimin neyi devraldığını kayda alıyoruz. Amaç, bir kişi ayrıldığında işin durmadığı, bilginin kurumla birlikte kaldığı bir düzen bırakmak. Böylece teslim, bir projenin sonu değil, ekibin kendi başına sürdürebildiği bir başlangıç oluyor.

Yazılım Hakkında Sık Sorulan Sorular

Hazır araçların karşılamadığı iş akışları, kendine özgü yetki düzenleri, başka sistemlerle veri bağlantısı ya da standart raporların yetmediği durumlar varsa, ölçülü bir özel yazılım anlamlı olur. Karar, bir programın eksiklerini değil işin gerçek ihtiyacını temel alır; gereksiz kapsamdan da kaçınılır.

Süre, kullanıcı rolleri, ekranlar, iş kuralları, dış bağlantılar ve test senaryoları çıkarıldıktan sonra belirlenir. Kapsam netleştikçe iş aşamalara bölünür ve her aşama için gerçekçi bir takvim kurulur. Böylece süre baştan atılan bir tahmin değil, üzerinde anlaşılan bir plan olur.

Belgelenmiş ve güvenli erişim sunan sistemlerle bağlantı çoğu durumda kurulabilir. Verinin hangi yöne akacağı, bir hata durumunda ne yapılacağı ve hangi yetkinin gerekeceği baştan tanımlanır. Bağlantının koptuğu an da planlandığı için, aksaklık işleyişi en az düzeyde etkiler.

Teslim biçimi ve sahiplik, iş başlamadan sözleşmede belirlenir. İşletmenin kullanacağı hesaplar, erişim bilgileri ve kaynakların kime ait olacağı baştan netleştirilir. Böylece ilerleyen dönemde kimin neye erişebildiği bir belirsizlik konusu olmaktan çıkar.

Hata giderme, güvenlik güncellemeleri, düzenli izleme ve yeni geliştirmeler ayrı sorumluluklar olarak planlanır. Acil bir aksaklık ile sonradan istenen bir ekleme aynı sıraya konmaz; her biri kendi önceliğiyle yürütülür. Böylece günlük işleyiş, yeni istekler yüzünden aksamaz.

Yapı, beklenen kullanım ve veri hacmi göz önünde tutularak kurulur; böylece kullanıcı sayısı arttığında düzenin bozulmadan genişlemesi hedeflenir. Performans, belirli aralıklarla ölçülür ve büyümeyle ilgili kararlar bu ölçümlere dayandırılır. Erken alınan bu önlemler, sonradan yapılacak köklü değişiklikleri azaltır.