Spike
- Okunuşu
- spayk
Kısaca
Spike, Agile ekiplerin bir özelliği geliştirmeye geçmeden önce bir soruyu yanıtlamak veya belirsizliği azaltmak için yaptığı kısa, zaman kutulu araştırmadır.
Agile'da spike nedir?
Spike, bir ekibin gerçek işe girişmeden önce bir soruyu yanıtlamak için yaptığı küçük ve zaman kutulu bir araştırmadır. Bir özellik teslim etmek yerine bilgi teslim eder; örneğin veritabanının yeni bir sorgu hacmini kaldırıp kaldıramayacağı, hangi kütüphanenin ihtiyaca uyduğu veya üçüncü taraf bir API'nin kimlik doğrulamayı nasıl ele aldığı gibi. Terim, spike solution'ın olası bir yaklaşımı keşfetmek için yazılmış çok basit bir program olduğu Extreme Programming'den gelir; altında ne olduğunu görmek için sorunun içinden bir çivi (spike) çakmak gibi.
Ekip spike'ı backlog'a net bir soru, birkaç saatten birkaç güne uzanan bir zaman kutusu ve bir öneri, kaba bir tahmin, kısa bir yazı ya da at-kullan bir prototip gibi beklenen bir çıktıyla bir öğe olarak ekler. Süre dolduğunda çalışma durur ve yanıt daha fazla bilgiye ihtiyaç olduğu olsa bile ekip öğrendiklerini paylaşır. Teknik spike'lar teknoloji seçimlerini ve riskleri, işlevsel spike'lar ise bir özelliğin kullanıcılar için nasıl davranması gerektiğini araştırır.
Spike, mühendisler bir binanın temelini tasarlamadan önce test sondajı yapan bir jeolog gibidir: inşaat başladıktan sonra kötü zemini keşfetmeye kıyasla maliyeti düşüktür. Spike'lar en çok, çok fazla şey bilinmediği için bir user story'nin tahmin edilemediği durumlarda yararlıdır; spike'tan sonra ekip gerçek story'leri güvenle bölüp tahmin edebilir.
Spike çoğunlukla sıradan bir user story ile karıştırılır. Story kullanıcılara çalışan değer sunar; spike ise bilgi sunar ve ürettiği kod genellikle yayınlanmak yerine atılır. Spike ayrıca MVP'den de farklıdır: MVP gerçek kullanıcılardan öğrenmek için yayınlanan gerçek bir üründür, spike ise ekibin içinde kalır. Spike'lar nadir ve küçük olmalıdır; çünkü onlarla dolu bir backlog ekibin kararları ertelediğini düşündürür.
Önemli noktalar
- Spike bir soruyu yanıtlar veya riski azaltır; bir özellik yayınlamaz.
- Her spike'ın net bir sorusu, bir zaman kutusu ve beklenen bir çıktısı vardır.
- Terim, Extreme Programming'in spike solution'larından gelir.
- Spike'taki prototip kodu genellikle atılır.
- Spike'lar, boyutlandırılamayacak kadar belirsiz olan story'lerin tahmin edilmesine yardımcı olur.
Örnek
Spike: Can we generate PDF invoices on the server fast enough?
Timebox: 2 days (stop when time is up, even without a final answer)
Questions:
- Can we render a 20-page invoice in under 2 seconds?
- Does the approach work inside our current container setup?
Output:
- A short write-up with a recommendation
- A throwaway prototype (not merged into the main branch)
- Estimates for the follow-up story "Customers can download invoices as PDF"Sık sorulan sorular
Bir spike ne kadar sürmelidir?
Genellikle birkaç saatten birkaç güne kadar sürer ve nadiren bir sprint'ten uzundur. Zaman kutusu önceden sabitlenir ve süre dolduğunda soru tam yanıtlanmamış olsa bile ekip öğrendiklerini raporlar.
Spike'lara story point verilir mi?
Ekipler farklılık gösterir. Bazıları spike'lara sprint kapasitesinden düşsün diye küçük bir tahmin verir, bazıları ise onları puan vermeden zaman kutusuyla sınırlar; önemli olan harcanan zamanın planlamada görünür olmasıdır.
İlgili sayfalar
- User StoryEkipler ve Süreç, s. 29User story, bir özelliğin kullanıcının bakış açısından, kimin neyi neden istediğini açıklayan kısa ve sade bir dille yazılmış tanımıdır.
- Product BacklogEkipler ve Süreç, s. 17Product backlog, bir ekibin bir ürünü geliştirmek için yapabileceği özellikler, düzeltmeler ve teknik işler gibi her şeyin tek ve sıralı listesidir.
- Extreme ProgrammingEkipler ve Süreç, s. 10Extreme Programming, eşli programlama, test odaklı geliştirme ve sürekli entegrasyon gibi mühendislik pratikleri üzerine kurulu bir Agile yöntemidir.
- Story PointsEkipler ve Süreç, s. 27Story point, Agile ekiplerin iş öğelerinin göreli büyüklüğünü saat yerine karmaşıklık, iş miktarı ve belirsizliği birleştirerek tahmin ettiği birimdir.
- MVPEkipler ve Süreç, s. 14MVP, gerçek kullanıcıların kullanabileceği en sade ürün sürümüdür; temel bir varsayımı test etmek ve en az emekle en çok şeyi öğrenmek için geliştirilir.
- SprintEkipler ve Süreç, s. 25Sprint, bir Scrum ekibinin tek hedefe doğru çalışıp kullanılabilir bir ürün artışı ürettiği, bir ay veya daha kısa, çoğunlukla iki haftalık sabit dönemdir.
- Proof of ConceptEkipler ve Süreç, s. 19Proof of concept (PoC, kavram kanıtı), bir fikrin ya da teknolojinin pratikte işe yarayabileceğini asıl geliştirmeden önce gösteren küçük, hızlı bir deneydir.
- TimeboxingEkipler ve Süreç, s. 28Timeboxing (zaman kutulama), bir etkinliğe önceden sabit bir süre sınırı koyup süre dolunca durmaktır; işi odaklı tutar ve kapsam kararlarını zorunlu kılar.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin