Yazılım geliştiren organizasyonlar
Matematik nasıl günlük hayatta her iş kolunda yeri olan, insanların ilerideki uzmanlık alanları ne olursa olsun eğitim hayatlarında daha ilk basamaklarda tanıştığı ve temel bir bilim ise; günümüzde yazılım ve/veya hali hazırda matematiğin bir kolu olan bilgisayar bilimleri de her iş kolunda karşımıza çıkacak bir unsur olmaya aday.
Bu nedenle, sektör bağımsız olarak belli bir etkinliğe ulaşmış her organizasyonun, iş süreçlerinde verimlilik sağlamak, işlerini otomatize etmek veya hizmet sunmak amacıyla yazılım geliştirme işlevlerine ihtiyaç duyması oldukça muhtemeldir.
Bu bağlamda, "yazılım şirketleri" gibi bir ifade yerine, yazılım çıktısı üreten herhangi bir organizasyonu "Yazılım Geliştiren Organizasyon" olarak tanımlıyorum. Ancak, bu tanıma giren her organizasyon, yazılım geliştirmenin getirdiği belli başlı zorlukları ve sorumlulukları da yönetmek durumunda kalmakta.
Bu zorluklara örnek vermek gerekirse ilk aklıma gelen başlıklar: mühendislik yönetimi, proje yaklaşımları ve organizasyonel / insan odaklı bilimler. Bu başlıkları bir araya getirip "pratik" bir yönerge oluşturmak çok zor. Elbette organizasyonlardaki her insan bir diğerinden çok farklı ve bu insanların birbirleri ile olan etkileşimlerinin oluşturduğu kartezyen çarpımın korkutucu bir karmaşası olduğundan "sabit fikirli" ve/veya "metodik" yaklaşımların her zaman geçerli olması söz konusu değil. Ama gerçekten de hiçbir yorum yapamaz mıyız?
Organizasyonların ihtiyaçları ve konjonktürel gerçeklik
Diyelim iyi-kötü bir şeyleri bir araya getirerek organizasyonumuzun yazılım üretebilir hale gelmesini sağladık. Ancak deneyimli yöneticiler iyi bilir ki, iç ve dış etkenler hiçbir zaman sabit kalmaz. Gün gelir, ihtiyaçlar artar, organizasyon büyür veya küçülür, rekabet değişir ve verimlilik ya da ölçümlenebilirlik gibi konular gündeme gelir.
İşte bu noktada literatürü taradığımızda şu kavramlarla karşılaşıyoruz: değişim, adaptasyon, dönüşüm ve evrim.
Dünden daha farklı yapmamız gereken birçok işle ve alışkanlık haline gelmiş durumları değiştirmek gibi bir konuyla karşılaştığımızda bunu yönetmek gerçekten kolayca sonuçlanabilecek bir süreç olmuyor.
Organizasyonlarda değişim, adaptasyon, dönüşüm ve evrim
Birçok organizasyon, "dünden daha verimli olmak" veya yalnızca "yeterince verimli miyiz?" sorusuna yanıt aramak için organizasyonel süreçler yürütür. Organizasyonunuzun bu sorgulama/değerlendirme sürecinde birçok değişiklik geçirmesi sağlıklı bir durumdur, ancak bu süreç bir anlamda Pandora'nın kutusunu açmak gibidir; organizasyonunuz asla eski organizasyonunuz olmayacaktır. Bunu ifade ederken amacım yalnızca Aristo'cu bir bakış açısını hatırlatmak değil, aynı zamanda "verimliliği tespit etmek" veya "daha verimli olma yollarını aramak" projeleri devam ederken, organizasyon içinde değişen çarkların ve dengelerin dikkatle yönetilmesi gerektiğine vurgu yapmaktır.
Bu nedenle, bu süreçlerde "yan etki" olarak oluşacak değişimlerin bizim istediğimiz yönde, hızda ve kontrolümüzde olması kritik öneme sahiptir.
Bu süreçler temel hedef gözetilerek her zaman "X"i "Y"e dönüştürmek gibi basitçe tanımlanabilir. Kulağa basit gelen kazanımlar bile aslında birer dönüşüm projesidir. Örneğin "metriklere sahip olmayan bir organizasyon"dan "metriklerini ölçebilen bir organizasyona dönüşelim" niyetini bile bir dönüşüm projesi olarak tanımlayabiliriz.
Ancak burada iki önemli problem bulunmaktadır. Birincisi, Y'ye anında dönüşmek oldukça pahalı bir süreçtir. Yüzlerce kişinin alışkanlıklarını, bilgisayara komut verir gibi anında değiştiremeyiz; bunun için bir adaptasyon süreci ve öğrenim gereklidir. İkincisi, "artık Y olmak" ve "artık X olmamak" arasında öngörülemeyen yüzlerce, hatta binlerce kayıp ve kazanç söz konusu olabilir. Bu belirsizlikler, zaman içinde gözlemlenmesi ve kontrol altına alınması gereken unsurlar ortaya çıkaracaktır.
Bu nedenle, geçmişte dönüşüm projeleriyle çalışmış benim de dahil olduğum birçok kişi, "transformation" (dönüşüm) yerine "evolution" (evrim) süreci tasarlamaya odaklanır.