Son tarih mi yoksa daha az böcek mi?


15

İdeal bir dünyada, son teslim tarihinin daha az hata ile karşılanması tercih edilir. Ancak daha çok tercih edilebilir / kabul edilebilir olan deneyiminizden:

  1. Son teslim tarihine uyun ancak bir takım hatalar var, çünkü geliştirici bir şeye koşuyor
  2. Daha az hata var, ancak son tarihi tam olarak karşılamıyor çünkü geliştirici kodu yazarken çok titiz

7
Özellikleri düşürmeye ne dersiniz? Benim tecrübelerime göre, artık projeye uymuyorlarsa ek özellikler bırakabiliyorsanız, zamanında kabul edilebilir bir sürüm yapabilirsiniz. Projenin sonunda böceklerden kurtulmak için yeterli zaman ayırmalısınız. O zamana kadar uygulanmayan her şeyin bir sonraki sürüme kadar beklemesi gerekecektir.
Anne Schuessler

İlk olarak nispeten hatasız bir sürüm alın.
1911, abel

Gerçek scrum yaparken, hatalar bir haftadan fazla olmamalıdır :) Faydaları: A) hatalar için ön ödeme yapmak çok daha ucuzdur ve B) Ön ödeme yaptığınız zaman, gerçek maliyetin ne olduğunu bilirsiniz.
Meslek

3
XKCD her zamanki gibi önemlidir. xkcd.com/844
Maxpm

Yanıtlar:


5

Bu sorunun cevabı büyük ölçüde iş hedeflerine ve müşteriye bağlıdır.

Girişim :

Piyasada iyi kurulmuş bir kurumsal düzeyde müşteri ile iş yapıyorsanız, daha az esnektirler ve değişikliklere hızlı bir şekilde uyum sağlayamazlar. Bu nedenle, istikrar çoğu durumda mutlak bir gerekliliktir. Araştırma ve geliştirme ve yeni sektörlere girme konusunda istisnalar vardır. Bazı durumlarda daha hızlı bitirir.

Bu tür müşteriler genellikle iyi yazılımların geliştirilmesinin zaman aldığını anlar ve hedeflere ulaşmak için sizinle birlikte çalışacaktır.

Başlangıçlar :

Yeni bir başlangıç ​​için kurallar büyük ölçüde farklıdır. Bir başlangıç ​​olarak, inşa ettiğiniz ürünün pazarlama araştırmanızın öngördüğü gibi bir ihtiyacı gerçekten karşılayıp karşılamayacağını hemen bilmeniz gerekir. Bir başlangıç ​​için, piyasada mümkün olan en hızlı şekilde bir prototip çıkarmak, ürünün gitmesi gereken yön hakkında çok sayıda değerli geri bildirim alabilir.

Ayrıca sizi pazar lideri olarak kurabilir ve rekabete doygun hale gelmeden önce yeni bir sektörde değerli pazar payı kazanmanıza yardımcı olur.

Yeni başlayanlar küçük, esnek ve değişime hızla adapte olabildikleri için bu model onlar için en iyi sonucu verir.

Özet olarak, dikkate alınması gereken başka faktörler de vardır, ancak ana fikir, her projenin farklı olduğu ve pazar hedeflerine farklı kalite ve zamana sahip olacağıdır. Bir yöntemin diğerine göre seçilme fırsat maliyetlerinin kapsamlı bir analizini içeren etkili bir iş stratejisi belirlemek yönetici liderliğine bağlıdır.


14

veya ... 3. Gerekli olmayan işlevselliği kesin

Bazen, teknik şeker veya müşterinin talep ettiği şeker özellikleri nedeniyle, son teslim tarihlerini karşılamak zordur ve doğası gereği daha büyük hatalar ortaya çıkar. Öyle KISS ve YAGNI ilkeler uygulanır.

Bu kitaptan alıntı yaparak , yazılımınızdan gerekli / çekirdek / merkez üssü, işin çalışması gereken şeydir, tıpkı bir sosisli sandviç standı herhangi bir sossuz sosisli sandviç standı olabilir, kesemeyeceğiniz şey sosisli sandviç.

yeniden müzakere

Öğrenilmesi en zor şeylerden biri, müşterileri nasıl mutlu tutacağı ve tecrübelerime göre, bu daha küçük ürün yinelemeleri ile daha kolay gerçekleştirilebilir.

Bazen son tarihler, yazılımın ilk günden beri ağır bir üretim düzeyinde çalışmasını talep eder. Yöneticiler / müşteriler yazılım için neye ihtiyaç duyduklarını her zaman bilmezler (çoğu zaman). Bu nedenle, gerekli olmayan işlevselliği azaltmaya ve kaliteyi korumaya çalışın. Sonunda, üretim ortamının ne kadar kritik olacağına bağlıdır, ancak ekstra özellikleri kesmeye ve kalite sunmaya çalışın. "Rework" programından tekrar alıntı yapılıyor:

Daha sonra yapmak, daha iyisini yapmak anlamına da gelir

... ve ayrıca daha az hata ile son teslim tarihlerini karşılamak


2
Bu asıl soruya diktir. Çoğu zaman, işlevselliği kesemezsiniz. Yapabildiğiniz zaman iyi, ama bunun kendi başına soruya iyi ve genel bir cevap olduğunu düşünmüyorum.
Jason

işlevselliği esastır. hepsini.
mauris

1
Tüm işlevler gerekli değildir .
Jürgen A.Erhard

2
Tüm işlevler gerekli değildir. Birçoğunun olması güzel olabilir veya bir sonraki sürüme kadar bekleyebilir (planlanan bir sonraki sürümün olduğu varsayılarak). Kesilebilecek bazı özelliklerin olmadığı bir projede hiç çalışmadım.
Anne Schuessler

4
Genellikle bu soruyu "Tüm bu işlevler gerekli mi?" Diye sorarsanız, alacağınız yanıt "Evet!" Olacaktır. Ancak, bunu yeterince küçük parçalara ayırırsanız, genellikle geliştiricinin önemli olduğunu düşündüğü işlevin bazı yönleri vardır, ancak istemci hiçbir şey umurunda değildir. Bu, keşfetmek için sürekli iletişim gerektirir. Ayrıca, istemciden işlevselliği sıralamasını isterseniz, genellikle listenin altında düşebilecek veya "son tarih" ine kadar bekleyebilecek birkaç öğe vardır. Bu cevabı ortogonal olarak görmüyorum, ölü gibi görünüyor.
Marcie

9

Peki, bu şekilde çerçeveleyebilirsiniz: kalite için şimdi mi daha sonra mı ödemek istiyorsunuz? İlk etapta bunu iyi yapmak için zaman ayırın ya da daha sonra tüm sorunları çözmek için zaman ayırın. Bu özellik geliştirme sonrası hata düzeltme aşamasının daha pahalı olabileceğini, çünkü mevcut kod zaten yerinde olduğundan ve muhtemelen yeterince yüksek olmadığından, daha riskli ve hacky çözümlerine daha eğilimli olabileceğini iddia ediyorum.


Bu çok iyi bir nokta. :-)
Joshua Partogi

8

Son teslim tarihini karşılayın ve Bilinen sorunların bir listesini sunun.

İnsanlar böcek bulmaktan nefret ederler, ancak önlerine söylendiyse çok daha yumuşak olma eğilimindedirler.


5

Bu tamamen duruma bağlıdır ....

Dikkate alınması gereken birçok faktör vardır:

  1. Yamaları dağıtmak ne kadar kolay?
  2. Temel, soyulmuş bir sürümü yayınlamak ve daha sonra zaman içinde yeni (kenar durumu) işlevselliğini düzeltmek mümkün mü?
  3. Böyle bir ürün için müşteri endüstrisinin genel kültürü nedir? Bir kerelik mükemmel sürümler bekliyorlar mı, yoksa ilk piyasaya sürüldüğünde buggy olabilecek gelişen bir sistem fikrine alışkınlar mı?
  4. Son kullanma tarihinin aksine, buggy başlangıç ​​sürümü ne kadar risk taşır?

Kısacası, bunun siyah-beyaz cevabı yoktur. Örneğin: Sahadaki cihazlara sunulması zor ve pahalı olan gömülü bir sistem gibi bir şey için, beklemek (mümkünse son tarihleri ​​yeniden müzakere etmek) ve mümkün olduğunca hatasız olarak almak en iyisi olabilir. Öte yandan, büyük bir web portalı sistemi (bir web uygulaması olarak yazılır) gibi, herhangi bir zamanda düzeltmeleri çıktıkça kolayca yükseltilebilen bir şey için, başlangıçta tehlikeli bir sürümü yayınlamak daha mantıklı olabilir ve sonra sorunları (ve kenar durumu işlevselliği) yama olarak yama.

Ancak günün sonunda, benim tecrübelerime göre bu, teknolojik bir karardan çok bir iş kararı oldu. Son teslim tarihinin eksik olmasının çok büyük bir durum olduğu bir durumdaysanız, bir ilk başlangıç ​​sürümüne sahip değilken (veya tersi) - karar verirken bunları tartmak isteyeceksiniz.

NOT: Bir programcı olarak, elbette bir ürünü açmadan önce olabildiğince cilalama fikrini tercih ederim (heck, hiç son teslim tarihim olmamayı tercih ederim;)). Ancak gerçekçi olarak, bu gerçek hayatta mümkün değildir. Genellikle, sıyrılmış bir ilk salım iyi bir orta zemin çözümüdür.


2

Müşteriye programı karşılayamayacağımızı ve bilinen böceklerle gönderdiğimiz konusunda ısrar etmemizi söyleyen çok sayıda PM gördüm. Müşteriye her söylediklerinde, genellikle daha az hata ve taşınan bir son tarihle çok daha fazla ilgilendiğini söyleyebilirim. Son tarih kesinlikle taşınmaz değilse (vergi yazılımı yaparken vergi dosyalama sezonunun başlangıcı gibi) veya taşınması çok maliyetli olacak diğer bazı şeyleri etkileyecekleri sürece hataları kaçırılan son tarihten daha fazla hatırlayacaklarını garanti ederim (IMHO Tüm sürelerin% 98'i bu kriterleri karşılamamaktadır).


1

Bence bu hataya bağlıdır. Uygulamanın herhangi bir bilgisayarda başlatıldığı anda çöktüğü bir hatayı düzeltmek için bir sürümü geciktirmek istiyor musunuz? Evet kesinlikle. Dolunay varken yalnızca Windows ME'de meydana gelen bir hatayı düzeltmeniz mi gerekiyor? Muhtemelen bekleyebilir.

Kritik bir hata ise, 2 numaralı eller aşağı yapmak tercih edilir. Bunun nedeni, bu düzeltmeyi bir güncellemede dışarı itmeniz gerektiğinde düzeltmenin katlanarak daha pahalıya mal olmasıdır.

Daha az kritik güncellemeler için, bu maliyeti bir dereceye kadar azaltan paketlenmiş bir güncelleme yayınlayabilirsiniz.

Şüphe duyduğunuzda, # 2 ile gittiğinizi söylüyorum, ancak bu yaklaşımla yönetimden geri çekilme için şaşırmam. Yöneticilerin, son başvuru tarihlerinde ne kadar iyi olduklarına göre gereksiz eleştirel güncellemelere neden olmadıklarından daha fazla yargılandıklarından şüpheleniyorum.


1

Ne. Neden kodunuzla kaliteyi pişirmiyorsunuz? Kalite koduyla son teslim tarihlerini karşılayabilecek misiniz? Daha az özellik sunabilirsiniz, ancak kalite sürece dahil edilirse her ikisini de elde edebilirsiniz.

Şimdi olan şey, işletmeyi geri çekebilecek ve 2 şey hakkında sohbet edebilecek güçlendirilmiş bir ekip liderine veya geliştirici yöneticisine ihtiyacınız olacak:

  1. Kod haline getirilmiş kalite = Yapı başına 2 daha az özellik
  2. GERÇEKTEN ihtiyaç duydukları şey için paydaştan gerekli en yüksek özelliklere öncelik vermek.

Ardından en yüksek değer özelliklerine odaklanabilir ve bunları mükemmel bir şekilde dışarı çıkarabilirsiniz.


0

Test söz konusu olduğunda asla bitmez. bitti ama asla bitmedi.

Şiddeti ve daha fazla öncelikli hatalarla fırlatılan lansmana gidin.


4
Evet, ama intihar etmiyorsun çünkü zaten öleceksin. Mümkün olduğunca uzun ve sağlıklı bir yaşam sürüyorsunuz. Aynı şekilde, sadece hiçbir zaman bitirilmeyeceği için saçmalığı itmekle kalmazsınız. Olabildiğince bitmiş yapmaya çalışıyorsunuz.
Jason

İyi dedi @ Jason. +1
Dan McGrath

0

Teslim tarihinin çok fazla hata ile karşılaşması sizi sektörde fakir kılar ve müşteri size tekrar gelmez. Gecikmeyi iki veya üç gün almak için müşteriyle konuşabilirsiniz.


0

Eğer son bir kullanıcıdan buna bakarsanız, birisi pazartesi için bir şeyler yapmak için söz verirse oldukça kapalı olurdu ve kullanmaya çalıştığımda işe yaramıyor ya da hepsi buggy.

Ancak "prosedürel" tarafa bakarsanız, uygulamanın daha fazla teste ve yazılımın doğal yaşamının bir parçasına ihtiyacı olduğu anlamına gelir.

Benim en iyi yaklaşım şeyler çalışması gerektiği şekilde çalışması için denemektir (eğer büyük bir modül, detaylara dikkat etmeyin, giriş formuna giriş yapmalısınız, ancak daha sonra bir bildirim göstermezseniz herkes resmedilecektir).


0

Bu sadece sizin cevaplayabileceğiniz bir soru. Bu, ürünün türüne, müşterinin kim olduğuna, müşterinin ne istediğine vb. Bağlıdır. Basit bir 'a veya b' cevabı vermemizin bir yolu yoktur. Tamamen duruma bağlı.

Ancak, bir hatayı yayınlandıktan sonra düzeltmenin maliyetinin, yayınlamadan önce düzeltmekten çok daha yüksek olduğunu hatırlatacağım . Böylece, bir hatayı düzeltmek için yayın sonrası kadar beklemek isteyip istemediğinize karar verirken, üzerinde daha fazla zaman / çaba / para harcayacağınız faktör.

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.