1985 yılında Koç Grubu'nda başlayan profesyonel iş hayatım o günden bugüne yaklaşık 25 yıl süren bir tecrübe ve bilgi birikimi sağladı. Bu süre içerisinde yazılım dünyasında ciddi gelişmeler tanık olma şansını elde ettim. Özetle;
1980'li yıllarda yazılım geliştirme faaliyetleri çoğu kez kişilere bağımlı yürütülmekteydi. Çıktısı alınan kaynak kodlarının neredeyse tek dokümantasyon olduğu bu dönemde, analiz çalışmaları sonucu belirlenen gereksinimlerde bunu belirleyen kişilerin insiyatifinde olarak çoğu kez not defterlerinde kalmakta dolayısı ile eleman değişikliklerinde kaotik bir durum ortaya çıkmakta ve işi devralan kişi yazılımın ne yaptığını ve mantığını kaynak kodları incelemekle öğrenmeye çalışmaktaydı. Yazılım bileşenlerinin sürüm takibi de yine bu yazılımı geliştiren kişinin insiyatif ve dikkatine kalmıştı.
Bu dönemlerde, kişisel bilgisayarlar yeni yeni hayatımıza girmeye başlıyor, uygulamalar genellikle "Mainframe" tabir edilen büyük sistemlerde veya özel donanımlar üzerindeki özel yazılımlarda geliştiriliyordu. Bu uygulamalar, çoğu kez kendini tekrar eden kodlar içeren birbirinden bağımsız çalışan uygulamalar şeklinde görülüyordu. 1980'li yılların ortalarından itibaren yazılım dünyasında iletişim ağı konusunda ülkede yaşanan gelişmeler önemli rol oymaya başladı.
1990'lı yıllar sektörümüz tarihinde çok önemli gelişmelerin yaşandığı yıllar olarak görünmektedir. Bu yıllarda, özellikle ülkemiz iletişim alt yapısında sağlanan gelişmeler yazılım dünyasının da ufkunu genişletmiş ve bu sayede yazılım mühendisliği açısından çok önemli ve olumlu gelişmeler yaşanmıştır. Bu dönemde, geniş bellekli ve hızlı bilgisayarların yanı sıra güçlü programlama dilleri ve işletim sistemleri ortaya çıkmıştır. Bunun sonucunda da, özellikle 1995 yılından sonra internet kullanımının da başlaması ve yaygınlaşması ile birlikte, kurumsal anlamda süreç yönetimi kavramı özellikle kurumsal şirketlerde gündeme gelmiş ve kaçınılmaz olarak bu yaklaşım yazılım geliştirme dünyasını etkilemiştir. Öncelikle ISO standardizasyonu hedefi ile başlayan bu süreç yazılım geliştirmenin kendi mühendislik bünyesinde dünyanında aldığı yol göz önüne alındığında yeterli olamamış sonraki yıllarda farklı sertifikasyonlara yönelinmiştir.
Bu yıllarda, geçmiş yıllardan farklı olarak kişilere bağımlı olan bir sistem yerine sisteme bağlı olan kişiler yaklaşımına geçilme sancıları yaşanmış, çoğunlukla SPICE metodolojisi içerisinde tanımlanmış bir sistem oluşturulmaya çalışılmıştır. O dönem için belki de mükemmele yakın olan bu metodoloji zaman içerisinde gelişecek ve farklı yaklaşımlara dönüşecektir. Ancak, o dönem için gerçekten yazılım geliştirme dünyasında bir çığır açmış ve bunu uygulayan firmaları farklı bir konuma oturtmuştur.
Yazılım grupları artık insana bağlı değildir. Ama eksik olan bir şeyler vardır yine de...
Bu eksiklik yazılım geliştirme faaliyetlerinin yazılım teknolojileri ile desteklenmesi gerekliliği idi. Takip eden yıllarda, gereksinim yönetimi, konfigürasyon yönetimi, modelleme, değişiklik yönetimi, test araçları gibi konularda geliştirilen ürünler yazılım geliştirme süreçlerinde kullanılmaya başlanarak bu eksiklik de giderilmiş oldu. Böylece yazılım geliştirme dünyası, standartları sağlamış, sistematik, kişilere değil sisteme bağlı bir yapıya kavuşmuş ve mümkün olduğunca otomatize edilmiş bir hale gelmiş oldu.
1980'li yıllarda birbirinden bağımsız uygulamalardan ve kod tekrarlarından oluşan yazılımlar önce ortak objelerin yazılımlar tarafından tek bir kütüphaneden kullanılması temeline dayanan "Object Oriented" bir yaklaşıma dönüşmüş, daha sonra ise n-katmanlı mimari olarak adlandırılan ve genel olarak veri, uygulama ve sunum katmanlarının birbirlerinden bağımsız yapılar olarak geliştirildiği model geliştirilmiştir. Günümüzde bu yaklaşım devam etmekle birlikte artık yazılımlar "Service Oriented Architecture" olarak adlandırılan modele dönüştürülmeye başlanmıştır.