it-swarm.dev

Yazılım geliştirmedeki en kötü yanlış ekonomiler nelerdir?

Yazılım endüstrisinde yaygın olan en kötü sahte ekonomiler (sonuçta tasarruf ettiklerinden daha pahalı olan paradan tasarruf etmenin yolları) nelerdir ve bunlarla nasıl mücadele edersiniz?

126
Jon Hopkins

Teknik borç

yani "Sadece hızlıca yap, daha sonra tekrar gözden geçireceğiz". Birincisi, henüz bu davranışla ilgilenen birini daha sonra göremediğim için görmedim. İkincisi, işleri hızlı bir şekilde yapmak, iyi bir yol yerine gelecekteki özellikler eklemeyi veya gelecekteki hataları çözmeyi zorlaştırır, böylece uzun vadede zaman kaybedersiniz.

Ne yazık ki, birçoğu hala hızlı bir şey yapmalarını sağlamak için kaydeder geliştirici döngülerini düşünüyor. Sanırım bu mümkün, ama pratikte henüz görmedim.

182
Inaimathi

1 yerine harika geliştiriciler 2 ucuz geliştiriciler işe. (aynı fiyata)

163
user2567

Örneğim NimChimpsky'nin örneği tam tersi olacaktır:

Kurumdan satın alınabilecek bir şey geliştirmeye çalışmak.

Normalde bu, sorunu çözecek bir şey olup olmadığını görmek için pazar yerini gerçekten kontrol edememesinden kaynaklanır. Bu, herhangi bir araştırma yapmadan önce kodlamaya "dalmak" isteyen geliştiriciler ve o zaman faktörü hesaba katmayan proje yöneticileri tarafından birleştirilebilir.

Alanımda gördüğüm en yaygın örneklerden biri olan web geliştirme, şirket içi CMS sistemi geliştirmeye çalışan şirketlerdir. Bunlar her zaman küçük başlar, ancak özellikler cıvatalanırken yakında şişirilir ve kontrol dışı kalır, ancak her zaman çok daha uygun olabilecek birçok ücretsiz ürün ve çerçeve vardır.

85
Dan Diplo

Proje yönetimi için özel kaynak yok

Birkaç programcının sözleşmeli olduğu birkaç kez yaşadım ve zaten günlük iş gerektiren bir kişi projeyi yönetmiş olmalı, ancak aslında diğer görevlerle çok meşguldü, bu yüzden proje gerçekten hiç ivme kazanmadı. Programcılar "prototipler" ve şeyler yaptılar, ama bir ipucu olmadan, çoğu meşgul görünmek için daireler çiziyordu.

Yeni programcılar için kötü ekipman

Bir zamanlar politikanın "yeni programcılar, hak ettiklerini kanıtlayana kadar küçük bir ekranla gerçekten eski bir bilgisayarda çalışmak zorunda" olduğu bir şirket yaşadım. Böyle bir politikanın, her zaman daha akılcı bir ortamda çalışma seçeneği olan iyi insanları çeken olumsuz bir seçime neden olması şaşırtıcı değildir.

73
user281377

Programcıları test uzmanı/teknik yazar olarak ikiye katlayarak paradan tasarruf edebiliriz

Test cihazı/teknik yazar işi için programcı maaşları ödüyorsanız, para harcıyorsunuz ve muhtemelen kariyerini bu göreve adamış birinden daha düşük kalitede iş alıyorsunuz. Ayrıca, bir programcı sıkı bir son tarih testine karşı olduğunda ve belgelerin onu karşılamak için düşürülmesi veya yarım göt yapılması çok olasıdır.

BTW: Geliştiriciler DAİMA sıkı bir son teslim tarihine karşı.

71
JohnFx

Ürün geliştirme ile ilgili olmayan araştırma/okuma/kod yazma kaynak israfıdır.

Bazı programcılar ve hatta yöneticiler buna inanıyor. Normalde, sadece kafalarındaki bilgilere dayanarak programlama yaparlar ve problemlerle karşılaştıklarında araştırma yaparlar ve cevap ararlar. Proaktif olarak bilgilerini sürekli geliştirmezler. Bence her zaman kendimizi güncel tutmalıyız ve topladığımız bilgiler mevcut ve gelecekteki sorunların çözümünde bizim için yararlı olacaktır. Tabii ki, bunu yapmak için zamanınızı akıllıca ayırmalısınız.

Bu da Dan'ın cevabı ile benzerdir. Bazı yöneticiler sadece geliştiricilerin pazardaki mevcut ürünler üzerinde araştırma yapmadan ürünü hızlı bir şekilde dalmasını ve gereksinimlere göre geliştirmesini ister.

63
Gan

Çoğu durumda offshoring daha fazla paraya mal olur. Şirketimde yeni çalışanlar bulmak çok zor. Yerinde yükleniciler almak da zor; kıyıdan uzak tutmaları gereken 3: 1 oranı vardır. Sonuç olarak, birçok takım sadece bir düzine açık deniz kiralar ve bunları neredeyse hiç kullanmaz, böylece 4 yerinde müteahhit alabilirler.

58
Jeremy

Uzun geri bildirim döngüleri!

Bu herkese olur: harika olduğunu düşündüğünüz bir şey inşa edersiniz ve yanlış yaptığınız ortaya çıkar. Sorun bu değil. Sorun ne kadar süre durmanız gerektiğini bulmadan önce bina harcamak.

Yüksek düzeyde, bu sorunu uzun serbest bırakma döngülerinde görürsünüz. Geri bildirim olmadan bir yıl boyunca inşa ederseniz, tüm yıl kumar oynuyorsunuz. Ne kadar sıklıkla bırakırsanız, kumarlarınız o kadar küçük olur ve kumar oynama şansınız artar.

Ancak aynı zamanda en düşük seviyelerde gerçekleşir. Bir geliştirici olarak, sık sık kod incelemelerini seviyorum (veya daha iyi, çift programlama), çünkü birisi "Hey, daha basit bir yol var!" Aynı nedenle, birim testlerimin hızlı ve sık çalışmasını seviyorum, böylece büyümeden önce böcekleri yakalayabilir ve öldürebilirim.

Kısa geri bildirim döngülerinin önemini fark etmeye başladığınızda, her yerde göreceksiniz. Örneğin, OODA döngüsü askeri kavramı.

50
William Pietri

İkinci bir monitör çok pahalı olduğu için tek ekranlı iş istasyonları sağlamak . Her yıl sadece bir saatlik iş tasarrufu yapmanıza rağmen, ikinci bir ekran hala iyi bir yatırımdır. Benimkinin beni çok, çok saatlerce işten kurtardığından eminim.

Çoklu monitör kurulumu, yalnızca geliştirme görevlerini değil, hemen hemen her görevi daha verimli hale getirebilir. Üç monitör ikiden daha iyidir, ancak efekt her ekstra ekranda daha az belirgin hale gelir.

Çoklu monitör ayarları:

  • pencere değiştirme yükünü azalt
  • arka planda çalışan öğelere (posta, derleme vb.) göz atmanıza izin verir.
  • size özgürlük hissi verir. Atriumda olmak ve süpürge dolabında olmak gibi.
  • vb...
47
Joseph Tanenbaum

Kendi anekdotum değil, ama bir keresinde geliştiricilerine ücretsiz kahve vermeyi bırakan bir dükkan duydum, bunun yerine kahve almak istedikleri zaman, en yakın kafeye (on dakika gibi bir şey) yürümek için serbest olduklarını söyledim (her yöne yolculuk) ve biraz satın alın.

Hemen hemen yanlış ekonominin tanımı.

47
EricBoersma

En ucuz donanım danışman 150 $/saat 'a mal olduğunda danışman.

Perspektife daha iyi bir donanım koymak, işi en azından günde 30 dakika daha etkili hale getirebilir. Bu, 30 dakika * ayda 20 gün iş verir = 600 dakika/ay = 10 saat/ay> 1 günlük işten daha fazlası = 10 saat * 150 $/saat = 1500 $

1500 $ 'lık bir bilgisayarı olsaydı bir danışman daha verimli çalışmaz mı? Danışmanı daha az tahriş eder mi?

Şimdi sorun, biri danışman diğeri de PC donanımı için olmak üzere iki bütçe olması gibi görünüyor.

39
Amir Rezaei

Aylarca çalışma planlama günlerini kurtarır

(Planlamaya yeterince zaman ayırmamak)

38
serg

En yaygın şüphelendiğim yöneticiler, geliştiricilere işlerini verimli bir şekilde yapmak için ihtiyaç duydukları araçları sağlamıyor.

Temel olarak, Joel Testi .

27
richeym

"Sorunlu cesetleri atın" maalesef bazı yerlerde hala kullanılabilir. Brook Yasası bunu Efsanevi Adam Ayından karşı koyar bu dersi öğrenmek için deneyim gerektiriyor. Genelde bu benim durma gücümde bir şey değil çünkü yönetim insanları eklemek ve bunun için bir bedel ödemek zorunda kalmamakla ilgili yanlış ifadeye inanabilir.

24
JB King

Günlük toplantılar:

(meeting duration in hours) x (Y team members) x (average salary per hour) = ...  
21
Zzz

Raf yazılımını dahili olarak geliştirmek yerine satın almak.

Hem İK hem de Biyolojik Laboratuvarlara odaklanan girişim ölçeği yönetim sistemleri konusunda deneyimim var.

Bir raf dışı çözüm 50-100k £ maliyeti ve iş gereksinimlerini karşılamak için daha fazla geliştirme ve özelleştirme gerekiyordu.

Dahili olarak geliştirilen çözümün geliştirilmesi (<6) ay sürdü, diğer projeler paralel olarak üzerinde çalıştı ve halihazırda çalışan bir geliştirici kullandı.

Dahili olarak geliştirilen bir LIMS (laboratuvar bilgi yönetim sistemi) çalıştığımız kamu sektöründen, hazır bir çözümün uygulanmasının bir yıldan fazla sürdüğü ve hiçbir yerde tamamlanmadığı büyük bir uluslararası ilaç sektörüne gittim.

(6 ay önceden işe alınmış bir geliştirici paralel olarak diğer projeler üzerinde çalışıyor. Bu yüzden ~ 10k. Bu, raf dışı çözümle ilişkili destek maliyetlerini içermiyor). Asıl mesele, dahili olarak geliştirilen sistemin gerçekte kullanılmasıdır! Böylece, hesaplayamadığım ek maliyet avantajı elde edersiniz.

Ben temel web siteleri vb kabul ediyorum, neden kendi geliştirme zahmet. Ancak herhangi bir büyük karmaşık sistem için ve zaten evde becerileriniz varsa, kendim inşa ederim.

20
NimChimpsky

Açık kaynak alternatifleri daha iyi ve ücretsiz olduğunda pahalı hazır ürünler satın almak.

Kaç şirket git kullanıyor? Kaç şirket bazı boktan kurumsal sürüm kontrolü kullanıyor?

15
hasen

Çok basit ifadeler olmadan "basit" diller kullanma

Evet, kodu korumak için programcı bulmayı kolaylaştırır, ancak sadece işe alınacak en son terimleri öğrenmeyen iyi programcıları bulmayı zorlaştırır. Evet, bireysel bit kodlarının anlaşılmasını kolaylaştırır, ancak aynı zamanda 2x4 kadar katı hale getirir ve anlaşılması gereken kod hacmini arttırır. Evet, büyük bir şirket tarafından destekleniyor, ancak büyük şirketin yavaş ve bürokratik olarak yenilik yaptığını söyledi.

14
dsimcha

Kötü proje yöneticileri/takım lideri.

Beceriksiz bir insan bir grup insanın çalışmasını mahvetme gücüne sahip olduğundan. Sonunda, proje üst yönetim (proje/takım liderliği) kararları olmadan çok daha iyi sonuç verecektir.

"Sadece çabuk yap, daha sonra yeniden düzenleyeceğiz" kararını veriyor.

13
Amir Rezaei

Eksik kullanıcı gereksinimleri

Bir yazılım ürünü tasarlamanın önemli ve zor bir adımı, müşterinin gerçekten ne yapmak istediğini belirlemektir.

İster inanın ister inanmayın bazen bu bölüm eksik veya modası geçmiş. Maliyet gelmesi, son kullanıcının hiç istemediği işlevleri oluşturmasıdır.

12
Amir Rezaei

Verimlilik yaratıcılıktan daha değerlidir

Yaratıcılığın genel olarak ölçülmesi zordur ve yazılım geliştirme söz konusu olduğunda ölçüyü bile dikkate almamak, çoğu zaman gözlemlemek imkansızdır. Verimlilik ise ölçülebilir (genellikle zayıf) ve gözlemlenebilir.

Sonuç olarak, (daha fazla kod satırı yaz | daha hızlı kod yaz | sorulara yanıt olarak teknolojiyi daha hızlı okuyabilir | daha görünür şekilde üretken) geliştiriciler (aynı sorunu çözmek için daha az kod satırı kullanır) | kod yazmak daha uzun sürer, ancak daha güvenilir bir ürün üretin | konuyu basit, anlaşılması kolay, İngilizce | sorunları yaratıcı bir şekilde çözebilecek kadar iyi anlayın).

8
blueberryfields

Uygun olmayan şekilde kullanıldığında veya kullanılmadığında aşağıdakilerin tümü kötü olabilir

  • harici vs şirket içi yazılım

  • ISO 9001 uyumluluğu (ekonomi - ürün kalitesi düşerse MSS kaybı riskinin azaltılması)

  • geliştirme/KG dış kaynak kullanımı

  • geliştirme/oluşturma/serbest bırakma/destek prosedürleri

6
bobah

Faturalandırılamayan çok sayıda dağıtım yöneticisine sahip olmak.

Birkaç yıl önce, şirketimizde birkaç büyük bütçe projesi vardı ve işe alım zirveye çıktı. O zaman firmamız çok fazla dağıtım müdürü (birçoğu BT değildi!) Ve çok az kodlayıcı/test cihazı tuttu. Yönetici/Programcı oranı tam anlamıyla 1: 2 idi. Daha sonra, bu projelerin tamamlanmasından sonra, bu yöneticilerin çoğunun (bazıları gerçek tembel kişilerdi) hiçbir şey yapmadan bankta oturduğumuz bir durumumuz vardı. Herkesin çok az/hiç yükselmediği (hatta çalışkan programcılar, iç çekeriz) bir şirketimiz vardı, böylece şirket kimseyi işten çıkarmak zorunda kalmıyor! Neyse ki, şirket bu durumu fark etti ve bu yılın ilk çeyreğinde HAKLARI YAPTI!

4
mananjani

Sınırlı veya internet erişimi yok

Çünkü açıkça çalışanlarınız, Stackoverflow ile ilgili teknik soruların cevaplarını araştırmak için değil, facebook oyunları oynamak için interneti kullanacak.

Gerçekte internet, büyük bir verimlilik artışıdır ve gerçekten tehlikeli siteler için bir tür site filtresi kullanmak uygun olsa da, görsel stüdyo benioku dosyasını engelliyorsa veya telford yerel yönetim sayfalarını engelliyorsa yanlış bir şey var. "seks turizmi"

3
jk.

Profil oluşturma öncesi optimizasyon (erken optimizasyon olarak da bilinir).

Çoğu zaman birinin daha hızlı olduğu gerekçesiyle bakım ve okunabilirliği gereksiz yere zorlaştıran akıllı bir çözüme ulaştığını gördüm. Doğal olarak, kod tezgah işaretli değildir (mikro kriterler ile bile değil), bu nedenle kod bölümünün tamamı üzerinde büyük olasılıkla tüm genel performansı etkilemeyen hızlı bir şekilde "daha ikna edici argüman temelinde daha hızlı" hale gelir çok uygulama.

Bu nedenle, çok sahte bir ekonomi ve bazen deneyimli uzmanları bile karıştıran bir tür yanlış ekonomi.

3
Edwin Buck

Geliştiricilerinize kurumsal standart olarak 15 inç monitör ve düşük özellikli bir PC kullanmalarını sağlamak.

Makul boyutlu monitörler ucuz, kurulumu hızlı ve programcıları daha üretken hale getirmenin yanı sıra programcılarınızı önemsediğinizi düşündürüyor.

2
Ian

Modern yönetimin ilgili olduğunu düşündüklerini uygulamaya çalışan hiyerarşik olarak organize edilmiş çok fazla İşletme Lisansı (veya benzeri): "KPI" ler, "SLA'lar" ve ne olmayanlar, "raporlar" gerektirmeyen ( Tabii ki, bunları oluşturmak için altyapıyı önemsemek), böylece programcılar süslü Excel sayfalarını, Q4 raporlarını ve neyi değil ve büyük bir yeni yönetim aracından kopyalayıp başka birine yapıştırmak için günlerini boşa harcarlar (bu kural gibi görünüyor) bu araçlar hiçbir zaman yutulmamış veya birbiriyle bütünleştirilemez) ve raporların ve şekillerin sunulduğu toplantılara katılmalıdır (ve herkes bunu veya bu KPI'yı tam olarak yerine getirememiş olmaktan suçludur).

2
Ingo