Tek kullanımlık yazılım, tek bir ihtiyaç için kurulan, kısa bir pencerede kullanılan ve bakılmak yerine atılan küçük uygulamaların yükselen kategorisidir. Çalışan bir uygulama üretmenin marjinal maliyeti sıfıra yaklaştıkça, her aracı dayanıklı, genel ve uzun ömürlü olmaya zorlayan hesap gevşemeye başlar. Ortaya çıkan şey, yapışkan nota benzeyen yazılımdır: kesin, kişisel ve kendi kısa ömründen rahatsız olmayan.
- Üretim maliyeti sıfıra yaklaştığında, yeniden kullanma gerekçesi sıfırdan kurmaya karşı zayıflar.
- Tek kullanımlık uygulamalar bir kullanıcıya, bir göreve, bir ana hedeflenir, sonra kararır.
- Dayanıklı yazılımın baskın maliyeti olan bakım bütünüyle yanından geçilir.
- Genel abonelikler, tek bir ihtiyaca şekillenmiş bir araç karşısında zayıf rekabet eder.
- Geçicilik tartışmalıdır; eleştirmenler çoğu yazılımın sessizce ölmeyi reddettiğini söyler.
- Zor soru uygulamaları atıp atmamak değil, hangilerini atmak gerektiğidir.
Yazılımı yalnızca küçük olmaktan ziyade tek kullanımlık yapan nedir?
Tek kullanımlık yazılım, bakıma, sürümlendirmeye ya da ikinci bir kullanıcıya dair beklenti olmadan, sınırlı bir amaç için yaratılan uygulamaları ifade eder. Tanımlayıcı özellik boyut değil, niyet edilen ömürdür. Küçük bir yardımcı araç on yıl yaşayabilir; tek kullanımlık olanı tek bir ihtiyaca karşı hazırlanır ve o ihtiyaç geçtiği anda terk edilir.
Kategori genellikle üç iz taşır. Tek amaçlıdır; çoğu zaman herhangi bir sevk edilmiş ürünün uğraşmayacağı kadar özel bir görevi çözer. Tek izleyicilidir; sıklıkla bir kişi ya da bir öğleden sonra için bir ekip. Ve gelecekle bakım sözleşmesi taşımaz: yol haritası yok, geriye uyumluluk yok, göç yolu yok. Uygulama bir araçtır, bir varlık değil.
Bu, uzun süredir geçerli bir içgüdüyü yeniden çerçeveler. Onlarca yıl boyunca disiplin her satır kodu yıllarca kendini haklı çıkarmak zorunda olan bir yükümlülük gibi ele aldı. O kodu üretmek pahalıyken, maliyeti amorti etmenin tek yolu dayanıklılıktı. Maliyeti yeterince düşürün ve amortisman argümanı küçük ihtiyaçların bütün bir sınıfı için sessizce çöker.
Kategoriyi komşularından ayırmak yardımcı olur. Tek kullanımlık yazılım, bakılan bir şeye dönüşmek üzere rafine edilmek için var olan bir prototip ile aynı değildir. Tesadüfen hayatta kalan hızlı bir betik de değildir; orada hayatta kalma rastlantısaldır, tek kullanımlılık ise niyetlidir. En temiz sınav, yaratan kişinin yarın ne yapmayı beklediğini sormaktır. Dürüst cevap hiçbir şeyse — bakım yok, dönüş yok, ikinci kullanıcı yok — araç tasarımı gereği tek kullanımlıktır ve bu niyet nasıl kurulacağını ve nasıl sona ereceğini şekillendirmelidir.
Neredeyse sıfır üretim maliyeti kurma hesabını neden değiştirir?
Atılabilir uygulamaların ekonomisi tek bir kaymaya dayanır: yazılımın pahalı kısmı asla çalıştırmak değildi; yapmak ve tutmaktı. Yapmak birkaç dakikalık ifade edilmiş niyete çöktüğünde, geriye kalan baskın maliyet bakımdır — ve bakım tam da tek kullanımlık bir uygulamanın ödemeyi reddettiği şeydir.
Eski yeniden kullanma refleksini düşünün. Mühendisler genelleştirmeye eğitilmişti, çünkü birçok durumu hizmet eden genel bir araç, her seferinde özgül olanı yeniden kurmayı yenerdi. Bu refleks, yeniden kurmanın pahalı olduğunu varsayıyordu. Varsayımı tersine çevirin ve genellik ek yük olur: henüz var olmayan kullanıcılara hizmet etmek için asla kullanmayacağınız yapılandırma, uç durumlar ve soyutlama taşırsınız. Tam olarak bir durum için kurulmuş bir aracın o ağırlığın hiçbiri yoktur.
Bir davranışsal sonuç da vardır. İnsanlar ucuz şeylere farklı davranır. Kimsenin bir daha bakmayacağı bir elektronik tablo makrosu törensiz yazılır. Bütün uygulamalar aynı atılabilirliğe yaklaştıkça, birini yaratmanın psikolojik bariyeri — adlandırmak, gerekçelendirmek, ona bağlanmak — düşer. Uygulama bir projeden çok bir düşünceye yaklaşır.
Yüzeye çıkan bir tradeoff şudur: ucuz yaratım ucuz sonuç anlamına gelmez. Yapma eylemi çöker, ama çıktıya güvenme eylemi çökmez. Gerçek paraya, özel kayıtlara ya da başka insanlara dokunan tek kullanımlık bir araç, üretmesi neredeyse hiçbir şey tutmuş olsa da dayanıklı birinin taşıyacağı her yükümlülüğü miras alır. Atılabilir yazılımı cazip kılan ekonomi, belirli bir atılabilir araca güvenilip güvenilmeyeceği hakkında hiçbir şey söylemez; ikisini karıştırmak ucuzluğun pahalıya döndüğü yerdir.
| Boyut | Dayanıklı yazılım | Tek kullanımlık yazılım |
|---|---|---|
| Niyet edilen ömür | Yıllar; sürümlendirilmiş ve bakılan | Saatlerden haftalara; bilerek terk edilen |
| İzleyici | Çok kullanıcı, bilinmeyen gelecek durumlar | Bir kullanıcı ya da ekip, bir bilinen durum |
| Baskın maliyet | Bakım ve uyumluluk | Tek yaratım eylemi |
| Tasarım baskısı | Yeniden kullanım için genelleştir | An için özelleştir |
| Başarısızlık biçimi | Çürüme ve biriken borç | Faydasının ötesinde oyalanma |
İhtiyaca göre yaratım genel aboneliği nasıl zayıflatır?
Genel bir abonelik herkese aynı geniş aracı satar ve her kişiden ihtiyacını ona uydurmasını ister. İhtiyaca göre yaratım bu pazarlığı tersine çevirir: araç ihtiyaca eğilir, ihtiyaç sürdüğü sürece var olur ve sonrasında hiçbir şey istemez. Rekabet artık özellik özelliğe karşı değil, uyum uyuma karşıdır.
Abonelik modeli geçimini genişlik ve süreklilik üzerinden kazanır. Geniş bir durum yelpazesinde medyan kullanıcıya hizmet etmelidir; bu da çoğu kullanıcının hiç dokunmadığı kapasite için ödeme yaptığı anlamına gelir. Tek kullanımlık bir uygulama ise tek bir duruma şekillenir ve fazlalık taşımaz. İhtiyaç keskin, dar ve kısa ömürlüyse, uyarlanmış atılabilir, cilada kaybetse bile alakalılıkta kazanma eğilimindedir.
Bu aboneliği silmez. Sürekliliğin kendisi bir özelliktir: paylaşılan durum, geri dönen bir izleyici, bir şey bozulduğunda hesap verebilirlik. Yüzeye çıkan örüntü bir bölünmedir. Yinelenen, sosyal ya da güven taşıyan iş dayanıklı ürünlerde kalır; özel, tek seferlik görevlerin uzun kuyruğu ise talep üzerine yapılıp atılan yazılıma göç eder.
İkisi arasındaki sınır nadiren temizdir ve yargının hakkını kazandığı yer burasıdır. Tek seferlik görünen bir ihtiyaç sessizce yinelenene kadar atılabilir araç her hafta yeniden kurulabilir; o noktada dayanıklı ürün baştan daha ucuz cevaptı. Tersi de olur. Aylık ödenen kapasite kullanılmaz çünkü gerçek ihtiyaç dar ve kısaydı. Bir ihtiyacın çizginin hangi tarafına düştüğünü, bağlanmadan önce okumak, yaratım maliyetinin düşmesinin daha az değil daha değerli kıldığı beceridir.
Geçicilik abartılı mı, yoksa dayanıklı yazılım yalnızca gizleniyor mu?
Karşı argüman gerçek bir ağırlığı hak eder. Eleştirmenler geçiciliğin abartıldığını söyler, çünkü yazılımın niyet edilen ölümünü aşmakta inatçı bir yolu vardır. Atılabilir betik yük taşıyıcı olur. Öğleden sonra prototipi üç yıl sonra sessizce bordro çalıştırır, çünkü hiçbir şey onu değiştirmedi ve kaldırmak riskli geldi.
Bu tek kullanımlık tuzaktır. Geçici ilan edilen bir uygulama bağımlılar biriktirir — başka araçlar, alışkanlıklar, veri — ve her bağımlı onu nihayet atmanın maliyetini yükseltir. Açık bir son kullanma olmadan tek kullanımlık yazılım yok olmaz; bakmayı kimsenin seçmediği ve kimsenin anlamadığı en kötü türde dayanıklı sisteme kemikleşir.
- Tek kullanımlık tuzak
- Geçici ilan edilen yazılımın bağımlılar edinip sessizce kalıcı olma eğilimi.
- Geçici kalıcılık
- Bir aracın yalnızca şimdi kaldırmanın maliyeti bırakmanın maliyetini aştığı için çalışır tutulduğu durum.
- Son kullanma niyeti
- Bir uygulamanın kullanılmayı bırakması ya da silinmesi için tasarlanmış açık bir koşul.
Dürüst konum bir gerilimdir, bir hüküm değil. Tek kullanımlılık gerçek bir iş sınıfı için gerçek ve büyüyendir. Dayanıklılık hâlâ yazılımın güven, paylaşılan durum ya da sonuç taşıdığı her yerde önemlidir. Zorlaşan beceri, yaratım anında aslında hangi türü kurduğunuzu söylemektir.
Bir uygulama ne zaman atılmak üzere tasarlanmalıdır?
Tek kullanımlılığa karar vermek ilk satırdan önce verilen bir yargıdır, sonra değil. Hata atılabilir yazılım kurmak değildir; atılabilir bir şeyin kimse fark etmeden kalıcılığa kaymasına izin vermektir. Yaratım anında küçük bir disiplin kategoriyi dürüst tutar.
- Aracın gerçekten hizmet ettiği tek ihtiyacı ve tek kullanıcıyı adlandır.
- Son kullanma koşulunu yüksek sesle söyle: ömrünü bitiren tarih, olay ya da görev.
- Güven yükünü kontrol et — başka biri ya da başka bir sistem ona bağımlı mı olacak?
- Bağımlılar olasıysa, onu dayanıklıya yükselt ve bakım maliyetini kabul et.
- Değilse, ince kur, kullan ve son kullanma koşulu ateşlendiğinde sil.
Sıra önemlidir çünkü pahalı hatalar karar ile değil, varsayılan ile olur. Kimsenin açıkça emekli etmediği yazılım kalma eğilimindedir. Baştan bir son kullanma niyeti koymak, silmeyi cesaret eylemi olmaktan çıkarıp zamanlanmış bir olay yapar; tek kullanımlık bir aracın tek kullanımlık kalmasının tek güvenilir yoludur.
Prosedürün yakalayamayacağı kültürel bir parça vardır. Ekipler kurulan şeyi ödüllendirir ve silinen şeyi nadiren ödüllendirir; bu da geçici kalıcılığın normal teşviklerin yan etkisi olarak biriktiği anlamına gelir. Son kullanmayı birinci sınıf bir sonuç gibi — sevk edilmiş bir özellik gibi kaydedilen, sahiplenilen ve kutlanan bir şey — ele almak, tek kullanımlık kategorinin sessizce bakımsız dayanıklıya dönüşmesini engelleyen şeydir. O olmadan, yapması en ucuz yazılım, birlikte yaşaması en pahalı hale gelir.
Atılabilir araçlar kültürünün ardından nereye götürmeye eğilimli olduğu
İhtiyaca göre yaratım yayıldıkça yazılımın birimi küçülmeye devam eder. Yörünge, birini yaratmanın halihazırda var olanı aramaktan daha ucuz olduğu araçlara işaret eder — ve sürtünme üretimden seçime ve atmaya kayar. Zorlaşan şey kurmak değil; neyin kalmaya değer olduğuna karar vermektir.
İki baskı keskinleşecektir. Birincisi hijyen: emekli edilmemiş atılabilir uygulamaların nüfusu sessiz bir yükümlülük olur ve son kullanma disiplini bir değişkene ad vermek kadar temel hale gelir. İkincisi düşük maliyet altında yargı. Her şey kurulabildiğinde, kıt beceri ölçülülüktür — hangi ihtiyaçların kalıcı bir cevap hak ettiğini ve hangilerinin yalnızca bir sonraki gelgitin silmesi gereken kuma yazılmış geçici bir cevap hak ettiğini bilmek.
Üçüncü bir kayma daha incedir ve belki en çok önem taşır. Araçlar tek kullanımlık uca çöktükçe, geriye kalan dayanıklı sistemler uygulamadan çok taahhüde benzer — paylaşılan durumun, güvenin ve hesap verebilirliğin gerçekten yaşadığı küçük yerler kümesi. Dayanıklılık varsayılan olmaktan çıkar ve kasıtlı bir seçim olur; varsayılan değil, ayrılmış. Asıl hikâye budur: her şeyin geçici olması değil, kalıcılığın her satır kodla bedava gelmek yerine kazanılması, adlandırılması ve savunulması gerektiği.
Bunların hiçbiri yazılımı atmanın kendi başına erdemli olduğunu savunmaz. Kategori bir araçtır ve her araç gibi kötüye kullanılabilir — en sık, tek kullanımlık bir şeyin amacını sessizce aşmasına izin vererek. Alan, daha çok kurduğunda değil, kurduğu şeylerden hangisinin gerçekten kalmak için olduğunu dürüstçe gördüğünde olgunlaşma eğilimindedir.
S.S.S.
