9 Temmuz 2019

Yeni Tester, İş Analisti Modelleri ve Yazılım Yaşam Döngüsündeki Yeri (Software Development Life Cycle-SDLC)

Yeni Tester Modelleri ve Yazılım Yaşam Döngüsündeki Yeri (Software Development Life Cycle-SDLC)

Bir yazılım ürününün müşteriden son kullanıcya ulaşana kadar geçen tüm süreçler, gün geçtikçe bilgi teknolojileri veya diğer adı ile IT sektöründe (Information Technology) evrimleşiyor. Özellikle DevOps, Continuous Deployment (CD), Continuous Integration (CI) Türkçe adı ile Sürekli Entegrasyon, Test Otomasyon gibi yeni teknik kavram ve modeller yazılım üretim sürecini ve bu alan da çalışan kişilerinde Title'larını güncellliyor.

Temel de bir yazılım üretim sürecini kısaca anlatmak gerekirse müşteri veya iş birimi kısacası işi talep eden kişiden Analiz dediğimiz çalışan işin içeriğini dokumente ederek yazılımcıya verir. Ürünü gelen gereksinimlere göre kodlayan yazılımcı da kontrol etmesi için testçi ye vererek ürünün son hali kullanıcıya açılır.

Türkiye'da bu anlayış henüz hazır olmasa da yurt dışındaki IT firmaları özellikle Agile, Scrum, Kanban gibi çalışma metodolojileri ile birlikte çalışmaya başladığından beri Development ekibinin neredeyse hepsi yazılımcı yani Developer oluyor. Takım ürettiği ürünü Production (Canlı) ortama çıkarmadan önce kendisi dışında birinin daha kontrol etmesi ve kaliteli yazılımın çıkması için en fazla bir Test Mühendisi veya tüm kontrol sürecini teknik olarak yönetecek bir Test Mimarına ihtiyaç duyuyor.

Linkedin sitesinde Hollanda, İrlanda, Polonya, Almanya gibi yerlerdeki iş ilanlara baktığınızda da genelde Developer ve Teknik Tester dediğimiz (Test Otomasyon Mühendisi) arayışı fazla olup yeni yazılım geliştirme sürecinde işin analizi, dokumantesi, kodsal olarak mimarinin hazırlanması ve yazılımı dahil tüm bunları artık Developer yapıyor. Hatta yazılımcılar kendi testlerini bile Unit Test olarak hazırlayıp DevOps toolları ile otomatik Deployment yolu ile Production ortamına kadar götürebiliyor.

Bu gelişen SDLC sürecinde teknik birikimi olan kişiler daha ön plana çıkıyor. Çünkü Operasyonel işleri artık CI/CD araçları yaptığı için Test Mühendisleri de kendi içlerinde Title olarak bölünüyorlar.

Özellikle Manuel Test dediğimiz kavramdaki mühendis ile Test Otomasyon yapan yani kodlama yapabilen mühendis iş kolları olarak ayrılıyor. Hatta Test Otomasyon yaparken kurumun imkanlarını kullanarak DevOps gibi konulara da girmiş ise bu kişi, ileri ye dönük bazı Otomasyoncular kendini DevOps Engineer olarak güncelliyor ve kariyer yolunu oraya doğru şekilendiriyor.

Çünkü Test Otomasyon yapan ve kodlama kabiliyeti olan bir mühendis DevOps Tooları, Groovy Betik Dili, Jenkins Job DSL ve Plugin gibi teknik eksiklerini kısa sürede öğrenip kapatarak adepte olması kolay oluyor. Bu sayede teknik bilgisi olan bir Test Mühendisi aşağıdaki Title'lar da iş yapabiliyor ve kariyer yolunu aşağıdaki gibi seçeneklendirebiliyor.

* Manuel Testçi (Kısıtlı Teknik Bilgiye Sahip Olan)
* Test Otomasyon Mühendisi
* Performans Testçisi
* DevOps Mühendisi

Yeni Tester Modelleri ve Yazılım Yaşam Döngüsündeki Yeri (Software Development Life Cycle-SDLC)


Yukarıda ki örnek bir Scrum Team yapısını gösteriyor. Türkiye'de BA-Business Analyst ihtiyacı (İş Analisti) uzun bir süre devam edecek gibi duruyor. Hem operasyonel ihtiyaçlardan dolayı hemde sektörel bilgi azlığından ve devir edilebilen temiz yazılım döngüsü olmadığından dolayı.

Fakat hızlı üretim yapan yabancı bir IT firmasında bir Development takımın hepsini Developer görmeniz mümkün. Bunun amacı tüm bireyler aynı yeteneğe sahip olduğu için ve diğer Analiz-Test bacaklarını da yapabildikleri için takım otomatik olarak Cross-Functional Team oluyor.

Hızlı üretimde kontrolleri de otomatikleştirip bu kontrolleri kodlaması için Test Otomasyon ve Performans Testi yapan mühendislere ihtiyaç daha fazla oluyor. Bu sayede takımın kontrollerini otomatikleştirip takımın hızlı üretim yapmasını sağlıyor ve ayrı bir gözden de takımı test ederek kaliteli ürün çıkarma politikasını gerçekleştirmiş oluyorlar.

Burak AVCI

Hiç yorum yok:

Yorum Gönder