Yazılım endüstrisinde en kötü sahte ekonomiler hangileridir?
Yazılım endüstrisinde en kötü sahte ekonomiler hangileridir?
Yanıtlar:
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.
1 yerine 2 ucuz geliştirici kiralamak gerçekten harika. (aynı fiyat için)
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.
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.
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.
Ü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.
Ç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ı.
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 .
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ı.
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ı:
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.
İş ayları planlama günlerinden tasarruf etmenizi sağlar
(Planlamaya yeterince zaman harcamamak)
Şü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 .
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.
Günlük toplantılar :
(meeting duration in hours) x (Y team members) x (average salary per hour) = ...
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 .
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?
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.
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.
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.
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)
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
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!
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.
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"
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).