Kaptanı Kurtarmaya Açık!
Burada Yüzbaşı Belli olacağım ve bulunacak bir orta yol olduğunu söyleyeceğim.
Gelecek için inşa etmek istiyor, kendini teknolojik bir seçime ya da kötü bir tasarıma kilitlemekten kaçınıyorsun. Ancak, 3 ay boyunca basit olması gereken bir şeyi tasarlamak ya da 2 yıl ömrü olacak ve takip eden projeleri olması muhtemel olmayan hızlı ve kirli bir uygulama için uzatma noktaları eklemek istemezsiniz.
Ayrımı bulmak zordur, çünkü her zaman ürününüzün başarısını tahmin edemezsiniz ve daha sonra genişletmeniz gerekirse.
Şimdilik İnşa et ...
- proje hurdaya kavuşacak
- proje kısa bir ömre sahip
- Proje uzantılarına sahip olmamalı
- Projenin risk etkisi değeri yoktur (çoğunlukla görüntü bakımından)
Genel olarak, şirket içi projeler veya bir müşteri için inşa edilmiş bir şey şimdilik geliştirilmelidir. Düz gereksinimlere sahip olduğunuzdan emin olun ve neye ihtiyaç duyulduğunu ve neyin ihtiyaç duymadığını bilmek için gerektiğinde onlarla bağlantı kurun. "Sahip olmak güzel" bir şeye çok fazla zaman harcamak istemeyin. Ama domuz gibi de kodlama.
Genel Sorunu daha sonraya bırakın, eğer gerekli ve çabaya değerse:
Gelecek için inşa edin eğer ...
- proje halka açılacak
- Proje tekrar kullanılması gereken bir bileşendir.
- proje diğer projeler için bir basamak taşıdır
- Proje, takip projeleri veya geliştirmeleri olan hizmet yayınları içerecek
Halka açık bir şey için inşa ediyorsanız veya başka projelerde yeniden kullanılacaksa, kötü bir tasarımın sizi rahatsız etmek için geri dönme ihtimalinin çok yüksek olması olasılığına sahiptir, bu nedenle buna daha fazla dikkat etmeniz gerekir. Ancak her zaman garanti edilmez.
Kuralları
Aşağıdaki ilkelere mümkün olduğunca iyi uyduğunuzu söyleyebilirim ve kendinizi verimli, uyarlanabilir ürünler tasarlama konumuna getirmelisiniz:
- biliyorum ki YAGNI ,
- KISS ,
- Ne zaman kaşıntı kaşımak istersiniz ve bir ek düşünün, onu yazın. Proje gereksinimlerinize geri dönün ve eklerin öncelik olup olmadığını kendinize sorun. Birincil işletme değeri ekleyip eklemediklerini sorunuz .
Şahsen, düşünmeye ya da aşırıya eğilimli olduğumu biliyorum. Gerçekten fikirleri yazmak için yardımcı olur ve ek özelliklere ihtiyacım olursa sık sık yeniden düşünün. Genellikle, cevap hayır ya da "daha sonra iyi olurdu" değil. Bu son fikirler tehlikelidir, çünkü kafamın arkasında kalıyorlar ve onlar için plan yapmamam için kendimi zorlamam gerekiyor.
Fazla mühendislik yapmadan ve daha sonra kendinizi engellemeden kodlamanın en iyi yolu iyi bir minimal tasarıma odaklanmaktır. Daha sonra, ancak nasıl zaten düşünmeden uzatabilirsiniz bileşenleri olarak güzel şeyleri yıkmak olabilir sonra uzatılabilir. Geleceği tahmin edemezsin.
Sadece basit şeyler inşa et.
Dilemmata
Overengineering
Bu trend programcıları böyle bir projeye devam ederken genellikle izler mi?
Cehennem evet. Bu bilinen bir ikilemdir ve yalnızca ürünü umursadığınızı gösterir. Yapmazsan, bu daha endişe verici. Daha azının her zaman gerçekten daha fazla olup olmadığı ve daha kötüsünün her zaman gerçekten daha iyi olup olmadığı konusunda anlaşmazlık vardır . MIT ya da New Jersey gibi biri olabilirsin . Burada kolay bir cevap yok.
Prototipleme / Hızlı-n-Kirli / Daha Az
İşe yarar bir örneği olabildiğince çabuk parçalamak tipik bir eğilim mi?
Bu yaygın bir uygulama, ancak projelerin büyük çoğunluğuna bu kadar yaklaşılmıyor. Yine de, prototipleme bence iyi bir trend, ancak ortalama bir dezavantajı var. Hızlı ve kirli prototipleri gerçek ürünlere tanıtmak veya bunları yönetim baskısı veya zaman kısıtlamaları altındaki gerçek ürünler için baz olarak kullanmak cazip olabilir. O zaman prototiplik sana musallat gelebilir.
Prototiplemede bariz avantajlar var , fakat aynı zamanda kötüye kullanma ve suistimal için çok fazla potansiyel var (çoğu, sonuç olarak daha önce listelenen avantajların tam tersi).
Prototip Ne Zaman Kullanılır?
Prototiplemeyi kullanmak için en iyi proje türleri hakkında ipuçları var :
[...] prototipleme, kullanıcılarla pek çok etkileşime girecek sistemlerde en faydalı olanıdır.
[...] prototipleme, çevrimiçi ekranların analizinde ve tasarımında, özellikle ekran diyalogların kullanımının daha fazla kanıt olduğu işlemlerin işlenmesinde çok etkilidir. Bilgisayar ve kullanıcı arasındaki etkileşim ne kadar büyük olursa, fayda o kadar büyük olur [...]
"Bugüne kadarki hızlı prototiplemenin en verimli kullanımlarından biri, yinelemeli kullanıcı gereksinimleri mühendisliği ve insan-bilgisayar arayüz tasarımı için bir araç olmuştur."
Diğer yandan:
Toplu işleme veya çoğunlukla hesaplamalar yapan sistemler gibi az kullanıcı etkileşimi olan sistemler prototiplemeden çok az fayda görür. Bazen, sistem işlevlerini gerçekleştirmek için gereken kodlama çok yoğun olabilir ve prototiplemenin sağlayabileceği potansiyel kazanımlar çok küçüktür.
Etrafında yeşil bir canavarı varsa, prototipi bütçede tuttuğundan emin ol ...