Yazılım Geliştirme Metodolojim
Geçen gün geliştirdiğim bir yazılımı aktardığım bir arkadaş bu yazılım üzerine yeni geliştirmeler yaparken nasıl bir geliştirme metodolojisi izlediğimi sorduğunda aşağıdaki metodolojisi izlediğimi farkettim.
İlk Aşama Analiz
Öncelikle müşterinin veya bu projeyi isteyenlerin beklentisinin ne olduğunu iyi analiz etmek gerekiyor. Bunu için arayüz mockup’ları hazırlayıp bunlar üzerinden müşteri ile konuşuruz.
İstekleri Sağlayan OpenSource veya SaaS bir yazılım var mı ?
Hali hazırda belki istenen proje zaten yazılmıştır. Ufak konfigürasyon ve üzerinde oynamalar ile bu yazılımı geliştirmek yerine dışardan daha ucuza sağlayabilir miyim diye bakıyorum.
Ürün Geliştirmiyorsanız Genelde Müşterinize Özel Yazılım Geliştirme İhtiyacınız Olur. Hazır Framework ve Kütüphaneleri Deniyorum.
Kendime ait 2 klasörüm mevcut. Birincisi Lab, İkincisi POC(Proof Of Concept). Bu iki klasör içerisinde internetten indirdiğim Framework ve Kütüphaneleri deneyerek işime yarayıp yaramayacağını test ediyorum.
Kod Base Oluşturdugunuz Ortamın CI/CD altyapısını hazırlarım.
Kodda bir güncelleme yaptım hemen görmeliyim. Hemen deneme yapabilmeliyim. Bunun için kendimce geliştirdiğim continuous integration (CI) ve continuous deployment kavramlarını projenin en başından sistemime kurmaya çalışırım. Bunun için Atlassian ürünleri, AWS servislerini kullanıyorum.
Test Ortamı
Geliştirdiğim yapının ilk önce Model yapısını oluşturur ve bu model yapısını işleyen Process ce Servisleri tasarladıktan sonra bunların Unit Test, Integration Test veya Performance Test ortamlarını hazırlarım. Bu sayede arayüz geliştirmeden önce sistemi olabildiğince test kodu ile korumaya , servislerin doğru çalıştığından emin olmaya çalışırım..
Postman/SOAP UI Ortamına Entegre
Dışarıya açtığım REST ve SOAP servislerinin UI ortamında tanımlar ve herkesin UI geliştirmeden bu toolar üzerinden servisleri çalıştırmasını isterim..
JMeter ve Security
Halan UI geliştirmeden gerekli ise performans testi ve güvenlik testlerinin backend için geliştirilmesini UI geliştirmesinden önceye almak daha önemlidir.
Şimdi UI Geliştirmeye Başlayabiliriz.
Aslında UI Geliştirmenin ilk aşamasını Analiz Aşamasında Müşteri ile konuşurken Mockuplar ile yaparız. Bundan sonra UI geliştirmeye başlarız.
Sonuç
Aslına bakarsanız mantık aynı kod base olabildiğince kontrollü ve güvenli değiştirmeyi sağlamak. Bunun yöntemi
- Hızlı deployment
- Riskli kısımları olabildiğince ana koddan uzakta denemek
- Yazdığınız kodu olabildiğince Hızlı ve Otomatik Test Edilebilir şekilde geliştirmek
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.