# Agile - Süreçten ziyade, **bireylerin ve ekip iletişimi** önemli - Dokümantasyondan ziyade, **çalışan uygulama** önemli - Piyasadan ( uygulamanın müdavimi diğer uygulamalar ) ziyade, **müşteri ile iletişim** önemli - Bir plana bağlı kalmaktan ziyade, **yeni gelen talep veya değişimler** önemli <br/> <br/> <br/> ### İlk öncelik yazılımı en erken sürede ve devamlı bir şekilde teslim etmek <br/> > Sürümler arası süre olabildiğince kısa tutulmalı ve güncellemeler devamlı olarak belli aralıklarda yapılmalı. ### Değişen iş gereksinimleri her durumda kabul edilmeli <br/> > Yeni bir talep veya bir değişim geldiğinde oluşabilecek gecikmeleri önleyebilmeli ve ya minimalize etmeli ### Çalışan yazılım veya proje birkaç haftada bir müşteriye sunulmalı <br/> > Geliştiriciler çalışan yazılımı, belli aralıklarda (1 hafta veya ay) devamlı olarak müşterinin talepleri doğrultusunda veya iş akışında güncelleyerek müşteriye sunmalı ### İş sürecinde, geliştiriciler ile proje yöneticiler birlikte çalışmalı <br/> > Geliştiriciler ve yöneticiler arası iletişim cok iyi olmalı. Düzenli olarak bir araya gelinip proje hakkında konuşulmalı. ### En önemli ilerleme çalışan proje olmalıdır <br/> > İlerlemenin temel ölçüsü müşteriye çalışan projeyi sunabilmektir. ### Sadelik <br/> > İlk etapta işi bitirecek kadar müşterinin talepleri doğrultusunda geliştirme yapılmalı. ### Toplantı <br/> > Takım düzenli aralıklarla bir araya gelerek nasıl daha verimli ve üretken olabileceğini tartışır. <br/> > **Agilenin** temel amacı müşteri odaklı, kesintisiz değer üretmektir. Müşteri daima ilerlemeye doğrudan veya dolaylı rehberlik eder. Süreç müşterinin istekleri doğrultusunda ilerler. <br/> # Scrum - **Scrum**, Agile'nin proje yönetim metotlarından biridir. - Kompleks yazılım süreçlerinin yönetilmesi için kullanılır - Bunu yaparken, bütünü parçalayan tekrara dayalı bir yöntem izler. - Düzenli geri bildirim ile hedefe ulaşmayı hedefler. ### Product Backlog <br/> > Proje için gerekli gereksinimlerin listesidir. Proje yöneticisi, değişen ihtiyaçları göre burayı günceller. ### Product Backlog Item <br/> > Her bir Product Backlog bir tanesi ### Sprint <br/> > Projenin, küçük parçalara ayrılmış her bir birimine denir. Tüm aktiviteler sprint içerisinde gerçekleşir.1-2 haftalık süreçlerdir. ### Sprint Log <br/> > Geliştirme ekibi gereksinimleri öncelik sırasına göre sprint içerine alır. ### Scrum board <br/> > Bir sprint içesinde yapılacak maddeler burada yönetilir. TO-DO , IN PROGRESS, DONE vs ## Roller ### Scrum Yöneticisi <br/> > Proje sorumlusudur. geliştiriciler ile birlikte çalışır. Scrum kurallarını bildirir uyumu kontrol eder ve düzensizlikler ile ilgilenir. ### Kullanıcı - Müşteri <br/> > Yazılımın kullanıcısıdır. Ürünün nasıl bir perspektif ile kullanacağını bildirir ve gerçek hedef kitlesidir. Ürünü test eder ve geri bilgi akışı sağlar ### Takım ve geliştiriciler <br/> > Bir sprint'te bütün işleri tamamlayacak kişilerdir. Kendi kendilerini yönetirler. Projenin geliştirilmesi ile ilgili sorumluluk geliştirme takımına aittir ## İletişim - Toplantı <br/> - **Sprint Planning** Bu toplantı ile belirlenen gereksinimler küçük parçalara ayrılır ve ekip üyelerine dağıtılır. - **Daily Scrum** Her gün yapılan ortalama 15 dakikalık toplantılardır. Takımdaki üyelerin yaptıkları ve yapacakları görevler konuşulur ve olası engeller tartışılır. Bir sorun varsa, yardımcı olabilecek diğer üyeler yardım eder. - **Sprint Review** Her bir sprint sonunda yapılır. Yapılan iş gözden geçirilir. Çıkan ürün değerlendirilir. Ürün müşterinin gereksinimlerini karşılıyor mu test edilir ve çıkan sorunlar düzeltilir. - **Sprint Retrospective** Sprint sonunda yapılan, tüm sprint boyunca yapılan işlerin kalitesinin tartışıldığı toplantıdır.