18 Temmuz 2017 Salı

Scrum Sprint Planlama: Mevcut Sprintte Ne Yapılabilir?

Scrum Sprint Planlama: Mevcut Sprintte Ne Yapılabilir?

Geliştirme Takımı, Sprint boyunca geliştirilecek fonksiyonları öngörmek için çalışır. Ürün Sahibi, Sprintin başarması gereken amacı ve (Sprintte tamamlanırsa) Sprint Hedefini gerçekleştirecek Ürün İş Listesi kalemlerini tartışır. Tüm Scrum Takımı Sprintin işini anlamak üzere birlikte çalışır.

Sprint Planlama toplantısının girdileri Ürün İş Listesi, son çıkan Ürün Parçası, Geliştirme Takımının Sprintte harcayacağı kapasite tahmini ve Geliştirme Takımının geçmiş performansıdır. Ürün İş Listesinden kaç tane kalemi alacağına Geliştirme Takımı karar verir. Sadece Geliştirme Takımı önündeki Sprintte ne kadar işi yapabileceğini tartabilir.

Geliştirme Takımı, Sprintte teslim edeceği Ürün İş Listesi kalemlerini planladıktan sonra Scrum Takımı Sprint Hedefini oluşturur. Sprint Hedefi, Ürün İş Listesinin Sprint boyunca uygulanmasıyla ulaşılacak amaçtır ve Geliştirme Takımına Ürün Parçasını neden geliştirdiğiyle ilgili rehberlik eder.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

17 Temmuz 2017 Pazartesi

16 Temmuz 2017 Pazar

Scrum Etkinlikleri: Sprint Planlama (Sprint Planning)

Scrum Etkinlikleri: Sprint Planlama (Sprint Planning)

Sprintte yapılacak iş Sprint Planlama toplantısında planlanır. Tüm Scrum Takımı planı birlikte oluşturur.

Sprint Planlama, bir aylık Sprint için 8 saatle sınırlıdır. Daha kısa Sprintler için, etkinlik genellikle daha kısadır.

Scrum Master, etkinliğin yapılmasını ve katılımcıların etkinliğin amacını anlamasını sağlar. Scrum Master, Scrum Takımına bu etkinliğin zaman sınırını aşmamasını öğretir.

Sprint Planlama şu sorulara cevap verir:
  • Başlayan Sprintte Ürün Parçası olarak ne teslim edilebilir?
  • Ürün Parçasını teslim etmek için gerekli olan iş nasıl başarılacak?
Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

14 Temmuz 2017 Cuma

Scrum: Bir Sprintin İptal Edilmesi

Scrum: Bir Sprintin İptal Edilmesi

Bir Sprint zaman sınırına ulaşılmadan iptal edilebilir. Sadece Ürün Sahibi, Sprinti iptal etme yetkisine sahiptir. Ancak paydaşlar, Geliştirme Takımı veya Scrum Master, Ürün Sahibini bu kararı alması yönünde etkileyebilir.

Bir Sprint, Sprint Hedefine ulaşmak anlamını kaybettiğinde iptal edilebilir. Bu durum kurum yön değiştirdiğinde veya pazar ve teknoloji koşulları değiştiğinde söz konusu olabilir. Genel olarak, bir Sprint mevcut koşullarda artık bir anlam ifade etmiyorsa iptal edilmelidir. Fakat Sprintler kısa süreli olduğu için iptal kararı nadiren bir anlam ifade eder.

Bir Sprint iptal edildiğinde, bitirilen ve “Bitti” durumundaki Ürün İş Listesi kalemleri gözden geçirilir. Eğer işin bir kısmı yayın potansiyeline sahipse, Ürün Sahibi bunu genellikle kabul eder. Bitmemiş tüm kalemler yeniden tahmin edilerek Ürün İş Listesine geri konulur. Bu maddeler üzerinde yapılan çalışmalar hızla değer kaybeder ve sıkça yeniden tahmin edilmelidir.

Herkesin yeni bir Sprinti başlatmak üzere bir Sprint Planlama toplantısı daha yapması gerektiğinden Sprint iptalleri kaynak tüketir. Sprint iptalleri çoğunlukla Scrum Takımı için sarsıcıdır ve nadiren gerçekleşir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

13 Temmuz 2017 Perşembe

Scrum Etkinlikleri: Sprint Nedir?

Scrum Etkinlikleri: Sprint

Bir ay veya daha az zaman sınırı olan, içerisinde “Bitti” durumunda, kullanılabilir ve potansiyel olarak yayınlanabilir bir Ürün Parçasının oluşturulduğu Sprint, Scrumın kalbidir. Baştan sona bir geliştirme çalışması boyunca Sprintlerin süresi sabittir. Önceki Sprint biter bitmez yeni Sprint başlar.

Sprintler; Sprint Planlama, Günlük Scrumlar, geliştirme işi, Sprint Değerlendirme ve Sprint Retrospektifinden oluşur.

Sprint boyunca:
  • Sprint Hedefini tehlikeye sokacak hiçbir değişiklik yapılmaz,
  • Kalite hedefleri düşmez,
  • Daha fazla bilgi edindikçe Ürün Sahibi ve Geliştirme Takımı arasında kapsam netleştirilebilir ve yeniden müzakere edilebilir.
Her bir Sprint bir aydan uzun bir ömrü olmayan bir proje olarak düşünülebilir. Projeler gibi Sprintler de bir şeyi başarmak için kullanılır. Her bir Sprintin, neyin üretileceğine ilişkin bir tanımı, üretime rehberlik edecek bir tasarımı ve esnek bir planı, işin kendisi ve sonuçta ortaya çıkacak olan ürünü vardır.

Sprintler bir takvim ayıyla sınırlıdır. Sprintin süresi çok uzun olursa üretilecek şeyin tanımı değişebilir, karmaşıklık ve risk artabilir. Sprintler, en az bir takvim ayında bir, Sprint Hedefine doğru ilerleyişi gözlemlemeyi ve adapte etmeyi temin ederek öngörülebilirliği mümkün kılar. Ayrıca Sprintler riski bir takvim ayının maliyetiyle sınırlar.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

12 Temmuz 2017 Çarşamba

C# Sorusu: Delege (Delegate), Olay (Event) ve Metot (Method)

Facebook üzerinde cevapladığım bir soruyu başkalarına da faydalı olabileceğini düşünerek burada da paylaşıyorum.

SORU:
İkisi arasındaki fark nedir?
> MyEvent += new MyDel(MyMethod);
> MyEvent += MyMethod;

CEVAP:
C# dilinde bu iki kullanım arasında fark yok.

İlk kullanım, nizami bir kullanım şeklidir. Metodu temsil edecek bir delege örnekleniyor ve olaya bağlanıyor.

Alttaki yazım şekli ile de aynı şeyi yapıyoruz. Bu kullanım derleyici tarafından üstteki gibi derlenecektir. Bir nevi kısa yazım şekli gibi düşünülebilir. Olayda kullanılan delegenin imzası ile olaya bağlanmak istenen metodun imzası aynı olduğu sürece derleyici delegeyi örnekleyecek şekilde işlem yapılmasını sağlayacaktır.

Yani; ikinci kullanım, daha az tuş basımı, daha sade, daha anlaşılır ve rahat okunabilir bir kod yazımı sağlayarak aynı işlevselliği sunuyor.