Metodolojilermiz

Hız ve Kalitenin Bir Arada Olduğu Sektörün En İyi Metodolojileri

Tasarım Odaklı Düşünce Yapısı

Antasya çatısı altında yaptığımız her şey “tasarım odaklı düşünce yapısı” ile karakterize edilir. Uzmanlık alanları ne olursa olsun tüm çalışanlarımızın, bu ilke doğrultusunda hareket etmesini ve günlük işlerinde de bunu referans almasını sağlıyoruz.

 

Sektördeki en iyi yazılım mühendisleri ile bu ilkeyi temel alarak çalışıyor olmamız işimizdeki hassasiyetimizin garantisidir.

Metodolojilerimiz

Yazılım geliştirme metodolojileri; etkili yazılım çözümlerini planlamak, geliştirmek, test etmek ve dağıtmak (deployment) için kullanılan yapılardır.
Antasya’da kullandığımız ana metodolojiler şunlardır:

Scrum – Agile – DevOps – Lean – Prototype – XP – RAD

Scrum

Önceliklendirme – İş Birliği -İterasyon

Tüm ekiplerimiz, her projenin bu üç ilkeye göre yönlendirilmesini sağlayan sertifikalı bir Scrum Master tarafından yönetilir.

İlk olarak görevleri hızlıca öncelik sırasına koyuyor, sorumlulukları etkili bir şekilde sınıflara ayırıyor ve her unsuru belirli bir zamana göre planlıyoruz. Sprintler ve yinelemelerle iş planımızı sürekli revize ediyoruz.

Karmaşık süreçler boyunca bu metodoloji ile çalışan ekiplerimiz; günlük Scrum toplantıları düzenler ve en iyi proje yönetim araçları ile bitmiş ve bekleyen görevleri takip eder.

Gerçekleştirilen kısa, öz ve verimli toplantılar sırasında 3 temel soruya odaklanırız;

1) Son toplantıdan bu yana neyi başarıyla tamamladık?
2) Bir sonraki toplantıya kadar ne üzerinde çalışacağız?
3) Bu süreçte ne gibi problemlerle karşılaştık?

Kısa sprintlerde; ekiplerimiz iş parçacıklarını yeniden öncelik sırasına koyabilir ve product backlog istikrarlı bir verimlilikle azaltılabilir.

Agile

Çalışan Yazılım – Müşteri Katılımı – Değişime Uyarlama

Uzmanlarımızın çalışma motivasyonunu yükseltiyoruz ve kusursuz yazılımın kesintisiz ve zamanında teslimini garanti ediyoruz.

Agile, hizmet odaklı projeler ve kod-tasarım çıktıları için kullandığımız standart uygulamamızdır. Ekiplerimiz; müşteri fikri ürün geliştirme için önem arz ettiğinde ve ürünün işlevinin iyileştirilmesi söz konusu olduğunda bu yöntemi kullanırlar. Mevcut koşullardaki değişkenlikleri de göz önüne alarak ürünü test edip son halini veririz.

DevOps

Ölçüm – Otomasyon – Kültür

Ölçebilirsek geliştirebiliriz.
Otomatikleştirebilirsek sıkı çalışmaya odaklanabiliriz.
Fakat bir kültür geliştirirsek tüm bunlar kendi kendine olur!

Mükemmellik standardımızın temelleri DevOps ilkelerinden oluşur. Yetenekli yazılım geliştiricilerimize güveniyor, getirdikleri yenilikleri benimsiyor ve süreçteki şeffaflığı teşvik ediyoruz. Temel performans göstergelerini (KPI) ve hedeflere ulaşma tutkusunu asla gözden kaçırmayan cross- functional ekipler oluşturuyoruz.

Hem yazılım geliştirme hem de operasyon ekiplerinin bulunduğu büyük ölçekli projeler için riskleri azaltmak ve etkili bir iş birliğine imkân tanımak adına DevOps uygulamalarını kullanıyoruz. Bunları sağlamak için şunlara odaklanıyoruz:

Telemetri ve
Uyarı

Sistemden akan tüm yararlı verileri ölçmek, her tür hatayı takip etmek ve sistemin mevcut durumu hakkında bilgi sahibi olmak için uygulama loglarını ve metriklerini kullanıyoruz. Tamamlandıktan sonra dahi tanı konulması ve düzeltilmesi gereken olaylardan, gerekli uyarı sistemlerini oluşturarak haberdar oluyoruz.

Otomatikleştirilmiş
Test

Herhangi bir değişikliği uyguladıktan sonra kodun kusursuz çalıştığından emin olmak için yapabileceğimiz her testi otomatikleştiriyoruz.

Bu sayede, manuel test ile zamanın verimsiz bir şekilde harcanmasının önüne geçiyoruz.

Sürekli Dağıtım
(Continuous Deployment)

Kod havuzları (code repository) kullanarak ve süreçleri birbirinden ayırarak her değişikliğin riskini ve etkisini azaltmak için kademeli değişiklikler yapıyoruz.

Kademeli olarak değişiklikleri uygulayarak tüm süreci geciktirecek olan etkisiz değişikleri hızlı bir şekilde geri alıyoruz.

LEAN

Kaybı Azaltma – Bilgi Oluşturma – Optimize Etme

Uzmanlarımızın çalışma motivasyonunu yükseltiyoruz ve
kusursuz yazılımın kesintisiz ve zamanında teslimini garanti ediyoruz.

Değere odaklanmak gerektiğinde ve işlerin hızlı bir şekilde halledilmesine ihtiyaç duyulduğunda Yalın (Lean) yaklaşımı ile çalışıyoruz. Lean odaklı takımlarımız ile etkili bir şekilde çalışıyor ve kaynak israfını en aza indirgiyoruz.

 

Müşterilerimizle iletişim ağını sıkı tutarak ürünün temel işlevlerini ve özelliklerini anlıyor, karmaşık projeleri hazırladığımız sıkı çalışma programları ile teslim ediyoruz.

 

Ekiplerimiz Lean metodolojisinin 7 ilkesine sıkı sıkıya bağlıdır:

7

RAD (Rapid Application Development)

Erken Entegrasyon – Uyarlanabilirlik – Bölümlere Ayırma

Ekiplerimiz ile yazılım geliştirme süreçlerine ilişkin uygulanan ve bu süreçlerin mümkün olduğunca hızlı bir şekilde gerçekleştirilmesini destekleyen Rapid Application Development yöntemini kullanıyoruz.

 

RAD, belli durumlara esnek bir şekilde yanıt vermemize ve ürünün
gereksinimleri hakkında daha fazla bilgi topladıkça tasarımımızı geliştirmemize olanak tanır.

Belirli projelerde RAD kullanımının avantajları;

XP - Extreme Programming

Sade – Cesur – Enerjik

Uzmanlarımızın çalışma motivasyonunu yükseltiyoruz ve
kusursuz yazılımın kesintisiz ve zamanında teslimini garanti ediyoruz.

Eş konumlu genişletilmiş ekiplerimiz, karşılaştıkları sürekli değişen durumlar nedeniyle Ekstrem Programlama yöntemi için ideal adaylardır. Eşli programlama, haftalık ve üç aylık döngüler ve incremental tasarım deneyimli mühendislerimizin uyguladığı ilkelerden bazılarıdır.

 

Bu yöntem, cross-fuctional ekiplerinin yeni gelişmiş teknolojilerin uygulanması gibi yüksek riskli zorlukları içeren belirli projelerde olağanüstü performans göstermesine olanak tanır. Extreme Programming ile çalışırken en yaygın 12 pratiğini takip ediyoruz:

FineScale
Feedback

Eşli programlama (Pair programming): Kod, aynı bilgisayarda çalışan iki kişi tarafından oluşturulur.

 

Planlama oyunu: İndex kartlarının kullanımıyla kullanıcı gereksinimlerini sıralarız ve bunlara öncelik veririz.

 

Test odaklı geliştirme: Üretim kodunu yazmadan önce testlerin yapıldığı kısa geliştirme döngüleridir.

 

Tüm takım: Feedback loops ekipteki her bir üye arasında kurulur.

Kesintisiz
Süreç

Sürekli entegrasyon: Bazı bileşenler bir sonraki aşamaya geçmeden önce geliştirilir, test edilir, sabitlenir ve entegre edilir.

 

Tasarım geliştirme: Kodun tekrarlanmaması, kodun uyumunun artırılması ve bağlantının düşürülmesi aşamasıdır.

 

Küçük sürüm: Geri dönüşleri ve hata algılamayı en aza indirmek için sürümler küçük ve basit tutulur.

Paylaşılan
Anlayış

Kodlama standardı: Biçimlendirme, kod yapısı, adlandırma kuralları, hata işleme ve açıklamalar konularında belli standardı içerir.

 

Toplu kod sahipliği: Takımdaki herkesin herhangi bir kaynak kodu değiştirmesine ve geliştirmesine izin verilir.

 

Basit tasarım: Tüm testleri çalıştıran, yinelenen kod içermeyen, amacı açıkça belirten ve birkaç sınıf ve yönteme sahip bir tasarımdır.

 

Sistem metaforu: Sistem tasarımının yeni insanlara net bir şekilde açıklayabilecek yeterliliğe sahip olmasıdır.

Prototype

Kullanıcı katılımı – Hızlı geri bildirim – Fonksiyonelliğe odaklanma

Prototype metodolojimiz, sistemi daha iyi anlamak ve
eksik işlevleri belirlemek için müşterilerimize tasarlamaya çalıştıkları
yazılım hakkında doğru bir fikir vermemizi sağlar.

Harika etkileşim, mükemmel arayüz ve sorunsuz kullanıcı deneyimi olan ürünler oluşturmak için kullanıcı katılımına ve geri bildirimlerine öncelik veriyoruz. Müşterilerimiz, ürünün son halinin nasıl görüneceğine dair bir fikre sahip olmak için geliştirmenin her adımını görebilirler. Son kullanıcı etkileşimli ürünler için Prototype modeline güveniyoruz. Çevrimiçi sistemler ve web arayüzleri, bunun yanı sıra son kullanıcı için minimum eğitim / bilgiye ihtiyaç duyulan projeler için ideal adaylardır.
Bunun için Prototype uygulamasının 6 klasik adımını takip ediyoruz:

Gereksinimler ve analiz

Görüşmelerle beklentilerinizi öğrendikten sonra sistemin gereksinimlerini ayrıntılı olarak tanımlıyoruz.

2

Hızlı tasarım

Kodlama veya programlama olmadan bir ön tasarım yapıyoruz. Bu aşamada ürünün müşteri ile olan bağlantısını tanımlıyoruz.

3

Prototip oluşturma

Tasarım konsepti onaylandıktan sonra, temel işlevselliğe ve yalnızca temel özelliklere sahip ilk prototipi oluşturmaya geçiyoruz.

Kullanıcı değerlendirmesi

Prototipi güçlü ve zayıf yönlerini değerlendirmek ve tanımlamak için farklı kullanıcılar tarafından teste tabi tutuyoruz. Bu testler temel işlevsellik gereksinimlerinden estetiğe kadar uzanır. Yorumlar, öneriler ve her veri dikkate alınır.

Prototip düzeltme

Kullanıcı değerlendirmesinden elde edilen tüm bilgileri kullanılarak prototipin daha gelişmiş bir versiyonu yapıyoruz ve kullanıcıya tekrar sunuyoruz. Bu aşama, ideal son ürünü elde etmek için çoğu yinelemenin gerekli olduğu ve hatta zamana ve kaynaklara yatırım yapıldığı kısımdır.

Mühendislik ürünü

Son prototip onaylandıktan sonra, tamamen işlevsel bir nihai ürüne dönüşmeden önce bir dizi kalite kontrol testi yapıyoruz ve sıkı değerlendirmelerden geçiriyoruz.

Bizimle Yazılım Geliştirmeye Hazır mısınız?

Bizimle İletişime Geçin.

Siz de Bize Ulaşın

Pek çok öncü kuruluş, dijital dönüşüm çözümlerimizden stratejik avantajlar elde etti.

Adı Soyadı
Alan gereklidir!
Alan gereklidir!
Email
Alan gereklidir!
Alan gereklidir!
Telefon
Alan gereklidir!
Alan gereklidir!
Konu
Alan gereklidir!
Alan gereklidir!
Mesajınız
Alan gereklidir!
Alan gereklidir!

Aralık 2020 itibariyle çalışmaya başladığımızdan itibaren ihtiyaç duyduğumuz gerek outsource ihtiyaçlarımızı, gerek anahtar teslim proje teklif ve çalışmalarılarından memnun kalmışızdır. Kritik ihtiyaçlarımızın zamanında ve uygun şartlarda sağlamaları çalışmamızın uzun ömürlü olacağını düşünmekteyim. Ayrıca firma çalışanların iletişiminin profesyonel yönde olmasıda artı bir değer yaratmaktadır. Antasya için özetlemem gerekirse başta Mehtap Bostancı hanım ve tüm çalışma arkadaşlarına değerli katlılarından dolayı teşekkür ederim.

Sezer ÖZDEMİR

Talep ve Kapasite Planlama Danışmanı