Bir önceki “Github ile Açık Kaynak Projelere Katkıda Bulunmak” yazısına ek proje yönetimi hakkında bir şeyler paylaşmak istiyorum.
Projeleri geliştirelim, geliştirelim de nasıl?
Bu işin bir yolu bir yordamı olmalı değil mi?
Yazılım projelerinin en büyük başarısız unsurlarından olan proje analiz ve tasarım kısımları bir çok kişi (firma) tarafından çabuk geçilecek adımlar olarak görünüyor. Fakat iş hiçte öyle değil.
Biliyorsunuz “Kervan yolda dizilir.“ diye bir laf var.
Ama “Görünen köy kılavuz istemez.” diye de bir laf var.
Hadi bakalım siz hangi taraftasınız?
Neyse ben hepinizi ufak bir gezintiye (köy görmeye) davet ediyorum. 🤸
Proje Yönetimi Üzerine
Bir fikriniz var ve gerçekleştirilecek bir projeniz var. Öncelikle o projeye ait çalıştığınız alana göre araştırmalar yapmanız gerekir. Bu projenize göre değişken bir şeydir. Ben proje yönetiminin daha çok iş takibi ve bölümlenmesi üzerine yazacağım.
Proje Oluşturmak
Github da bir deponuz olduğunu varsayıyorum. Bu deponun Projects sekmesine gidin.
Ekranda da göründüğü gibi yapabilecekleriniz şunlar:
- Görevler oluşturabilirsiniz.
- Projenizi planlayabilirsiniz.
- İş akışlarınızı takip edebilirsiniz.
- Görev geliştirme süreçlerini — sürelerini görüntüleyebilirsiniz.
- Paylaşım durumlarınızı görebilirsiniz.
Create a Project butonuna tıklayarak yeni bir proje oluşturma sayfasına gidin.
Proje adı, açıklaması ve proje şablonu seçerek projenizi oluşturun.
Proje Şablonları
Kanban: Toyota’nın üretim verimliliğini artırmak amacıyla Taiichi Ohno tarafından geliştirilmiş bir yöntemdir. Basitçe bir işi durumlara ayırmak ve “işi yapılacaklar, yapılıyor olanlar, bitenler, test edilmişler, işi bitmiş olanlar” olarak takip eder.
Automated Kanban: Hazırlamış olduğunuz tetikleyiciler kullanarak görevleri sıraya dizer. Buna göre de panoya günceller.
Automated Kanban with Reviews: Automated Kanban’a ek olarak Pull Request yönetir.
Bug Triage: Projede oluşan bug yönetimini öncelik sırasına göre yönetirsiniz.
Görev Yönetimi
Kanban kartları üzerinde öncelikle TO-DO görevlerimizi giriyoruz.
Her bir TO-DO için bir issue oluşturuyorum.
Issue sekmesinde yan tarafta bulunan ayarları yapıyorum.
Assigness: Göreve atanan kişi
Labels: Görevlerinizi bug, documentation gibi etkiketlerle kategorilendirebilirsiniz. Ben TO-DO etiketi oluşturdum.
Projects: Yeni oluşturduğumuz projeye dahil ederek durumunu TO-DO seçtim.
Milestone: Projemizde ilerleme kaydedeceğimiz görevlerdir.
Linked Pull Request: Pull Request taleplerini issue ve projemizle ilişkilendireceğimiz yerdir.
Yeni bir Pull Request göndererek bunu projemizle bağlayalım.
Geliştirme ortamımızdan bir proje geliştirmesi yaptım ve bunu push ederek Github’a yükledim. Github üzerinde ise Create Pull Request ile bir istek oluşturdum.
Pull Request işlemi sırasında Proje ve durum seçtim. (Burada TO-DO seçili gözüküyor fakat DONE seçili bir şekilde kaydettim.)
Projemizde gözüken görevimiz “Create New Integration”, projeye yaptığımız geliştirme isteği adı ise Admob… Karıştırmayalım.
İşlemleri yapıp kaydettikten sonra bu görevi projemizde DONE kartında görüntüleyeceksiniz. Bununla birlikte request de gözükecektir.
TO-DO kartında yer alan görev başlığını ise işaretleyerek görevi takip edebilir olacaksınız.
Özet Geçmek gerekirse:
Proje oluştur. 📐
TODO görevlerine eş değer Issue oluştur. 📆
Pull Request işlemlerini Issue ‘lar ile ilişkilendir. Issue’ lara ait içerikleri doldur. 📎
Proje takibini gerçekleştir. 📈