Yazılım Geliştirme Metodolojim

Software Development

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.

Ö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.

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.

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.

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.

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..

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..

Halan UI geliştirmeden gerekli ise performans testi ve güvenlik testlerinin backend için geliştirilmesini UI geliştirmesinden önceye almak daha önemlidir.

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.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store