Özensiz şirket kültürünü nasıl değiştirebilirim? [kapalı]


28

Bazen çözülmesi gereken bir sorunum olduğunda, çözmenin en kolay yolunun kişisel bir araç olarak küçük bir program yazmak olduğunu buluyorum. Kullanabileceğim tek kişi benim olduğum için süper kullanışlı ya da süper sağlam kılmıyorum ve onu hassaslaştırıp iyice test edecek vaktim yok.

Sonra bir iş arkadaşı programı görür ve ister, çünkü aynı problemle karşılaştı ve araç yardımcı olabilir. Ona "Güzel değil ama işi halledecek" ifadesini veriyorum ve bırakmasına izin verdim.

Bildiğim bir sonraki şey, üstüm beni arayarak, yazılımı müşterinin bilgisayarında çalışmasını sağlamaya çalıştığını ama X hata mesajı gösterdiğini söylüyor. O NE LAN?? Bu yazılım serbest bırakılmaya hazır değil, serbest bırakılmaya hazır olması gerektiği de söylenmedi. Ancak bazı nedenlerden dolayı, benim üstün düşüncem yeterince iyi olduğunu ve orijinal geliştiriciye söylemeden serbest bıraktı.

Şimdi, bu özel sorunu bir ile düzeltmek kolaydır MessageBox.Show("DO NOT GIVE TO CLIENTS!");. Ancak sorun daha derin bir sorunun göstergesidir: şirket kültürümüz özensiz. Özensiz yazılım tamam ve özensiz işlemler tamam. Gelecek hakkında endişelenmeyin - hemen çalışmasını sağlamak için yeterince çaba gösterin, ikili dosyaları bir .zip dosyasına koyun ve gönderin. Hükümet işleri için yeterince iyi.

Bu, 10 tam zamanlı çalışanı olan küçük bir şirket, büyüyor ve bir süredir buralarda. Beni yanlış anlama; Burada çalışmayı seviyorum, şirketi de seviyorum. Bana koşmamı söyleme; Şirketi daha iyi yapmanın bir parçası olmak istiyorum. Bu tür bir kültüre iyi bir değişiklik getirmeye nasıl başlıyorsunuz?


8
Eski Rus "Bir balık kafasından kokuyor!" Dedi!

3
Sürecin uygulanacağını garanti edeceğiniz bir kez büyük bir kapanıştan sonra. Serinin bir kısmı, müşterilerin bir daha olmamasını sağlamak için süreçlerin gözden geçirilmesini talep etmeleri olacaktır. Yönetim bunun gibi şeyleri öğrendiğinde, yakında yeni ve parlak bir süreç bulacaksınız. Belki bir horoz yaratabilirsin. ŞAKA! Lütfen ciddiye almayın :)
Paul T Davies

Bana bunun bir uygulama yerine bir test (ünite veya entegrasyon) olması gerektiği gibi geliyor ....
devlife

2
Seni kırmak istemiyorum ama özensiz kültüre kendin mi katkıda bulunuyorsun? Hem müşteriler hem de ekip üyeleri tarafından yaşanan bir sorundan bahsediyorsanız, belki de yalnızca sizin sahip olduğunuz manşetli bir araç en az özensiz bir çözüm değildir.
Dan Olson,

@DanOlson Kesinlikle haklısın, ama o zaman müşterilerin buna ihtiyacı olacağını bilmiyordum. Olsaydı, tam gelişmiş bir yazılım projesine dönüştürürdüm.
Phil

Yanıtlar:


20

Değişmenin tek yolu, herkesin özensiz bir kültürün olumsuz taraflarını görmesini sağlamak ve belki de daha önemlisi, bunu düzeltmek için yönetim satın almalarını sağlamaktır. Gerçekte gerçekte, bu olmaz ve onu değiştiremezsiniz. Bu, duymayı beklediğiniz cevap olmayabilir, ancak beş yıl ya da özensiz kültürünü değiştirmek için birkaç işte çalışıp başarısız olmaktan sonra, bazı otoriteyle, genellikle çaba sarf etmeye değmeyeceğini söyleyebilirim.

İlk adım, özensiz kültürü bilen veya bilen başka biri olup olmadığını bulmak; Sorun yaşayan tek kişi sizseniz, çabalarınız boşunadır.


Yönetimi satın almak için +1. Bence daha yüksek otoriteler devam etmeden ve yapılacak bir şey üzerinde baskı yapmadan çoğu insanın şu anda yapmak zorunda oldukları şeyi değiştirmeye ve buna bağlı kalmaya istekli olmayacağını buluyorum.
dreza

@Dreza ile aynı sebepten dolayı +1. Fakat yönetimde iyi şanslar.
talonx

8

İş arkadaşınızla ve patronunuzla oturmanız ve sahip olduğunuzun prototip olduğunu ve müşterilerin kullanmaya hazır olmadığını açıklamanız gerekebilir. Müşterilerin kullanıma hazır olmasını istiyorlarsa, bu değişiklikleri yeterli zaman vererek yapabilirsiniz, ancak "hızlı ve kirli" şeyleri almayın ve müşterilere iletmeyin. Sırf bir şeyin işe yaraması, öğrenilecek ders olmayı iyi yapmaz. Siz bir feragatname verirken, aksi takdirde olabileceği gibi, saygı gösterdiği söylenecek bir şey var.


5
OP olarak bunun neden reddedildiğine ilişkin bir açıklama görmek istiyorum.
Phil

4
Hızlı ve kirli eşyaların binadan asla ayrılmaması gereken hayati bilgileri tutabileceğinden bahsetmiyorum bile (örneğin test için kodlanmış şifreler)
cırcır ucube

3

Aptal tamir edemezsin. Patronunuz sizin gibi şeyler yapıyorsa, onun olası olmadığını açıklarsanız, bunu değiştirebileceksiniz. Özellikle sahibi değilse - unutmayın, diğer taraftan gelen baskısı vardır ve bu yön maaş çekini işaret eder. Diğer iş arkadaşlarınızla aynı. Yapabileceğiniz en iyi ilk işlem, kendinizi koruma alışkanlığı haline gelmektir. Tanımladığınız mesaj kutusu gibi teknikleri kullanın. Tüm e-postaları sakla. Yazılı olarak mümkün olduğunca çok alın. Bu şekilde, aptallık vurduğunda kabadayıları almazsın. Ardından, terfi ettirilirken, gözetiminizdekilerle istediğiniz değişiklikleri yapın.


Katıldığım kadarıyla, sonuçta bu üzücü bir strateji. Kim böyle bir ortamda çalışmak ister? Bu kültür, uzun vadede sessizce yaratıcılığı öldürür. Olabilecek en iyi olmaya, en koruyucu olmaya çalışın . Kültür artık uymuyorsa, devam edin.
JensG

2

Geçen gün bir meslektaşım, laboratuardaki bir mühendisin bir widget'a tek bir komut vermesini ve komutla eşleşen bir değişkeni değiştirmesini sağlayan basit bir test aracının hikayesini anlattı. Bu şimdi 9 yıl önce yazılmış ve en son bildiği gibi, bugün hala kullanılıyor. Laboratuarda bir şeyin işe yaradığını ispatlamak için birkaç saat içinde minimal testlerle yazılmış bir araç, tüm mühendislik laboratuarı test aracının temelini oluşturuyordu. Bir kez kod yazdığınızda var. İşe yarar bir şey yaparsa ve başkaları tarafından görülürse, insanlar onu isteyecektir. Ne işe yararsa, insanlar X yapmasını isteyeceklerdir. Bildiğiniz bir sonraki şey, basit aracınız önemli bir bileşendir.

Sanırım ilk sorum, kod geliştiren veya aracı kullanan herkesin bir prototip olduğunu veya bir üretim sistemi olmadığını anlaması ve bunun neden böyle olduğunu söylediğinden emin olmak için yazılım geliştiricisinde. Sizin yaptığınız gibi görünüyor, ancak iş arkadaşlarınız bu sorumluluğu yerine getirmeyi ihmal ettiler. Bunu ele almak için, bunun üretim kodu olmadığını ve sadece çalışmanızı kolaylaştırmak için yazıldığını yineleyerek, onlarla konuşmanızı tavsiye ederim. Yararlı buluyorlarsa, belki de araç üzerinde çalışmayı teklif edin veya araç üzerinde çalışan diğer kişileri geliştirmek ve üretime daha uygun hale getirmek için destekleyin.

Örgütsel süreç veya kültür değiştiğinde, biraz zaman almasını bekliyoruz. Bir örnek belirleyerek başlayın. Pragmatik Programcısını okumadıysanız , bunu yapın. Zanaatınıza Dikkat Edin, Değişimde Katalizör Olun (insanlara daha iyi yollar gösterin), Bozuk Pencerelerle Yaşamayın, Sorunu Suçlayın. Bu ipuçlarıyla ele alınan bazı sorunları tanıyor gibi görünüyorsunuz, bu yüzden çalışmaya ve meslektaşlarınıza örnek olmaya çalışın.


Sana tamamen katılıyorum. Benim fikrim, kod yazarken, olabildiğince iyi yazmak, genellikle hatalı kod yazmak için aynı zaman gerektirir. Kalite, projenizin ortasında elde edemediğiniz bir şeydir.
Andrea Girardi

1

Karar vericiler artık kötü kodun sonuçlarını ortadan kaldıramazlar ve sorunu çözme yollarını ödemek / değiştirmek için istekli olurlar.

Bunlar küçük ve büyüyen şirketler için zor kararlardır. Tüm çabalarını nereye koyacaklarını bilmiyorlar. İş kuralları ve bazen tüm iş kolları göründüğünde, geceleyin değiştiğinde ve kaybolduğunda risk oluşturma kodu çok güçlüdür.

İyi kod yazmaya çalışın. Sonuçlarını herkese bildirdiğinizden emin olun, böylece bilinçli kararlar alabilirler. Hatalı kod üretime girerse, özellikle işletmenin bu bölümü kritik hale gelirse iyileştirmeyi önerebilir ve mümkünse üzerine dikkat edin.

İnsanları asgari olarak geçerli bir kod olarak gördüğünüz şeyi bekletmek mevcut beklentilerinin ötesinde gözüküyor.


"İnsanları, minimum düzeyde geçerli kod olarak gördüklerinizi bekletmek, şu anki beklentilerinin ötesinde görünüyor." Acı gerçek.
Phil

@Phil - ve çoğu sadece ayrıntılara girmek istemiyor. Bazen onları gelecekte kolayca değişiklik yapma, güvenlik veya daha fazla kullanıcıyla başa çıkma yeteneği ile teşvik edebilirsiniz.
JeffO,

1

Buradaki sorunun bir kısmını, ilk etapta hızlı ve kirli bir araç yazdığınızı belirtmek isterim. Verilmiş, iyi sebepler vardı. Verilmiş, iş yaptı. Ancak , bir sorunu çözen herhangi bir şeyin "yeterince iyi" bir çözümün tuzağına düşeceğini, eğer onu dağıtmaya başlarsanız buldum .

Eğer arkadaşınız isterse, kibarca ona tamamen işlevsel olmadığını söyler ve anahtarları sizde tutarsınız. Zaman zaman onun için çalıştırabilirsin. Veya, ilave işlevsellikte, tercihen projenin başlangıcından itibaren ekleyin.

Bu noktada hızlı ve kirli aletlerimin tümü, yoğun olarak test edilmiş bir iskelet dosyasından geliyor. Hızla ilerlememe izin veriyor, bana bir çalışma noktası sunuyor ve gerekli tüm keskin kenarları eklemeyi unutmamı sağlıyor. Getopts kütüphanesi ve onun tuhaflıkları hakkında endişelenmeme gerek yok. Python kullanırken hafıza yönetimi ile ilgili detayları hatırlamama gerek yok. Programı, basit ve basit bir görev yapacak şekilde oluşturun . Bu, şekli bükülmeye çalışıp çalışmadıklarını test etmeyi kolaylaştırır.

Son olarak, sonlu durumlu makine mimarisinden yararlanın. Olası tüm durumlara girmeyi biliyorsanız, ne olursa olsun, kullanıcının hiçbir zaman iz atlayamayacağından emin olmak çok kolaydır. Bu paradigmayı takip etmek için yazdığım bir programım var. Bayt byte ile okuduğu rasgele giriş dosyalarını kabul eder. Müşteri bir ikili çalıştırılabilir dosyayı okumasını söylese bile, herhangi bir problemi olmazdı. Aradığı hiçbir şeyi bulamadığından, iç tamponu dolduracak. Bu, incelikle temizlemesine, kapanmasına ve kullanıcıya bakmam için bana ihtiyaçları olduğunu bildirmesine neden olur.


0

Eh, cevap programlama ile ilgisi yoktur, ancak bu yazılımın kalitesini kolayca yargılamanın iyi olması dışında.

Kültürü değiştiremeyebilirsiniz, çünkü insanlar özensiz olmamak için gerçek bir nedene sahip olmayabilirler , çünkü yazılım kalitesinden etkilenen insanların süreçle ilgisi yoktur. Örneğin, müşterilerinizden işlerini yapmak için yazılım satın almaları ve kullanmaları gerekebilir, ancak bu yazılımın ne kadar etkili olacağına dair kişisel riskleri çok az olabilir, çünkü kişisel olarak sorunları için suçlanmayacaklar veya erdemleri için ödüllendirilmeyeceklerdir (büyük ölçüde) çünkü kimse rakip yazılımların daha iyi olup olmayacağını bilmiyor. Bu nedenle, özellik isteklerini çok uzun sürmeden yerine getirmeniz gerekebilir , ancak buggy için endişelenmenize gerek kalmayabilir. Sonuç olarak, sonuçsuz olarak oldukça özensiz olabilirsiniz (sizi etkileyen herhangi bir karar veren herhangi birisine).

Böyle bir durumun böyle olup olmadığını bilmiyorum, ama eğer öyleyse kültürü değiştirmekte zorlanıyor olabilirsiniz, çünkü değişmeye çalıştığınız insanlar bunu yaparlarsa aslında daha iyi olmazlar.

Eğer daha iyi olacaklarsa, neden onları olacaklarına ikna edebileceğinizden daha kolay zaman geçirebilirsiniz. Yapar sloppiness Tamam onlar muhtemelen olmaz siyasi durum bir çeşit olmasa Maalesef olmak ilk etapta özensiz, bu yüzden zor olması olasıdır. "Bir gün bir şeyi doğru yapmak isteyen bir işin olabilir" argümanını her zaman deneyebilirsin (belki de daha diplomatik olarak yazılmış ...)

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.