TDD, Driven Development
Yazılım geliştirme, bir takım yazılım geliştirme işlemlerinin (analiz, gereksinim, kodlama, test, deploy vb..) bir döngü içerisindeki tekrarından ibarettir. Sizin yukarıdaki işlemleri farklı farklı ele alıyor olmanız bu yazılım geliştirme methodlarının oluşmasını sağlamıştır.
- Waterfall
- Iterative
- Spiral
- Agile ( Kanban , Scrum)
Eskiden sadece Askeri ve Devlet için yazılım geliştirirken. Waterfall çok uzun bir analiz, çok uzun bir tasarım , sonrasında kodlama ve test ile gerçekleşen bir süreçti. Günümüzde yazılımlar her yerde, sürekli herkes kodlama yapıyor bunların hızlı bir şekilde güncellenmesi gerekiyor. İnsanlar bir çok dilde uzaktan kodlar geliştiriyor vs.. Bu yeni ihtiyaçlar yıllar içerisinde yeni methodlar ortaya koyarak bu süreçlerin daha kısa , küçük ve çevik döngüler halinde olmasını zorunlu hale getirdi.
Hangi yazılım geliştirme süreci/methodu olursa olsun geliştiriciler bir takım teknikleri/prensipleri kullanarak bu yazılımları geliştirir. Geliştiricilerin buradaki amaçları daha esnek ve genişleyebilir, bakımı kolay , değişikliklerde hatayı daha iyi yakalayabilen , müşterinin isteklerini daha iyi yansıtan veya daha çok umut ve motivasyon vermesi olabilir.
- Object Oriented Design (S.O.L.I.D) , Design Patterns
- Feature Driven Development
- Test Driven Development
- Behaviour Driven Development
- Accaptence Test Driven Development
- Model Driven Development
- Domain Driven Development
Bu prensiplerin hepsi iyi olacak diye bir kuralda yok. :)
- Hype Driven Development .
- Stack Overflow Driven Development
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.