Yazılım projesi tahmini: işleri parçalara ayırmak
- Bir yazılım projesini planlarken görev listesini açık biçimde tanımlamak önemlidir.
- Görevleri parçalara ayırma süreci sezgisel görünebilir, ancak somut adımlardan geçilmelidir.
- Görev ayrıştırma süreci, projeyi oluşturan işlere bölmeyi ve her işi ayrıntılı olarak tanımlamayı içerir.
Örnek üzerinden görev ayrıştırma
- Kişisel bir streak takipçisi yapma örneği üzerinden görev ayrıştırma süreci gösterilir.
- Streak takipçisi açık hava aktivitelerini izler; Streaks uygulamasına benzer, ancak çeşitli açık hava aktivitesi seçenekleri ve Duolingo'nun "streak freeze" özelliğini içerir.
İlk deneme
- Bir çizimle başlayarak ne yapılacağının görsel taslağı oluşturulur.
- Kişisel projelerde basit bir eskiz yeterli olabilir, ancak işi devretmek veya zaman tahmini yapmak gerekiyorsa daha ayrıntılı bir görev ayrıştırmasına ihtiyaç vardır.
İkinci deneme
- Tek bir iş, bileşenlerine genişletilerek planlanır ve bağımlılıklar dikkate alınır; ancak aşamaların boyutu ya da kapsamı konusunda henüz endişe edilmez.
- Veri modelleme, takvim görünümü, etkileşimli takvim, mevcut streak'in hesaplanması ve gösterimi, streak freeze uygulaması gibi bir görev listesi hazırlanır.
Üçüncü deneme
- Daha büyük aşamalar daha küçük bileşenlere bölünür ve ayrıntılar eklenir.
- Veri modelleme, statik takvim görünümü, dinamik haftalık takvim görünümü, streak'in hesaplanması ve gösterimi, streak freeze gibi işler daha ayrıntılı biçimde tanımlanır.
Görev ayrıştırma süreci
- Görev ayrıştırma etkileşimli bir süreçtir; büyük işleri düşünüp bunları daha küçük adımlara bölerek kaydetmeyi içerir.
- Her görevin yeterince tanımlanıp tanımlanmadığı kontrol edilir; değilse algoritma yinelenerek daha ayrıntılı alt parçalara ayrılır.
Görev nedir?
- Görev, yeterince tanımlanmış, bütünlüklü bir işi kapsayan ve değişim yaratan bir şeydir.
- "Yeterince tanımlanmış" görev net bir çerçeve gerektirir; "bütünlüklü" görev ise gerekli tüm işleri içermelidir.
Yeterince tanımlanmış görev nedir?
- Görevi yapacak kişinin istenen değişikliği anlaması, "tamamlandı" durumunun nasıl görüneceğini kavraması ve buna ulaşan tüm adımları tanımlayabilmesi gerekir.
Bu bir beceridir ve pratik gerektirir
- Görev ayrıştırma bir beceridir ve pratikle gelişir.
- Deneyimli geliştiriciler için sezgisel gelebilir, ancak daha az deneyimli kişiler için zor olabilir.
- Güvenli bir öğrenme ortamında proje planlaması istemek, işleri parçalara ayırmak ve geri bildirim vermek önemlidir.
Görev ayrıştırma algoritmasının özeti
- Başlangıç noktasında görev listesi, eskiz ya da fikirle başlanır.
- Her öğenin yeterince tanımlanıp tanımlanmadığına karar verilir; cevap "hayır" ise görev daha da parçalanır.
- Tüm görevler yeterince ayrıştırılana kadar bu süreç tekrarlanır.
Proje tahmini bonusu
- Seri tahmin üzerine olduğu için proje için bir tahmin de tamamlanır.
- Gerçek iş yükü fazla tahmin edilmiş olabilir, tasarım sadeleştirilebilir ve "freeze" algoritmasında hata bulunabilir.
GN⁺ görüşü
- Görev ayrıştırma, proje yönetimi ve yazılım geliştirmede temel bir beceridir; bu yazı, başlangıç seviyesindeki yazılım mühendislerinin görev ayrıştırmanın önemini ve yöntemini anlamasına yardımcı olabilir.
- Görev ayrıştırma, projenin kapsamını net biçimde tanımlamak ve zaman ile kaynakları verimli yönetmek için vazgeçilmezdir.
- Yazı, görev ayrıştırma sürecini adım adım açıkladığı için gerçek projelere uygulanabilecek iyi bir örnek sunar.
- Görev ayrıştırmanın doğruluğu projenin başarısını büyük ölçüde etkileyebilir; bu süreçte ortaya çıkabilecek hata veya eksiklerin en aza indirilmesi önemlidir.
- Benzer işlevler sunan proje yönetim araçları arasında Jira, Trello ve Asana bulunur; bu araçlarla görev ayrıştırma süreci görselleştirilebilir ve yönetilebilir.
Henüz yorum yok.