3. YAZILIM GELİŞTİRME SÜREÇLERİ VE MESLEKİ
3.2. Uluslararası Meslek Sınıflaması (ISCO-08) Tanımlarına Göre Yazılım
ISCO-08 (International Standard Classification of Occupations) tanımlarına göre, literatürde 5 ayrı rol olarak tanımlanan yazılım ile ilgili roller, sistem analisti, yazılım geliştiricileri, başka yerde sınıflandırılmamış yazılım ve uygulama geliştiricileri ve analistleri ve uygulama programcıları olarak belirtilmiştir [39]. Sistem analisti görevleri arasında sayılan, sistem test planlarını oluşturma, adapte etme, uygulama gibi fonksiyonel çözümlemelerin uygulanması için gerekli sorumlulukları almak görevi yazılım test uzmanına ait bir görev olarak, yazılım geliştiricileri rolünün görevleri arasındaki, bilgisayar yazılım sistemlerini tasarlamak yazılım tasarımcısı rolüne ait bir görev olarak, işletim sistemleri, iletişim ortamları ve uygulama yazılımları için bakım prosedürlerini değerlendirmek, geliştirmek, güncellemek ve belgelemek ile hataları gidermek, yeni bir donanıma uygun hale getirmek veya ara yüzlerin güncellenmesi ve performansın arttırılması için mevcut yazılımı düzeltmek görevleri yazılım bakımcısına ait görevler arasında değerlendirilebilir. ISCO-08 sınıflandırmalarına göre başka yerde sınıflandırılmamış yazılım ve uygulama geliştiricileri ve analistleri sınıfına ait görevlerin, literatürde yazılım test uzmanı olarak adlandırılan rolün üstlendiği görevler ile benzer olduğu görülmektedir [39]. Bununla birlikte, uygulama programcıları meslek sınıfına ait görevler de yazılım bakımcısının görev tanımına uymaktadır [39].
Çizelge 3.3. ISCO-08 meslek sınıflamasına göre yazılım alanındaki meslekler ve görevler
ISCO-08 Rol Adı Görevler Olası Rol Adları
Sistem Analisti Kullanıcılara danışarak talepleri belirlemek ve doküman haline getirmek, sistem ilkelerine ilişkin anlaşma sağlamak amacıyla yönetime danışmak
İş süreçlerini, prosedürlerini ve çalışma pratiklerini tanımlamak ve analiz etmek
Verimsiz uygulamaları tanımlamak ve değerlendirmek, en uygun iş uygulamaları ile sistem işlerliği ve davranışını tavsiye etmek Sistem test planlarını oluşturma, adapte etme, uygulama gibi fonksiyonel çözümlemelerin uygulanması için gerekli sorumlulukları almak
Sistem geliştiricilerinin kullanımı için fonksiyonel özellikleri geliştirmek
İş akışını geliştirmek veya yeni amaçlara hizmet etmek için sistemi genişletmek veya yenilemek
Sistem Analisti Yazılım Test Uzmanı
Çizelge 3.3. (devam) ISCO-08 meslek sınıflamasına göre yazılım alanındaki meslekler ve görevler
Yazılım Geliştiricileri Yazılım uygulamaları ve işletim sistemlerine yönelik talepleri araştırmak, analiz etmek ve değerlendirmek
Bilgisayar yazılım sistemlerini araştırmak, tasarlamak ve geliştirmek
Donanım ve yazılım arasındaki ara yüzleri değerlendirmek için mühendislik personeline danışmak
Yazılım testi ve geçerlik prosedürlerini geliştirmek ve yönetmek;
Hataları gidermek, yeni bir donanıma uygun hale getirmek veya ara yüzlerin güncellenmesi ve performansın arttırılması için mevcut yazılımı düzeltmek
Yazılım programlaması ve dokümantasyon geliştirilmesi konularını yönetmek
İşletim sistemleri, iletişim ortamları ve uygulama yazılımları için bakım prosedürlerini değerlendirmek, geliştirmek, güncellemek ve belgelemek
Yazılım sisteminin bakımı ile ilgili müşterilere danışmak.
Yazılım Geliştirici
Yazılım test planlarını geliştirmek ve belgelemek
Yazılım ve donanımı kurmak, test işlemleri hazırlığında işletim sistemi yazılımını yapılandırmak
Programların kullanıcı taleplerine ve yürürlükteki kılavuzlara göre çalıştığını onaylamak
Yazılım uygulamaları ile bilgi ve telekomünikasyon sistemleri testlerinin sonuçlarını oluşturmak, analiz etmek ve belgelemek Yazılım ve bilgi sistemleri test politikalarını, prosedürlerini ve kodlarını geliştirmek ve uygulamak.
Yazılım Test Uzmanı
Uygulama programcıları Onaylanmış kalite standartları ile uyumlu talimatlar ve özelliklere göre ana hatları oluşturulmuş programlama kodlarını yazmak ve bakımını yapmak
İşletim etkinliğini artırmak veya yeni taleplere adapte etmek için mevcut programları düzeltmek, onarmak veya genişletmek Programların ve yazılım uygulamalarının istenilen bilgiyi üreteceğini onaylamak için deneme çalışmaları yapmak;
Program geliştirme dokümantasyonunu derlemek ve yazmak Teknik problemleri, süreçleri ve çözümleri tanımlamak ve bunlarla ilgili bilgilendirme yapmak.
Yazılım Bakımcısı
Yukarıdaki tablolarda belirtildiği gibi, ISCO-08 meslek sınıflaması ve MYK standartlarında, rol tanımlarının literatürde belirtildiği gibi kesin olarak birbirinden ayrılmadığı görülmektedir. Yazılımın her süreci farklı görev ve sorumluluklar gerektirdiği için rol tanımlarının farklı olması gerekmektedir.
Tabloda yazılım geliştirme süreçlerinin tanımları ile ISCO ve MYK tarafından ilgili süreç için belirlenen meslek grubunun adı yer almaktadır. ISCO tasarım, kodlama ve bakım süreçleri için tek tip rol tanımlarken, MYK tanımlarına göre, gereksinim analizi ve test süreci BT İş analisti, tasarım, kodlama ve bakım faaliyetleri Yazılım Geliştirici tarafından gerçekleştirilmektedir. Ancak, yazılım geliştirme süreçlerinin her biri farklı sorumluluk ve yetenekleri gerektirmektedir. Bu nedenle yapılan çalışmada, yazılım süreçleri için SWEBOK tarafından belirlenen çizelge 3.4’teki süreç tanımları referans alınmıştır.
Süreçlere ait rol isimleri ise literatür tanımlarına uygun olarak çizelge 3.5’te olduğu gibi
Sistem analisti BT İş Analisti
Yazılım Tasarımı
Çizelge 3.5. Yazılım geliştirme süreçlerine ait literatürde kullanılan rol isimleri
Yazılım Geliştirme Süreçleri Rol
Yazılım projelerinde çalışan kişilerin, çalıştıkları rolün gerektirdiği sorumlulukları gerçekleştirmek için, teknik becerilerinin yanında kişisel özelliklerinin de ilgili role uygun olması gerekmektedir. Pek çok çalışmada kişiliğin akademik performans, ders seçimi, üniversite eğitimini ve kariyer seçimi ile ilişkili olduğu tespit edilmiştir [40]. Yazılım projelerinde takım performansının ve görev seçiminin kişisel özellikler ve beceriler ile ilişkili olduğunu gösteren çalışmalar mevcuttur [21,28]. Yazılım süreçleri için gerekli kişisel beceriler ve bu beceriler ile ilişkili kişilik tiplerine 4. Bölümde yer verilmiştir.