QA 12 hafta sürerse çevik davranmaya çalışmaktan vazgeçmeli miyiz?


24

Şirketimde biri kısa süre önce, temel ürünümüzde, yöneticilerimizin şirketimin tam bir QA döngüsü düşündüğünü tahmin etmesi gerektiğini tetiklemesi gerektiğini düşündüğü değişiklikler önerdi (yani tüm ürün paketini sıfırdan test etmek). Anlaşılan, bizim QA ürünümüz için tam bir QA döngüsü yapmak için 12 hafta sürer. Bununla ilgili sorunum Çevik (çoğu zaman benim görüşüme göre yarısıma rağmen) gelişimini yapmaya çalışıyor olmamız. Bir dizi sprint yapacağız ve sonra QA'nın sonsuza dek süreceği bir sürüm yapacağız. Asıl soru, QA'mızın işlerini yapmak için 12 hafta sürmesi olacaksa, sadece Agile yapmaya çalışmaktan vazgeçmemiz gerekmiyor mu? Böyle bir durumda Çevik yapmayı denemenin amacı nedir?


36
QA 12 hafta alırsa, o zaman "çevik" yapmadığınızı söylemek isterim.
SingleNegationElimination

9
Ekip ürettikleri kodun kalitesinden sorumlu değilse, ben de çevik
diyemeyeceğim

1
@ merryprankster Yanıtınızı biraz açıklayabilir misiniz? QA'nın ekibin bir parçası olmamasının ve sprintin bir parçası olarak kaliteyi doğrulamanın anlamsız olduğunu mu demek istiyorsun? Yoksa, ekibin QA'nın neredeyse işe yaramaz hale getirileceği bir noktaya kadar kaliteyi doğrulaması gerektiğini mi söylüyorsunuz? Ya da belki başka bir anlam? Burada doğru cevapları bilmiyorum. Sadece korkunç bir şekilde kırıldığını düşündüğüm bir durumu düzeltmek için bir yol bulabileceğim herhangi bir tavsiye arıyorum. Teşekkürler.
David Hosier

2
Yani takımın kalite sürecine sahip olması gerekiyor. Kalitenin yeterince iyi olduğundan emin olmak için yapılması gerekenleri yapacaklardır. Bu, geri besleme döngüsünü mümkün olduğu kadar kısa tutar ve daha kişisel hale getirir. Kalite dışsal bir özellik değildir, doğası gereği gelişimin bir parçasıdır.
merryprankster

2
Bu bir sohbet haline geliyor, bu yüzden bu benim son yorumum olacak. Evet, gerçek dünyada çevrenizle sınırlı olduğunuzu kabul ediyorum. Ayrıca, çalışma yöntemlerinizi seçip seçebilmelisiniz. Ancak, sohbetin çevikliğinin her yönden esnek olmasının doğru olmadığını düşünüyorum, aksine: çeviklik disiplini gerektirir . Çevik gelişimin önemli bir yönü, geribildirim döngülerinin kısa tutulmasıdır. Yineleme dışında bir QA fazınız varsa, geribildirim geç kalır. Eğer takım yinelemenin bir parçası olarak KG'yi ele almazsa, çevik değillerdir. Ekip, KG'yi nasıl yaptıklarına karar verebilir - bu esnek - ancak ekip bunu yapmalı.
merryprankster

Yanıtlar:


21

Peki, sorunuzun doğrudan cevabı Mu olacaktır. Korkarım - denemeyi bırakıp bırakmamanız konusunda bilinçli bir tahminde bulunmak için yeterli ayrıntı yok.

Oldukça olumlu olduğum tek şey, çeviklik seviyesinin müşteri / pazar ihtiyaçlarından kaynaklanması gerektiği (bu konuda bilgi vermediniz).

  • Örneğin, bir IDE kullanıcısı olarak yılda bir veya belki iki kez yeni sürüme yükseltme yapmaktan çok mutluyum ve bunu yapmak için asla acelem yok. Yani, eğer serbest bırakılma döngüsü 3 ay ( 12 hafta ) ise, o zaman bundan çok mutluyum.
     
    Diğer taraftan, finansal ticaret şirketinin yazılımlarının piyasa değişikliklerine adapte olması bir aydan fazla sürerse iflas edeceğini kolayca söyleyebilirim - bu durumda 12 haftalık test döngüsü cehenneme giden bir yol olabilir. Şimdi - bu konuda ürün ihtiyaçlarınız neler?

Dikkate alınacak bir diğer şey, müşteri / pazar ihtiyaçlarınızı karşılamak için hangi seviyede kalitenin gerektiğidir?

  • Örnek olay - Bir kez çalıştığım bir şirkette, bazı yazılım satıcısından lisanslı bir üründe yeni bir özelliğe ihtiyacımız olduğunu gördük. Bu özellik olmadan oldukça fazla acı çektik, bu yüzden evet, gerçekten çevik olmalarını ve bir ay içinde güncelleme yapmalarını istedik .
     
    Ve evet, çevik göründüler ve evet bu güncellemeyi bir ay içinde yayınladılar (eğer QA döngüleri 12 hafta ise, muhtemelen atlamışlardı). Ve bizim özellik çok iyi çalıştı - Orada gayet mutlu olması gerekirdi sanırım? yok hayır! Daha önce işe yaramayan bazı işlevlerde bir gösterici regresyon hatası keşfettik - bu yüzden eski sürüme sadık kaldık.
     
    Bir ay daha geçti - onlar başka yeni sürümü yayınlandı: Bizim özelliğinioradaydı ama aynı regresyonda hata vardı: yine yükselttik. Ve başka bir ay ve başka.
     
    Sonunda, sadece yarım yıl sonra onların çeviklikleri için bu kadar yükseltme yaptık.

Şimdi, bahsettiğiniz bu 12 haftaya biraz daha yakından bakalım .

KG döngüsünü kısaltmak için hangi seçenekleri düşündünüz? Yukarıdaki örnekte görebileceğiniz gibi, basitçe atlamak size beklediğiniz şeyi vermeyebilir, bu yüzden daha iyi, çevik ve buna hitap etmenin farklı yollarını düşünün .

Örneğin, ürününüzün test edilebilirliğini artırmanın yollarını düşündünüz mü?

Yoksa, sadece daha fazla KG kiralamak için kaba kuvvet çözümünü düşündün mü? Ancak, basit görünüyor, bazı durumlarda bu gerçekten gitmek yoludur. Deneyimsiz yönetimin, sadece ortalama bir profesyonel test uzmanının yeterli olacağı daha fazla sayıda üst düzey geliştiriciyi körü körüne işe alarak ürün kalitesi sorunlarını çözmeye çalıştığını gördüm . Oldukça acıklı.

Son ama en az - Bir gerektiğini düşünüyorum çevik çevik ilkelerin çok uygulama hakkında. Eğer proje gereklilikleri çevik değilse (istikrarlı ya da yavaş değişiyorsa), neden rahatsız ediyorsun? Bir keresinde Scrum’u zorla olmadan iyi bir şekilde gerçekleştiren projelerde zorlayan üst yönetim gözlemledim. Ne kadar israftı. Sadece teslimatlarında iyileşme olmadı, daha da kötüsü, geliştiriciler ve testçilerin hepsi mutsuz oldu.


açıklamalarda verilen açıklamalara dayalı güncelleme

Benim için, Çevik'in en önemli parçalarından biri, her bir sprintin sonunda sevk edilebilir bir tahliyeye sahip olmak. Bu birkaç şeyi ima eder. Öncelikle, yapıyı bir müşteriye salıverebileceğinizi düşünüyorsanız, hataların gösterilmemesi için bir test yapılması gerekir.

Shippable sürüm görüyorum. Hm. Hmmm. Çevik kokteyle bir atış ya da iki tane Lean'ı eklemeye çalış Yani, eğer bu bir müşteri / pazar ihtiyacı değilse, o zaman bu sadece (test) kaynakların israfı demektir.

Bir kişi için Sprint sonlandırmayı sadece takımı tatmin eden bir kontrol noktası olarak ele alma konusunda hiçbir suçlu görmüyorum .

  • dev: evet, test edicilere geçmek için yeterince iyi görünüyor; QA: evet, eğer başka bir shippable testine ihtiyaç duyulursa, durum için yeterince iyi görünüyor - böyle şeyler. Team (dev + QA) memnun, hepsi bu.

... Yaptığınız en önemli nokta, gereksinimler çevik değilse, çevik olmama yönündeki yanıtınızın sonundaydı. Bence bu olay yerinde. Çevik davranmaya başladığımızda, çevrildik ve şartlar anlamlıydı. Fakat o zamandan beri, işler dramatik bir şekilde değişti ve artık daha mantıklı olamayacağı bir sürece sarılıyoruz.

Tam olarak doğru yaptın. Ayrıca size kullanmasına izin devlet (takım / yönetim olgunluk ve müşteri ilişkileri) lazım gibi görünüyor açıklamak ne düzenli tekrarlanan yerine Scrum'un model geliştirme. Öyleyse, o düzenli yinelemeye benzer durumlarda yaşadığım deneyimlerime göre Scrum'dan daha üretken olduğunu bilmek de ilginizi çekebilir . Çok daha üretken - basitçe yoktu bu yüzden daha az havai, sadece çok daha kolay (sırasıyla KG için test odaklanmak) gelişimine odaklanmak oldu.

  • Bunu genellikle Ferrari (normal yinelemeli) ve Landrover (Scrum gibi ) açısından düşünüyorum .
     
    Bir otoyolda sürerken (ve projeniz o otoyola ulaşmış gibi görünüyor ) Ferrari, Landrover'ı cehenneme çeviriyor.
     
    Spor arabasına değil bir cip'e ihtiyaç duyulan arazi dışı - Yani gereksinimleriniz düzensizse ve / veya ekip çalışması ve yönetim deneyimi o kadar iyi değilse, Scrum'u seçmeniz gerekecek - sadece düzenli çalışmanız sizi alacağı için sıkışmış - Ferrari yoldan sapmış gibi.

Tam ürünümüz, hepsi birbirinden bağımsız olarak yükseltilebilen birçok küçük parçadan oluşur. Müşterilerimizin bu küçük bileşenleri daha sık yükseltmeye çok istekli olduklarını düşünüyorum. Bana öyle geliyor ki, sprintlerin sonunda bu küçük bileşenleri bırakmaya ve QA' etmeye odaklanmalıyız ...

Yukarıda iyi bir plan gibi geliyor. Bir zamanlar böyle bir projede çalıştım. Küçük düşük riskli bileşenlerde yerelleştirilen güncellemeleri içeren aylık yayınlar gönderdik ve bunlar için KG imzalanması olabildiğince kolaydı.

  • Bu strateji için akılda tutulması gereken şeylerden biri , değişimin beklendiği yerde yerelleştirildiğine dair test edilebilir bir doğrulamanın yapılmasıdır. Bu, değişmeyen bileşenler için bit-bit dosya karşılaştırmasına kadar ulaşsa bile, bunun için gidin veya sevk edilmezsiniz. Sorun şu ki, biz geliştiriciler değil, sürüm kalitesinden sorumlu olan KG.
     
    Beklenmeyen değişikliklerin kaymadığından emin olmak, test cihazının baş ağrısıdır - çünkü açıkçası bir geliştirici olarak benim için endişelenecek başka şeyler var. Bu yüzden onlar (testçiler) gerçekten gemiye test ettikleri yayınların serbest bırakılmasıyla kontrol altında olduklarına dair sağlam kanıtlara gerçekten ihtiyaç duyuyorlar .

1
Bunun muhtemelen şu anki durumumuzun ışığında en iyi yanıt olduğunu düşünüyorum. Benim için, Çevik'in en önemli parçalarından biri, her bir sprintin sonunda sevk edilebilir bir tahliyeye sahip olmak. Bu birkaç şeyi ima eder. Öncelikle, yapıyı bir müşteriye bırakabileceğinizi düşünüyorsanız, durdurma hatalarının gösterilmemesini sağlamak için bir test düzeyi gerçekleştirilmelidir. İkincisi, ilk ifadenin doğru olduğunu varsayarak, KG'nin zaten geliştirme sırasında yapılması gereken birçok işi çoğaltması mümkün mü? Sanırım hem QA hem de geliştirme ekibimizde (ben bir geliştiriciyim) ele alınacak bir şeyler olduğunu düşünüyorum.
David Hosier,

Ancak, bir sprint sonrası müşteriye bir yapı bıraktığımızı hatırlamıyorum. Ayrıca, müşteri tabanımızın şekli, bu kadar sık ​​tam bir ürün sürümü istemiyorlar. Müşterilerimiz yükseltme konusunda yavaş. Yaptığınız en önemli nokta, gereksinimler çevik değilse, çevik olmama yönündeki yanıtınızın sonundaydı. Bence bu olay yerinde. Çevik davranmaya başladığımızda, onu çevirdik ve koşullar mantıklıydı. Fakat o zamandan beri, işler dramatik bir şekilde değişti ve artık daha mantıklı olamayacağı bir sürece sarılıyoruz.
David Hosier,

3
Tam ürünümüz, hepsi birbirinden bağımsız olarak yükseltilebilen birçok küçük parçadan oluşur. Müşterilerimizin bu küçük bileşenleri daha sık yükseltmeye çok istekli olduklarını düşünüyorum. Bana öyle geliyor ki, sprintlerin sonunda bu küçük bileşenleri salmaya ve QA'lara odaklanmalıyız. Daha odaklı bir yaklaşım nedeniyle geribildirim döngüsünü kısaltabilir ve müşterilerimize daha hızlı değer katabiliriz. Ardından, daha küçük parçaların tamamının sarıldığı bir noktada tam ürün salımı yapabiliriz. Öyleyse, çoğu önceki sprintlerde zaten onaylanmış olduğundan, KG'nin daha az işi vardır.
David Hosier,

1
+1 Farklı pazar ihtiyaçlarına ilişkin örneklerinizi beğeniyorum. Bir daha aşırı örnekler sağlayabilir. Uzay roketi fırlatmalarını denetleyen kontrol yazılımı. Müşteri beş yılda bir (fizik yasaları çok fazla değişmez) yükseltmelerden memnun olabilir, ancak yalnızca bir tek regresyon böceği yüz milyonlarca dolara mal olabilir .
MarkJ

14

Oh, acını hissediyorum. Bunun çalışması için KG ekibinde yapmanız gereken bazı ciddi değişiklikler var.

Tavsiyem ekibi üç takıma ayırmak:

Özellik testi - Yeni gelişmeleri test ederken hızlı geri dönüş.

Regresyon testi - Ürünü kapıdan çıkmadan önce tamamen test edin. Takım büyüklüğünü düşürdükten sonra bile bu 3 ay sürmemelidir, çünkü çoğu böcek ilk ekip tarafından bulunur.

Otomatikleştirilmiş test - Regresyon test ekibinin işini hızlandırmak için tam bir regresyon testi takımı yazma.

Üçüncü takım bir bonus, ancak ilk iki takıma sahip olamıyorsanız, şelale de olabilirsiniz.


+1 Otomatik Test - Regresyon testleri birinci sınıf bir adaydır.
Joshua Davis

Bence bu çok iyi bir cevap. KG ekibinin nasıl organize edildiğini veya testlerine nasıl devam ettiklerini gerçekten bilmiyorum. Bizim QA ekibimiz Hindistan’da, sorunun önemsiz bir parçası olduğunu düşünüyorum. Anladığım kadarıyla, test planları yayınlanmayacak şekilde yayınlanmayacak, herhangi biri tarafından gözden geçirilip onaylanabilecek. Ayrıca, zaman farkından ötürü, geliştiriciler ile KG arasında ileri geri gidip gelme zamanı çok acımasız. Birinin masasında bir saat sürecek bir görüşme yapılması gerekenler, e-posta günlerine veya JIRA yorumlarına dönüşür.
David Hosier,

13

Illüstrasyon yoluyla:

görüntü tanımını buraya girin

O Not QA ekibi muhtemelen (ATDD) çemberin dışında çalıştığını ve içini çalışıyoruz.

Bu şekilde çalışmanın doğru olduğunu düşünüyorum; otomatik testlerinizde her bir sprintte müşterinin gereksinimlerini yerine getirdiğinizi kanıtlayabiliyorsanız, QA'nın testlerini boş zamanlarında yapmasına izin verebilir ve daha sonra bir sonraki süratle çalışabileceğiniz kusurlarla size gelebilirsiniz.


2
Bir sorun 4-6 sprint önce yapılan işten kusur raporları alıyorsanız (2-3 hafta sprint varsayarsak). Şirketin KG politikalarına ve prosedürlerine bağlı olarak, müşteriye sunulmadan önce bir sprint'te imza atmaları gerekebilir. Bu nedenle, evet, her sprint sonrasında potansiyel olarak sevk edilebilir ürünleriniz var, ancak bunların% 25'inden azı QA'ya çarpacak (bir adayı test etmeyi bitirdiklerinde, en yeni adayı test etmeye başladıklarını varsayarak) her müşteriye bir ürün gösterebileceklerini varsayarsak birkaç hafta, ancak her 12 haftada bir alabilirler ve gördüklerinden daha eski olacaklar.
Thomas Owens

Sağ. Bunu sadece bir meslektaşı ile tartışıyordum. Her sprintin sonunda gerçekten uygun sürümler yapmadığımızı söyleyebilirim. Her sprintin sonunda bir yapı yapıyoruz çünkü Agile'nin yapmanız gerektiğini söylediği şey bu, ancak o yapıyı hiç gören hiç kimsenin niyetimiz yok. QA'nın bu binaları alıp almadığını bilmiyorum, ancak hiçbir müşterinin sprintin sonunda bir yapı görmeyeceğinden emin olabilirsiniz. Sadece bir yapı potansiyel olarak resmi ve son süratten olanıdır. Aklımda, bu tamamen çevik değil. Bu iş akışında, Agile yalnızca işi organize etmenin bir yoludur.
David Hosier,

Ayrıca, QA'dan geri bildirim aldığımı, yukarıda belirttiğim gibi son sprint'den sonraya kadar hatırlamıyorum. Bu, amacınızı doğrular. Bunun yol açabileceğini düşündüğüm, ilke 1'de verilen kararların hatalı kararlar olduğu ortaya çıktığını, ancak sonraki kararların hepsini bu hatalı kararın üstüne çıkıncaya kadar hatalı kararın tam olarak alınmadığı durumlardır. Bu, elbette çok fazla yeniden işleme yol açabilir.
David Hosier,

8

"Tamamlandı" sorunu varmış gibi görünüyor.

Kalite Güvencesi grubunuzun harici olduğu ve yalnızca müşteri sürümleriyle ilgilendiği için, zamanında konularda geribildirim almak için onlara güvenemezsiniz. Bu, hızlı geri bildirim almak istiyorsanız, takım için bir miktar "kurum içi" test yapmak zorunda kalacağınız anlamına gelir.

QA Grubuna, yokmuş gibi davranın. Kanun, sprint sonunda serbest bırakılmanızın ertesi gün en kritik ortamınıza konuşlandırılması durumunda. Yazılım müşterilere gitmeye hazır olana kadar yapılmaz.

KG hiçbir şey bulamamalı.

Bu almak daha zor olacak. Muhtemelen ilk birkaç kez gizlice bazı şeyler olacak. Otomatik kabul testleri ve "regresyon" testleri buradaki en iyi arkadaşlarınızdır. TDD, bu tür süitlerin büyük bölümlerini oluşturmanıza yardımcı olacaktır. Bir şeyi kırdıysanız - hızlı bir şekilde - bilmeniz gerekir.


3

KG işleminden önce belirli bir sürümü görebilen ve size yetkili geri bildirim veren bir müşteri temsilciniz / ürün sahibiniz var mı? Öyleyse, KG'yi ikincil, biraz yavaş bir geri bildirim kaynağı olarak ele alırken çevik yöntemlerden faydalanabilir veya faydalarından en iyisini alabilirsiniz. Serbest bırakma, QA sona erdikten sonra ancak “resmen hazır” olacaktır, ancak bir sonrakine başlamadan önce onları beklemeniz gerekmez.

Ancak şirket kuralları, QA'nın yapılmasından önce müşterinin bir sürüm görmemesi gerektiğini söylerse, o zaman bu kuralları değiştirmeyi başarana kadar çevik olmayı unutursunuz.


3

Tanımladığınız işlem çevik bir işlem değil. Çevikliği yüksek olan ekipler, her sürat koşusu için güvenilir ve potansiyel olarak serbest bırakılabilir yapılar sunabilir. Çoğu çevik uygulamada, KG fonksiyonu bu hedefe ulaşmak için çevik ekibin içinde bulunur.

Siz, proje lideriniz, ürün sahibiniz ve geliştiriciler birlikte çalışmıyorsanız ve bir iyileştirme planınız (retrospektifler) yoksa, işleminize başka bir şey verin ve devam edin. Takımlarınızın problemlerinin yöneticilerin veya KG'nin hatası olduğu ortaya çıkmadı. Kalkınma örgütünden çıkan bazı sistemik sorunlara tepki gösteriyor gibi görünüyorlar. Ekip sorumluluk almak ve paydaşlarla çalışmaya başlamak isterse hepsi kaybedilmez.

Üç şey deneyebilirsin. Birincisi, her paydaşın rolleri kesin olarak tanımladığından ve her bir kişinin sorumluluğunu anladığından emin olun. İkincisi, yapıyı dengeleyin ve ardından daha fazla değişiklik yapmadan KG'den imzayı alın. Üç, test otomasyonu kur. QA ekibi bunun için sizi sevecek.


% 100 haklısın. Üç öğeniz iyi bir tavsiye. Yalnızca tek bir geliştirici olarak çok fazla değişikliği etkileyebilirim, ancak örnek olarak liderlik etmeye çalışabilir ve bazı QA çalışanlarının yolculuk için gelip gelmek isteyip istemediklerini görebilirim. En büyük hayal kırıklığım, başka hiç kimsenin gerçekten umursamadığı, ki bu da açıkça başarılı bir dönüş yapmanın önündeki bariyer. Takımdaki çoğu insan statükoya devam etmekten mutlu olur; en azından bu benim izlenim.
David Hosier,

2

Yazık ki geri bildirimler çok uzun sürüyor ama çevik durmaya değmeyeceğini düşünüyorum. Bir sprintin (veya bir çiftin) sonunda, piyasaya sürülebileceğinden emin olduğunuz bir ürünü serbest bırakırsınız. Takımınız için çeviklik, yapılacak işe odaklanma ve ürünü serbest bırakılabilir tutma becerisi sunar. KG, sorunları bulduğunda, bu sorunlar için hata raporları oluşturmanızı ve bir sonraki sprintte bunları ele almanızı öneririm (eğer yeterince yüksek önceliğe sahiplerse).

Ürün saha testlerimiz 8 hafta sürmektedir, ayrıca dış üreticilere de bağımlıyız. Yine de çevik davranarak eldeki çalışmaya odaklanabiliyor ve gerektiğinde çok hızlı bir şekilde yeni bir sürüm üretebiliyoruz.

QA departmanı ile olan problem (gözünüzde) yatıyor orada problem çözülebilir mi? Konuştunuz mu


Yanıtınız, bir meslektaşım ile benim aramda iyi bir konuşma yaptı. Cevabınızın beni yönlendirdiği asıl nokta şuydu: "Bir sprintin sonunda (veya bir çiftin sonunda) piyasaya sürülebileceğinden emin olduğunuz bir ürün yayınlarsınız." Tüm sprint serilerini tamamlayana kadar, QA'dan geçen ve birkaç tur takip hata onarımı gerçekleştirene kadar bir sprintin sonunda piyasaya sürülen ürünü hatırlamıyorum. Bu bakımdan, Agile'yi sadece iş yükümüzü bölmek ve düzenlemek için kullanmıyoruz. Agile'nin hiçbir faydasını kazanmıyoruz.
David Hosier,

@David: Sana katılıyorum.
Christopher Mahan

1

12 hafta uzun, ancak umarım QA size bu süre zarfında geri bildirim ve hata raporları sağlayabilir (üç aydan sonra).

O zaman hala en önemli konulara çevik bir şekilde cevap verebilir ve hepsini tamamlamadan önce düzeltebilir!


-2

QA insanlarının birden fazla sprint yürütürken yaptıkları neler? Her değişiklikten sonra her şeyi test etme gereksinimi duydukları anlaşılıyor (Bu yüzden bir sürü değişiklik bekliyorlar.).

Geliştirme ekibi çevik, ancak şirketin geri kalanı değil.

KG'den sorumlu kim, ne yaptığını bilmiyor ya da üst yönetimde bir Jedi Akıl Hile yapmış ve tatlı zamanlarını almalarına izin verilmiş. KG, geliştirmeden daha uzun sürebilir?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.