Yazılım geliştirmedeki en kötü yanlış ekonomiler hangileridir? [kapalı]


126

Yazılım endüstrisinde en kötü sahte ekonomiler hangileridir?


2
:( Bunların çoğunu çok sık gördüm
Tony


@Casey: Biraz ilgili, ama tamamen değil. Verdiğiniz bağlantı doğrudan para ile ilgilidir, bu sorudaki cevaplar da para ve inançlarla ilgilidir. Örnek, cevabımı görün: programmers.stackexchange.com/questions/19573/…
Gan


1
@ Mark - iyi bir soru gibi geliyor, bunun için gidin. Birkaç spesifikasyon olsa iyi olabilir.
Jon Hopkins,

Yanıtlar:


182

Teknik borç

yani, "Hemen yapın, daha sonra yeniden yönlendirelim". Öncelikle henüz bu davranışta bulunacak birini görmedim çünkü aslında daha sonra yeniden düşünülmüş. İkincisi, işleri hızlı bir şekilde yapmak, iyi bir yöntem yerine gelecekteki özellikleri eklemeyi ya da gelecekteki hataları gidermeyi zorlaştırır, böylece uzun vadede zaman kaybedersiniz.

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


2
Bir gün boyunca yönetim durdurma geliştiricilerinin (2 - 3), bir dağıtım uzmanının bir şeyi düzeltmek (ve ürünün yaşam döngüsü boyunca bunu defalarca yapmak) görmek için harcadığı sayıları sayamıyorum. Doğru yapmak için 4 gün. Mükemmel cevap.
DevSolo

4
Düzeltme için harcanan zaman dolar cinsinden ölçülebilirse, örneğin hata düzeltme hisse alım satım sistemi varsa, o zaman yönetim kararı düşük maliyete dayanacaktır. Bunun bir daha yaşanmamasını sağlamak için doğru çözümü belirlerken “çalışmaya devam etmek için onu şimdi bağlamayı teklif etmeyi” teklif etmenin maliyet odaklı aciliyeti sağladığını ve aynı zamanda doğru sonucu elde ettiğini buldum. .
JBRWilkinson 17:10

9
Şimdi 3 ila 5 yıl boyunca devam etmek için temelde bulunan "Bu bir hack, gösteriden sonra değiştirin" gibi yorumlarla birlikte kodumuz var. Hiç kimse bu noktada yapıldığını bile hatırlamıyor, bu yüzden kimse (ben) hataları tamir edip rastlayana kadar kimse bulamıyor. Söylemeye gerek yok, bu nesne dersi, herhangi bir şekilde yapabilirsem, ilk seferinde doğru yapmayı çok iyi öğretti.
CodexArcanum

22
Ve dürüst olmak gerekirse, kısa süreli zaman kazanmadığım zamanlarda sürekli şok yapıyorum!
PeterAllenWebb 17:10

6
@Jorg - Huh? "Teknik borç ve tasarım borcu eşanlamlı, acımasız yazılım mimarisinin ve aceleci yazılım geliştirmenin nihai sonuçlarına atıfta bulunan neologistik metaforlar." en.wikipedia.org/wiki/Technical_debt Bu tam olarak neyi kastediyorum. Daha spesifik bir başlık belki de "Geri Ödeme Amacı Olmadan Teknik Borç Eklemek" olabilirdi, ama bu durumda birçok insan kendilerine aslında geri ödeme niyetinde olduklarını söylüyorlar (ama yapmıyorlar) ve ben de yumruklu bir başlık koymak istedim üstte kalın metinler "Teknik Borç" yeterince iyi bir özet gibi görünüyordu.
Inaimathi

163

1 yerine 2 ucuz geliştirici kiralamak gerçekten harika. (aynı fiyat için)


9
Bu en azından gerçekte bir temeli var gibi görünüyor; Teknik olmayan kişilerin, büyük geliştiricilerin kim olduğunu söyleyemediklerini aklınızda bulundurun (bu nedenle, gerçek bir süperstardan iki kat daha fazla rastgele, danışmanlık aptalına para ödemeleri çok muhtemeldir).
Inaimathi

112
Ya ne yazık ki, sadece ... 1 ucuz bir işe
DevSolo

4
... ya da iki
aptalın

14
Aptaldan bir gurunun% 75'ini alamazsınız ve gerçekten iyi bir programcı, bu konuda zahmete girmeden gerekenleri yapar.
Peter Boughton

8
10x veya 100x programcılar para için inanılmaz derecede değer taşıyor; sadece 1.5 belki 2x para alıyorlar. Michael Lopp'ın (Repose'daki Rands) dediği gibi, kariyerinde bunlardan sadece birini işe alırsan, bu net bir kazançtır.
Tim Williscroft

85

Benim örneğim , NimChimpsky'nin örneğinin tam tersi , yani:

Raftan satın alınabilecek bir şeyler geliştirmeye çalışıyorum.

Normalde bu, sorunu çözecek bir şeyin olup olmadığını görmek için pazardaki yeri gerçekten kontrol edememekten kaynaklanır. Bu, herhangi bir araştırma yapmadan önce kodlamaya "dalmayı" seven geliştiriciler ve bu süre içinde etken olmayan proje yöneticileri tarafından = para = birleştirilebilir.

Alanımda gördüğüm en yaygın örneklerden biri olan web geliştirme, kurum içi CMS sistemi geliştirmeye çalışan şirketler. Bunlar kaçınılmaz olarak küçük başlar, ancak kısa sürede şişirilir ve özellikler kilitlenirken kontrolden çıkar. Her zaman daha iyi olacak birçok ücretsiz ürün ve çerçeve vardır.


17
Olması gerektiği için olması gerektiği anlamına gelmez. Temel bir CMS, evet, neden tekerleği yeniden icat ettin. Ancak büyük ölçekli sistemler hakkında konuşmaya başladığınızda ve karmaşık iş süreçlerini modellemeye başladığınızda - neden bir yuvarlak çiviyi kare bir deliğe takmaya çalışın? Özellikle evde geliştiricileriniz ve becerileriniz varsa.
NimChimpsky,

9
@NimChimpsky - Her ikisinin de geçerli örnekleri olduğunu düşünüyorum. Kesinlikle insanların iş süreçlerini bozduğunu ve raf yazılımına uymaya çalışarak sahip oldukları avantajları kaybettiklerini gördüm; onlar için daha ilginçti.
Jon Hopkins,

3
@NimChimpsky Eğer özellik ısmarlama bir gelişme gerektiriyorsa, o zaman sorun değil - bizi işlerde tutar :) Sorun, insanlar önce faturaya uygun olan ve doğrudan geliştirmeye uygun bir şey olup olmadığını kontrol etmediklerinde sorun ortaya çıkar. Küçük bir araştırma çok yol kat edebilir!
Dan Diplo,

6
Neden tekerleği yeniden icat ettin? Çünkü sen bir tekerlekli mühendissin. Ya da tekerleğin bir sonraki adamın tekerleğinden daha iyi olduğundan. Ya da tekerlek uymuyor çünkü. Bakınız: mostlymaths.net/2010/03/…
Derek

2
Neredeyse Çalıştığım yerde her şey satın alınabilir OTS - ve (tm) bizim Korkusuz Liderler göre çünkü neredeyse her şeyi içeride yeniden icat edilir "çevremiz o kadar komplike ki hiçbir şey piyasada olabilir belki hallederim". PFEDH! Ama ne hey - faturalarını öder. Dün, yazılımımızın büyük bir bileşeninin gelecek yıl yeniden yazılacağı söylendi - GRAFİK BİR ARAÇ İLE! Ooooooh-aaaaaaah! Ben bir a twitter'ım ... (<pheh!>)
Bob Jarvis

73

Proje yönetimi için özel kaynak yok

Birkaç programcının sözleşmesi yapıldığında birkaç kez deneyimledim ve zaten zorlu bir günlük işi olan birinin projeyi yönetmesi gerekiyordu, ancak aslında diğer görevlerle çok meşguldü, bu yüzden proje hiç bir zaman ivme kazanmadı. Programcılar "prototipler" ve benzeri şeyler yaptılar, ancak bir ipucu olmadan, çoğu meşgul görünmek için daireler çiziyordu.

Yeni programcılar için kötü donanım

Bir zamanlar politikanın "yeni programcıların gerçekten eski bir bilgisayarda küçük bir ekran üzerinde çalışmak zorunda olduklarını ispatlayana kadar çalışması gerekiyor" olduğu bir şirket yaşadım. Böyle bir politikanın, her zaman daha aklı başında bir ortamda çalışma seçeneğine sahip olan iyi insanları uzaklaştıran olumsuz bir seçim yapmasına neden olması şaşırtıcı değildir.


19
+1. Çalışanlarınız için iyi ekipman sağlamamak, her yere yazılmış "başarısızlığa mahkum" oldu.
Terence Ponce,

3
+1. Ancak, aşağıdakilere dikkat edin: Birçok şirkette, donanım bütçeleri altyapıya girmekte ve geliştirme bütçelerinden ayrı tutulmaktadır. Altyapı yöneticisi, kalkınma yöneticisinin bütçesini hafifletmek için bütçesine karşı bir darbe almayacak. Bu pis politik oyunun birkaç kez oynandığını gördüm.
Fil

3
TÜM programcılar için kötü ekipmanlara ne dersiniz? Eski işverenim, beş yıl önce vasat olan masaüstlerine kod yazmak için Silikon Vadisi maaşlarını ödedi. Üfleme tarihleri ​​nedeniyle, bir yıl önce personelin yarısını işten çıkardılar ve Temmuz'daki geri kalanların çoğu - ama çocuk, ekipmandan tasarruf ettiler!
Bob Murphy,

1
Kaz: Her geliştiricinin yeterli bir makineye sahip olması gerekir. Yeni donanım satın almak, yeni geliştiricinin bilgisayarının diğer geliştiricilere göre biraz daha iyi olduğu anlamına gelirse, en kötü durumda, taklit makineleri kullanan insanlar varsa takas makinelerine sahip olursunuz. Normal insanlar, verimli çalışmalarına olanak tanıyan eşitliğe sahip oldukları sürece umursamazlar. Şu anda çalıştığım yerde, beni işe alan kişiden daha yeni (muhtemelen daha hızlı) bir bilgisayarım var. Benden sonra gelen insanlar daha yeni, muhtemelen daha hızlı PC'lere sahipler. Bil bakalım ne oldu? Kimsenin umrunda değil, çünkü tüm makinelerimiz yeterince hızlı.
user281377

3
Donanım yetersiz olduğunda, genellikle ayak tırnaklarımın kesilmesi veya uzun derlemeler sırasında kağıdı okumak gibi faydalı çalışmalar yaparak yönetime bildirmek için bir noktaya geliyorum. Eski yavaş makineyi aldın mı? Tabii, sorun yok. Sen bir acele hata düzeltmesi var ve ben ettik yapı yapmalıyım? Tabii ki, Mr-Manager-bwana-sahib-dude - 90 dakika sonra görüşürüz! (Bir keresinde bir yönetici bana bütün gün ne yaptığımı sordu - Ona "Uygulamayı yeniden inşa ettim. Dört kez" dedim. "Sekiz saat sonra?!?" Diye bağırdı. Bu 10 saat sürdü ". Yeni makine kısa bir süre sonra ortaya çıktı ... :-)
Bob Jarvis

71

Programcıların test uzmanları / teknik yazarlar olarak iki katına çıkmasını sağlayarak tasarruf sağlayabiliriz

Testçi / teknik yazarlık çalışması için programcı maaşları ödüyorsanız, o zaman parasını boşa harcıyorsunuz ve muhtemelen kariyerini bu göreve adayan birinden daha düşük kaliteli işler alıyorsunuz. Ayrıca, bir programcı sıkı bir son tarih testine karşı çıktığında ve dokümantasyonun düşmesi veya karşılanması için yarım kıçlı olması çok muhtemeldir.

BTW: Geliştiriciler her zaman sıkı bir son teslim tarihine karşı hazır.


12
Akıllı insanlar yanlış bir şey yapabilirler.
Jon Hopkins

3
Veri girişi yaptım, ancak kesinlikle oranımı düşürmeyecektim. Bazı kritik veri girişi için hızlı ve doğru olan birisini istediler ve en azından üçlü veri girişi oranlarını ödemeyi umursamadılar. Onların seçimi.
David Thornley

1
Kodlarını sınamak için programcıların işi olduğunu savunuyorum, ancak neyi kastettiğinizden emin değilim.
Ben Lakey

3
Programcılar, yazılımları kırma konusunda uzman olan özel test uzmanlarına sahip olmamak yerine, kendi kodlarını test etmelidir.
JohnFx

1
Teknik yazı hakkında hemfikir olun, test konusunda hemfikir olun. Test yapmak, iyi bir yazılım yazmanın doğal bir parçasıdır. Teknik yazı kodlamadan sadece çok fazla bir kaymadır. Kodlamadan teknik yazıya geçmek için birçok vites değiştirmem gerektiğini düşünüyorum ve zamanımın kötü kullanımı gibi geliyor.
Adam Bruss

63

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

Bazı programcılar ve hatta yöneticiler buna inanıyor. Normalde, sadece başlarındaki bilgilere dayanarak programlama yaparlar ve problemle karşılaştıklarında araştırma yapar ve cevap ararlar. Bilgilerini proaktif olarak sürekli geliştirmezler. Benim düşünceme göre kendimizi daima güncel tutmalıyız ve topladığımız bilgiler mevcut ve gelecekteki sorunları çözmede bizim için yararlı olacaktır. Elbette, zamanınızı akıllıca ayırmanız gerekir.

Bu aynı zamanda Dan'in cevabına benzer . Bazı yöneticiler, geliştiricilerin, pazardaki mevcut ürünler üzerinde araştırma yapmadan, ürünü gereksinimlere göre hızla dalmasını ve geliştirmesini ister.


3
Keşke bunu bir kereden fazla yenebilseydim.
MAK,

1
Bir GUI kütüphanesi yazalım. Bir mesajlaşma araç seti oluşturalım. Yazılım parçasını SATMAYINIZ, bu daha büyük bir şeyin sadece bir kısmıdır, çünkü göklerin uğruna başka birinin uygulamasını kullanın. Açık kaynak kodlu bir çözümü kullanmak için güvenlik noktaları, gerekirse her zaman düzeltebilir ve destekleyebilirsiniz. Kaynak içeren çözümleri satın almak için paranız varsa, bunu yapın, ancak ticari yazılım bileşenlerinin kalitesizliğine dikkat edin. Satıcılar size bileşeni iki kere nadiren satarlar, bu yüzden kendi sahibi olduğunuzda hayal kırıklığına uğrayabilirsiniz (daha önce bu şekilde ısırılmış yerler üzerinde çalıştığımı biliyorum)
Tim Williscroft

58

Çoğu durumda offshore yapmak daha fazla paraya mal olur. Şirketimde yeni çalışanlar bulmak zor, dış kaynak kullanımına çok zorlandık. Ayrıca inşaat müteahhitleri almak zor; denizde olması gereken denizde 3: 1 oranı var. Sonuç olarak, pek çok takım sadece bir düzine denizaşırı liman kiralıyor ve neredeyse hiç kullanmıyorlar, böylece 4 saha içi yüklenici bulabiliyorlardı.


18
+1. Dış kaynak kullanımı konusundaki deneyimim, kaçınılmaz olarak, tasarruf ettiğinden çok daha fazla paraya mal olması.
Adam Crossland

2
+1, ancak doğru kullanılırsa offshore çalışabilir

3
+1. Her yeni projede açık deniz geliştiricileri alıyoruz, bu da kıyıdaki geliştiricilerin zamanlarının çoğunu teknik destek sağlamanın yanı sıra iş ve teknik alan modelinde yeni açık deniz kıyılarına öğretmek için harcadıkları anlamına geliyor. Projenin sonu ve başka bir yere gittiler ve bir sonraki 'ucuz' geliştiricilerle tekrar baştan başlıyoruz.
Chris Knight,

8
birçok ekip sadece bir düzine denizaşırı liman kiralayıp neredeyse hiç kullanmıyor, böylece 4 saha içi müteahhit bulabiliyorlar. Vay.
poolie,

1
Ve soygunculuğun iradesinin, doğanın son teslim tarihini uzatacağını unutmak. Açık deniz kalite kontrol sistemimiz var ve aynı ofisteki twp insanların bir saatten az sürede zaman farklılıkları nedeniyle kirlenebilecekleri bir şeyi ortaya çıkarmak 3-4 gün sürebilir.
HLGEM

50

Uzun geribildirim döngüleri!

Herkese olur: Müthiş olduğunu düşündüğünüz bir şey inşa edersiniz ve yanlış yaptığınız ortaya çıkar. Sorun bu değil. Sorun, durmanız gerektiğini öğrenmeden önce ne kadar zaman harcamanız gerektiğidir.

Yüksek seviyede, bu sorunu uzun sürüm döngüleri ile görüyorsunuz. Geri bildirim olmadan bir yıl inşa ederseniz, tüm yıl kumar oynuyorsunuz. Ne kadar sık ​​salınırsanız, kumar oynadıkça o kadar küçük ve kumar oynamanız o kadar iyi olur.

Ancak aynı zamanda en düşük seviyelerde gerçekleşir. Bir geliştirici olarak, sıklıkla kod incelemelerini severim (veya daha iyisi, çift programlama) çünkü birileri "Hey, daha basit bir yol var!" Aynı sebepten ötürü, birim testlerimin hızlı ve sık çalışmasını seviyorum, böylece büyümeden önce böcekleri yakalayıp öldürebiliyorum.

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


6
+1. Ayrıca: geribildirim döngüsü ne kadar uzun olursa, görev hakkında o kadar az şey hatırlarsınız. En uçta, kod kodunun tamamını tekrar tekrar tanımanız gerekir.
Joseph Tanenbaum

Sahte bir ekonomi nasıl? Amaçlanan tasarruf nedir?
Chris Pitman

Amaç, her döngüde yaptığınız şeylere "boşa harcanan" zamandan tasarruf etmektir. Örneğin, kullanıcılara dikkat etmek, inşa etmek, test etmek, serbest bırakmak. Her neyse, bu bahane. Bence bu gerçekten rahatsızlıktan kaçınmaktan kaynaklanıyor.
William Pietri

Bu nedenle, gözden geçirenlerin ve çift arkadaşların kodlayıcıya olabildiğince alçakgönüllülük ve saygı duymaları zorunludur. Kodlayıcıya kötü davranan bir sorunlu gözden geçiren ve geribildirim döngüsünün çok fazla artacağını garanti edebilirsiniz.
Jonathan Neufeld

47

Kendi anekdotum değil, bir keresinde geliştiricilere ücretsiz kahve vermeyi bırakan bir dükkan duydum, onlara kahve almak istedikleri zaman, en yakın kafeye gitmekte özgür olduklarını söyledim (on dakika gibi bir şey) her yönden yolculuk) ve bazılarını satın alın.

Neredeyse sahte ekonomi tanımı.


4
Bu oldukça özel. Dışarı çıkma ve kahve alma zamanını ortadan kaldırmak için binada sübvansiyonlu bir Starbucks yaptırmış olan bazı ticari bankalarla karşılaştırın ve karşılaştırın.
Jon Hopkins

48
Bunun otomatik olarak sahte bir ekonomi olduğu konusunda hemfikir değilim - kahve satın almak için dışarıda yürürken 10 dakikalık taze hava çalışanı oksijenlendiriyor ve konsantrasyonlarını artıracak ve (sınırlı olsa da) sosyal etkileşim özellikle kışın depresyonu azaltacaktır. Ücretsiz olmadığı için kahve alamayacak olan çalışanlar, kafein alımının azalması nedeniyle büyük olasılıkla zamanında eve gidecek, daha fazla uyuyacak ve sağlıkları daha iyi olacak.
JBRWilkinson

6
-1, 20 dakikalık bir yürüyüş, zihninizi boşaltmak ve problem üzerine taze bir bakış açısı kazanmak için mükemmel.
Malfist

23
@Malfist: Anladığım kadarıyla, sadece 20 dakikalık bir yürüyüş değildi, aynı zamanda 15 dakikalık bir yürüyüş, aslında işi kesen kahveyi almak için bekledi. Günün herhangi bir noktasında 45 dakikalık bir mola, bir buçuk saatten fazla bir süre boyunca verimliliği yok edecek. Hepsi kahve için ayda 100 dolar kazanıyor.
EricBoersma

8
20 + 15 = 35 [altı karakter daha]
Malfist

47

Tek ekranlı iş istasyonları sağlamak, çünkü ikinci bir monitör çok pahalı . Her yıl sadece bir saatlik çalışmadan tasarruf etseniz bile, ikinci bir ekran hala iyi bir yatırımdır. Madenin beni saatlerce süren iş kurtardığına 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ı:

  • üst cam anahtarlamasını azaltır
  • arka planda çalışan öğelere (posta, derleme vb.) dikkat etmenizi sağlar.
  • sana bir özgürlük hissi vermek. Bir atriyumda olmak gibi bir süpürge dolabında olmak gibi.
  • vb...

2
Bir zamanlar tam olarak bu meseleyle yüzleşiyordu. CEO'larımızdan birine, verimdeki% 5'lik bir artış göz önüne alındığında net gelirime göre yaklaşık yarım ay içinde izlemeye değer bir miktar para biriktireceğimi hesapladığımı açıkça hesaplayan bir mektup yazdım. Bu hesaplama oldukça ütülenmişti ... ama ... Sanırım hikayenin sonunu zaten biliyorsunuz :)
Raffael

39

Danışman 150 $ / saatten fazla tutarken bir danışmana verilen en ucuz donanım .

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

Şimdi 1500 dolarlık bir bilgisayarı olsa bile, bir danışman daha verimli çalışamaz mıydı? Danışmanı daha az tahriş eder mi?

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


8
Bir danışman olarak orada bulundum, yaptım ve tişörtü aldım. (Ancak 80 $ / saat var.) Ama hey, saatlik sözleşmeyi sevmemin bir nedeni bu. Maaşlı bir pozisyondan farklı olarak, eğer danışan bir müşteri zamanımı boşa harcamayı seçerse ve bunu telafi etmek için fazladan çalışmak zorunda kalırsam, bu cebimde daha fazla para demektir.
Bob Murphy,

2
Alınma ama bir danışman için 150 dolar / saat ödersem, kendi bilgisayarına sahip olsa iyi olur.
Steven Evers

8
@SnOrfus: Bu genellikle etki alanında izin verilen bilgisayarların sıkı kontrolünün bulunduğu şirket ortamında çalışmaz. Onlara donanım sağlaman gerekiyor.
HardCode

1
@HardCode - Evet, sanırım. Şimdi noktayı görebiliyorum.
Steven Evers

3
@HardCode Yeni bir projede, bizi (müteahhitleri) şirket içi şirket ağlarına eklemek yerine, bizi kendi DSL hattımıza karantinaya aldılar. 3 geliştiricinin ayda 40 ABD dolarına tahsis edilmiş DSL hattı, titiz değişimdir ve BT personelini paniğe göndermeden güncellemeleri uzaktan yürütmemizi kolaylaştırdı. Ayrıca, kodumuzu çalıştıran üretim bilgisayarı virüs kapar ve çökerse, iletişim ve kişisel dizüstü bilgisayarlarımızın güvenliğinden sorumlu olduğumuzdan otomatik olarak bizim hatamız olur. Kazan-kazan-kazan diyebilir misin?
Evan Plaice

38

İş ayları planlama günlerinden tasarruf etmenizi sağlar

(Planlamaya yeterince zaman harcamamak)


21
Yüksek okulda, laboratuvarda birkaç hafta kala bir saatlik kütüphaneden tasarruf edebileceğinize dair bir söz vardı.
David Thornley

7
Evet. Bilinmeyen kimyasalları tanımladığımız bir lisans laboratuarı dersi alırken, prof bize "kütüphanede bir saat laboratuvarda dördünüzü kurtaracak" dedi. Onu ciddiye aldım ve haftada bir saat laboratuarda vals yapmak ve hafızada amin olmayan bileşikler üzerinde amin testleri yaparak haftada on iki saat harcayan ön ilaçlardan kötü bakışlar almak çok komikti. Birkaç yıl sonra aynı laboratuarı öğrettiğimde, öğrencilere de aynı tavsiyeyi verdim ve tıpkı gerçekte aldıkları gibi.
Bob Murphy,

3
Planlamayı başaramazsan, başaramazsın

27

Şüphelendiğim en yaygın olanı yöneticilerin geliştiricilere işlerini verimli bir şekilde yapmaları için ihtiyaç duydukları araçları sağlamadığıdır.

Temel olarak, üzerinde nokta 9 Joel Testi .


2
Mesela 300 dolarlık bir kütüphane satın almak yerine bizi bir veya iki hafta boşa harcayacakları projeler yaptım - ve daha iyisi (çalıştığım yerde "kontrol geliştiricileri" değiliz). Ya da bir yazılım aracı seçin "çünkü daha iyi alternatifler bulmak yerine" bu veya bu "şirket" tarafından üretildi, o zaman hayatımızı yıllarca cehenneme çevirin.
MetalMikester

Buna kendim rastladım. PM / müşteri muhakeme, müşteriye bir şeyler satın almak için bir bütçe maddesinin olmamasıydı (temas değişiklikleri bir kaltaktı), böylece tekerleği tekrar icat etmemiz gerekecekti.
Ken Henderson,

24

Maalesef bazı yerlerde hala "sorundaki organları atma" hala kullanılabilir. Brook'un Yasası , bu dersi öğrenmek için tecrübe gerektirmesine rağmen, bunu Efsanevi İnsan-Ay'a karşı koyuyor . Genel olarak, bu benim yönetimimde, insanları eklemek ve bunun için bir bedel ödemek zorunda kalmama konusundaki yanlış ifadeye inanabileceğinden, benim durdurma gücüm dahilindeki bir şey değildir.


2
+1. Aman Allahım Evet. Bu şu anda çalıştığım büyük bir projede epik bir ölçekte gerçekleşiyor.
Bobby Tables

3
Ben (ne olursa olsun denir halt) kendi oh-so-harika proje yönetim sertifikasına sahip kime tüm proje liderleri, yöneticileri, vb bir grup ile çalışmak ve onlardan biri duymuştum Mythical Man-Ay ben tanıştırdım önce ona. Sheesh!
Bob Jarvis

2
Bir keresinde bu konuda harika bir alıntı duydum: 9 kadın bir ayda bebek yapamıyor
Richard

@ Richard, bunu bir toplantıda kullandım. bana büyük zevk verdi!
Tjaart

21

Günlük toplantılar :

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

9
Sadece toplantı yapmak uğruna toplantı yapmak ...
Gan

5
Bugünün Gündemi: Yarının toplantısı için gündemde ne olacak?
Mark C,

9
Günlük toplantılar, eğer kısalarsa gayet iyi ; Scrum tarzı 3 dakikalık stand-up toplantıları fazla zaman harcamaz, ancak herkesin başkalarının gelişmelerinden haberdar olmasını sağlar. Çok sayıda ilgisiz katılımcı ile uzun toplantılar olsa da zehirlidir.
9000

3
@Mark C - Bir şaka gibi gelebilir, ama aslında önümüzdeki günlerde yapılacak toplantının gündeminin ne olacağını planlamak için toplantılara davet edildim ...
Gavin Coates

@Gavin Coates bu gerçek ve durum ... :)
Zzz

20

Dahili olarak geliştirmek yerine raf yazılımını satın almak.

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

Bir raf dışı çözüm 50-100k £ tutarındaydı ve işletme 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 çalışıldı ve halihazırda çalışan bir geliştiriciden faydalandı.

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

(Paralel olarak başka projeler üzerinde çalışan 6 aydır işe alınmış bir geliştiricinin çalışması. Öyleyse ~ 10k. Ve bu raf dışı çözümle ilgili destek maliyetlerini içermiyor). Asıl nokta, dahili olarak geliştirilen sistemin gerçekten kullanılıyor olması! Öyleyse hesaplayamadığım, bununla ilgili ek maliyet avantajınız var.

Temel web siteleri vb. İçin neden kendi fikrinizi geliştirmekle aynı fikirdeyim. Ancak herhangi bir büyük karmaşık sistem için ve zaten ev becerileriniz varsa, bunu kendim yaparım .


26
Bahse girerim tam tersi için de birkaç örnek vardır.
Jon Hopkins,

13
Satın almak ya da geliştirmek, doğru özen göstererek doğru kişilerin ortaya çıkmasına neden olur. Bu kadar basit. Harekete geçmeden önce düşün. (+1)
DevSolo

4
@DevSolo: Açık nokta. Yap ya da satın alma kararı, “burada icat edilmemiş” ya da “XXX'ın yazılımını seviyorum” tutumundan ziyade maliyet-fayda analiziyle desteklenmelidir.
JBRWilkinson

9
Eğer yapı-satın alma hakkında bir battaniye beyanı yapacaksanız, olması gereken: şirketinizin temel yetkinliğinin bir parçası olmayan sorunlara çözüm satın almayı tercih etmek. Her zaman doğru cevap değildir, ancak makul bir varsayılan konumdur ve klişe olabileceği kadar güvenilirdir. Hazır yazılım satın almanın yanlış bir ekonomi olduğunu söylemek yararlı olsa bile, klişe bile değildir. Acınızı 'E' çözümlerine ('Enterprise' anlamına gelmesi gerekiyor, ama 'Pahalı' anlamına geliyor) hissediyorum. '). Ancak kötü seçeneklerin varlığı, orada iyi seçeneklerin olmadığı anlamına gelmez.
evadeflow 17:10

2
Meselenin satın alma olduğunu ve sonra hala daha fazla geliştirme ve kişiselleştirmeye ihtiyaç duyduğunu düşünüyorum, sisteme getirilen büyük bir sistemde küçük bir özelleştirmenin maliyeti çoğu zaman tam da istediğiniz şeyi yapan kendi küçük sisteminizi yazmaktan daha fazla olabilir. Satın aldığınız sistemin çalışmasını beklerseniz çalışın, ancak satın alma ve kişiselleştirme her iki tarafın da kötüsüne neden olabilir!
Ian

15

Açık kaynaklı alternatifler daha iyi ve ücretsiz olduğunda pahalı olmayan ürünleri satın almak.

Git kaç şirket kullanıyor? Kaç tane şirket, crappy enterprisey versiyon kontrolünü kullanıyor?


1
Bu, "en kötü sahte ekonomi" olarak kabul edilebilir mi? Ya da muhtemelen daha fazla detaylandırmanız gerekir ...?
Gan

3
En azından kaynak kontrolü örneği ile tamamen aynı fikirde olduğumdan emin değilim. Git, açık kaynaklı problemleri çözmek için özel olarak tasarlandı: Birçok geliştirici, küçük merkezi kontrol, birçok dal, vb. iş akışı, vb.
PeterAllenWebb

1
@Gan: Açık kaynak kullanmanın sahte ekonomi olduğunu düşünüyorlar, ama hepsi geride var.
hasen

3
X11 ve GNOME'a katkıda bulunuyorum ve git kullanıp gitosis sunucularını yönetmekte oldukça yetkinim. Yine de, bu yaz danışmanlık işimi git'ten kişisel ödemeli bir Performans sunucusuna dönüştürdüm çünkü git ile manuel olarak yapmanız gereken birçok şey otomatik olarak gerçekleşiyor. Kod teslim ettiğimde ve sürüm kontrolü ile uğraşmadığım için ödeme aldığım için, "crappy enterprisey sürüm kontrolü" nü kullanmak ve ödeme yapmak git kullanmaktan daha ekonomiktir.
Bob Murphy,

7
Açık kaynaklı ürünlere karşı ticari ürünler, deneyimimde gerçekten bir "duruma göre" temelidir.
MetalMikester

14

Çok basit bir şekilde "basit" dilleri kullanma

Evet, kodun bakımını yapmak için programcı bulmayı kolaylaştırır, ancak onları işe alacak en son sözcük kelimesini öğrenmeyen iyi programcıları bulmayı zorlaştırır . Evet, bireysel bit kodlarının anlaşılmasını kolaylaştırır, ancak 2x4 kadar sert olmasını sağlar ve anlaşılması gereken kod hacmini artırır. Evet, büyük bir şirket tarafından destekleniyor, ancak büyük şirketin yavaş ve bürokratik olarak yenilikler yaptığını söyledi.


4
@ burnt_hand: Ben temel olarak yönetimin dil seçimi açısından aşırı riskten kaçınmasından bahsediyorum.
dsimcha

1
+1: C'yi kullanmaya devam edin çünkü "bu becerilere sahibiz ve Python / Perl / PHP gibi bazı yeni dilleri öğreniyoruz" çok fazla risk ekliyor. Bir kereden fazla duydum. Bu, ekibin yeni bir dil öğrenmek için fazla aptal olduğu anlamına mı geliyor?
S.Lott

1
@ S.Lott İşe ajanlar olduğunu sandığını !, ama bu başka bir hikaye
burnt_hand

2
yani Java ve C # ile bağlı kalan ve python veya yakut dokunmaktan korkan şirketler, "endüstri standardı" olmadıkları için bana hatırlatıyor: paulgraham.com/avg.html
hasen

1
@ Hansen: Paul Graham denemesi kısmen bana bu yazıyı yazmam için ilham verdi. Diğer ilham kaynağım, D programlama dili için kütüphane geliştirme (standart kütüphane dahil).
dsimcha

13

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

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

Doz "Sadece çabuk yapın, sonra yeniden ateşleniriz" kararını verir.


4
Kötü yöneticilerin olduğu konusunda hemfikirim ama "proje üst yönetim kararları olmadan daha iyi sonuç verir"? Genel olarak bunlar projeye sponsor olan kişilerdir. Bu bana biraz, teknolojiyi anlamanın işi anlamaktan daha önemli olduğunu düşünen ve asıl müşterinin kim olduğunu unutan geliştiricilere benziyor.
Jon Hopkins,

2
@Jon Hopkins Üst yönetim ile müşteriyi tavsiye etmiyorum. Mesele şu ki, "kötü proje yöneticileri" hatalardan sonra hata yapanlar ve bir grup insana karşı çıkıyor. Kim karar verir "kararını çabuk yap, sonra yeniden yönlendireceğiz". Cevabı en yüksek oranla oku!
Amir Rezaei

ah, daha net. -1'imi çıkardım.
Jon Hopkins

Proje yöneticilerinin zaman ve kalitenin maliyetine bağlı kalarak rahatsız edici bir eğilim olduğunu fark ettim. Eminim sadece ben değilim. PM'ler üzerinde Maliyet / Kalite / Zaman bulunan üçgen diyagramını kullanmak ister ancak Kalite her zaman önce önyüklemeyi alır. Çok üzücü ve proje yönetimi ölçütlerini (PMI) yazılım kadar karmaşık bir şey üzerine kurumsallaştırmak ve zorlamak, işleri daha da kötüleştiriyor gibi görünüyor.
Bernard Dy,

1
@Bardard - zaman ve maliyet ölçülebilir. Kalite? Çok değil. Sad ama IMO gerçek ...
Bob Jarvis

12

Eksik kullanıcı gereksinimleri

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

İster inanın ister inanmayın bazen bu kısım eksik veya eskidir. Bunun maliyeti, son kullanıcının asla talep etmediği işlevleri yaratmasıdır.


Bence bu en üstünde olmalı!
Roopesh Shenoy,

8

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

Yaratıcılığı genel olarak ölçmek zordur ve çoğu zaman yazılım geliştirmeye gelince, ölçmeye aldırmamak bile gözlemlemek imkansızdır. Diğer taraftan, verimlilik ölçülebilir (çoğunlukla zayıf) ve gözlemlenebilir.

Sonuç olarak, daha fazla kod satırı (daha hızlı kod yazabilir | daha hızlı kod yazabilir | sorulara cevap olarak daha hızlı öğrenebilir) | kod yazmak için daha uzun sürebilir, ancak daha güvenilir bir ürün üretir | konuyu basit, anlaşılması kolay, İngilizce | sorunları yaratıcı bir şekilde çözebilecek soruları cevaplayacak kadar iyi anlayın)


6

Aşağıdakilerin tümü, kullanıldığında veya uygun şekilde kullanılmadığında kötü olabilir

  • harici vs inhouse yazılımı

  • ISO 9001'e uygunluk (ekonomi - ürün kalitesi düşerse MSS kaybı riskinin azaltılması)

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

  • geliştirme / yapım / sürüm / destek prosedürleri


ISO 9001 (sahte) bir "ekonomi" nasıldır?
Andrew Grimm

@Andrimm - uyumluluk, düşük kalite (örneğin MSS kaybı) nedeniyle ortaya çıkan riskleri azaltan belli bir kalite seviyesi sağlar, böylece potansiyel ekonomi açıktır. Küçük bölümler için bu uygun olmayabilir, çünkü ek
yükteki

1
@Andrew - benim tecrübeme göre ne istediğine bağlı. Kalitesini artırmak istiyorsanız, pahalı olma eğiliminde olduğu ve yazılım için uygun olabileceği için muhtemelen yanlış bir ekonomidir. Bir pazarlama işi olarak veya sektörünüzde beklendiği için olmasını istiyorsanız, o zaman potansiyel olarak iyi bir fikirdir.
Jon Hopkins

5
@ Grimd Grimm - ISO 9001'in garanti ettiği "tek" şey tutarlı, tekrarlanabilir bir kalitedir. "Yüksek" kaliteyi garanti etmez. Bununla birlikte, şirketin sahip olmak istediği pazar alanında ISO 9001 yeterliliği olması gerekiyorsa, o zaman gereklidir.
Vatine

1
@Vatine: ISO 9001'in sağladığı garanti, tutarlı ve tekrarlanabilir bir işlemdir. Tutarlı işlemlerin tutarlı kalite sağladığı bazı alanlarda, bu önemlidir. Yüksek kaliteyi garanti etmez, ancak bir müşteri iyi yaptığınız bir şey görürse ve ISO 9001 sertifikalı olduğunuzu bilirse, benzer kaliteden emin olurlar.
David Thornley

4

Faturalandırılamayacak kadar çok sayıda satış yöneticisi.

Birkaç yıl önce şirketimizde birkaç büyük bütçe projemiz vardı ve işe alımlar zirvede kaldı. O sırada şirketimiz çok sayıda teslimat müdürü (çoğu IT değildi!) Ve çok az sayıda kodlayıcı / test cihazı kiraladı. Programcı oranı Yöneticisi oranı tam anlamıyla 1: 2 idi. Daha sonra, bu projeleri tamamladıktan sonra, hiçbir şey yapmadan bankta oturan bu yöneticilerin çoğunun (bazıları gerçek durgunluktaydı) bir durum yaşadık. Herkesin çok az zamansız zamansız kaldığı bir değerlendirme döngüsümüz vardı (hatta çalışkan programcılarımız bile içimizde) böylece şirket kimseyi işten çıkarmak zorunda kalmadı! Neyse ki, şirket bu durumu fark etti ve bu yılın ilk çeyreğinde HAKLARI YAPTI!


3

Profillemeden önce optimizasyon (aka erken optimizasyon).

Bir çok kez, daha hızlı olduğu gerekçesiyle bakım ve okunabilirliği gereksiz yere zorlaştıran akıllı bir çözüme ulaşan birini gördüm. Doğal olarak, kod tezgahta işaretlenmedi (mikro ölçütlerde bile yok), bu nedenle hızlı bir şekilde, genel olarak tüm performansı etkilemeyen bir kod bölümü üzerinden "daha ikna edici argümana dayanarak daha hızlı" hale geliyor çok uygulama.

Dolayısıyla, bu çok yanlış bir ekonomidir ve zaman zaman tecrübeli profesyonelleri bile karıştıran bir tür sahte ekonomidir.


3

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

Çünkü çalışanlarınız, facebook oyunları oynamak için interneti kullanacak ve Stackoverflow'taki teknik soruların cevaplarını da araştıracaklardır.

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


2

Geliştiricilerinize kurumsal standart olduğu için 15 inçlik bir monitör ve düşük özellikli bir PC kullanmalarını sağlama.

Makul boyutlu monitörler, ucuz, hızlı kurulum ve programlayıcıları daha üretken kılmanın yanı sıra programcılarınızın onları umursadığını düşünmelerini sağlar.


2

Hiyerarşik olarak düzenlenmiş, modern yönetimin neyle ilgili olduğunu düşündüklerini uygulamaya çalışan çok fazla sayıda İşletme Lisansı (veya benzeri): İnsanları "KPI" lar, "SLA" lar ve "raporlar" gerektirmeyen (veya, Elbette, onları oluşturmak için altyapıya dikkat etmek), böylece programcılar günlerini güzel EXCEL sayfalarını doldurarak boşa harcarlar, Q4 raporları ve ne olmasın ve harika bir yeni yönetim aracından kopyalayıp başka birine yapıştırın (kural bu gibi görünüyor) bu araçlar hiçbir zaman bütünleştirilemez veya birbiriyle bütünleştirilemez) ve raporların ve rakamların sunulduğu toplantılara katılırlar (ve herkes bunu veya bu KPI'yı dolduramadığı için suçlu hissediyor).

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.