Esnek olmayan programlayıcılarla başa çıkmak


17

Bazen bir projede uzun süre çalışan programcılar esnek değildir ve onlarla mantık yürütmek zorlaşır. Onları ikna etmeyi başarsak bile, önerilerimizi uygulama olasılığı düşük olabilir.

Örneğin, son zamanlarda derleme ve yayınlama sürecinin çok karmaşık olduğu ve gereksiz engelleri olan bir projeye katıldım.

Sadece hata yönetimi ve sürüm kontrol araçlarını entegre ederek (her ikisi de IBM-Rational araçlarıdır, böylece entegrasyon çok kolay bir kerelik bir çaba olabilir) bazı geliştirme yüklerinden (birkaç elektronik tabloyu doldurmak gibi) kurtulmamızı önerdim. Ayrıca, Maven & Ant (proje Java ve bazı COTS ürünlerini içerir) gibi araçlar kullanırsak, manuel hataları ve müdahaleyi azaltması gereken derleme ve yayın basitleştirilebilir.

Başkalarını ikna etmeyi başardım ve kavram kanıtı geliştirmek için çaba göstermeye hazırım. Ancak 'Kıdemli' geliştirici istekli değil, çünkü mevcut süreç onu daha değerli kılıyor.

Takımda sürtünme gelişmeden bu durumu nasıl ele alırız?


2
Sorunuzu bazı spesifik örneklerle genişletmeniz gerektiğini düşünüyorum. Aksi takdirde, "onları bir sopayla yendi", "çık", "fikirlerinizi iletmek için bir teknik inceleme, grafik ve powerpoint sunumu yazın" beklediğiniz tek cevap
türüdür

"gemide öneri almaya kararlı olacaklar" - gemide öneri almaya karşı mı demek istediniz ??
ozz

Açıklık için teşekkürler, bu soru çok daha değerli ve yararlı hale getiriyor, IMO. 1!
Dean Harding

2
Sık sık yeterince uzun programlamanın sonunda bir akıl hastanesine yerleştirileceğini düşündüm.
Marcie

5
@ Marci-Her zaman yazılım geliştirme alanının nüfusun bir kısmının ruh sağlığı hastanelerinden kaçınmasına izin verdiğine inanıyordum. Kurumsallaştırılmamaları değil, bazı geliştirme ekipleri içinde saklanabilmeleri değil.
Jim Rush

Yanıtlar:


21

Siz yeni ekip üyesisiniz ve ekibin nasıl çalıştığının bazı temel yönlerini değiştirmek istiyorsunuz. İyi şanslar, geleceğinizde mutlu bir takım hissediyorum.

Tamam, bazı pratik öneriler:

Kendinizi takıma kanıtlayın. Bunu teknik ve güvenilirlik perspektifinden yapmanız gerekir. İnsanların sizi takip etmesini istiyorsanız, onlara bunu yapmaları için bir sebep vermelisiniz.

Metodolojinin tarihini kavrar. Neden var? O zaman hangi sorunu çözüyordu? Çözümünüzün ekip için gerçekten bir fayda olduğundan emin olun. Belki değişiklikleriniz daha iyidir, ancak ekibin sahip olduğu bir sorunu çözmeyebilirler.

Birlikte gösterimlerinizi tanıyın. Dirençlerinin nedenlerini öğrenin ve bu öğeler üzerinde çalışın.

Bir değişim aracısı olmak istiyorsanız, başarılı bir değişim aracısı olmayı öğrenin . Burada bulacağınızdan çok daha fazla bilgi sağlamak için düzinelerce kitap ve diğer kaynaklar.

Ve evet, size şans diliyorum. Ama lütfen, mutluluğunuz ve ekibinizin mutluluğu için, bu konuda akıllı olun. Doğru yolu oluşturmak için enerjiye yatırım yapmadan bir süreç değişikliği yapma arzunuz, faydadan çok daha fazla zarar verebilir.


+1 metodolojinin tarihini anlamak için. Birçok durumda mantıksız görünen ve rasyonel temeli olan şeyler vardır. Çoğu zaman sorun, sürecin yanlış olması değil, bunun ve arkasındaki nedenlerin kötü bir şekilde açıklanmasıdır, çünkü sonuç olarak yeni gelen bir kişiye açıklanması gereken şeyi elde edemeyen mevcut ekibin ikinci doğasıdır. .
Jon Hopkins

1
@Jon Hopkins: Alternatif olarak, süreç yanlış, ama gerçek sorunlara kötü bir şekilde yanıt verdi. Her iki durumda da, yeni gelenin önerileri, gerçek sorunları anlamadığı tamamen meşru bir gerekçeyle reddedilecektir ve yeni gelen kişinin tek umudu, tarihi ve mevcut sürece yol açan sorunları anlamaktır.
David Thornley

@David - Bu kesinlikle mümkün ama bizim amacımız bence aynı - varsaymayın, detayı ve tarihi anlamaya çalışmayın ve sonra çağrıyı yapın.
Jon Hopkins

2
Henüz bir ekibin teknik cehalet dışında herhangi bir nedenle "yanlış yaptığını" görmedim. Bu, "yeni adamın" herkesten daha iyi bildiği ancak bu "kredi" sorunu nedeniyle dinlenmeyeceği başka bir durum gibi görünüyor, bu yüzden herkes farkında olmadan yanlış şeyler yapmaya devam edecek.
Wayne Molina

@Wayne: Sadece teknik cehalet olsaydı, sadece bilgi eksikliklerini göstermek yeterli olurdu. Durum böyle olmadığı için, cehaletten çok daha fazlasıdır. Birçok insan, doğası ve durumuna göre değişime karşı dirençlidir. Sebeplere gelince, çok. "İnsanlar neden değişime dirençlidir?" Araması, çok sayıda faydalı sonuç verecektir.
Jim Rush

7

Bahsettiğiniz pozisyondaydım. Yıllarca Java geliştiricisi olarak geçirdim ve sonunda hepsinin Smalltalk kullandığı bir işe girdim. İlk tepkim "OMG, bu antika teknolojiyi kullanıyorlar" ve Java çözümleriyle Smalltalk'a özgü sorunları çözmeye çalıştım. Sadece diğer geliştiricilere ne gibi bir baş ağrısı olmalı hayal edebiliyorum ve Java'dan tutkuyla nefret ediyorlardı.

Smalltalk dilinin asısını alıp beğenmeyi öğrendiğim birkaç ay boyunca iki üst düzey geliştirici tarafından bana danışmanlık yapılırken orta ölçekli bir proje bana verilinceye kadar değildi. Bu İşten ayrıldığımdan ve Java geliştirme çalışmalarına geri döndüğümden beri, bir projeyi alıp şirketin kullandığı her dili uygulayabildiğim için çok daha esnek hissediyorum. Bu insanları anlamalarını sağlayacak en önemli şey dilin ortamdan başka bir şey olmadığıdır. Kendime Lisp ve Erlang'ı öğretmek için de zaman ayırdım, ancak bu herkesle işe yaramayabilir.

Bir ekip oluşturma stratejisi olarak, sorun yaşadığınız kişilere Yedi Haftada Yedi Dil öneririm .

Sanırım bu insanlar daha esnek olmak için ne kadar zaman harcamak istiyorlar. Çoğu Üniversitedeki sorun (en azından gördüklerim), belirli bir dile karşı önyargılı olmaları ve öğrencilerinin de belirttiğiniz gibi 'kurumsallaşmış' olmalarıdır. Stratejinizin bir kısmının ekibinizde esneklik geliştirmek olduğunu düşünüyorum. Bu, Etki Alanına Dayalı Geliştirme ile tamamlanabilir .

(1) Bir alan modelleme (Basit bir alan) (2) İki farklı dil (yani Java ve Lisp) kullanarak uygulama

Yine, bu, yukarıdakileri yapmaya motive oldukları ve bunu başarmak için kendi zamanlarını yatırmaya istekli oldukları varsayımı altındadır.

Bu yardımcı olur umarım


1
Lütfen kitabın başlığını "bu kitap" yerine bağlantıda kullanın. Okuyucuların tıklayıp tıklamamaya karar vermeleri için daha az bir adım. Özellikle daha önce okuyanlar.
Huperniketes

Huperniketes'in kafaları için teşekkürler, bunu yazdığımda oldukça heyecanlandım ve yazdıklarımın aklı kontrolüne geri dönmedim.
Issız Gezegen

4

Burada tamamen yanlış bir yolda olabilirim, ama bana göre aynı problemler daha geniş bir ölçekte yaygın ve insan muhafazakarlığıyla ilgili. İnsanlar, çok fazla sayıda nedenden ötürü, iyi bilinen davranış kalıplarını değiştirmeyi reddediyorlar.

Rus bir geliştirici olarak (ve dolayısıyla daha az rasyonel bir Batı pragmatizmi görüyorum), pratik akıl yürütmenin başkasının ayakkabılarında yürümeye çalışmaktan çok daha az ikna edici olduğunu düşünüyorum.

Başka bir deyişle, kıdemli programcının mevcut çalışma planıyla ilgili kendi konumuna değer verdiğinden bahsettiniz. Belki de onu yeni şeyler yapmanın yerini daha da değerli kılacağına ikna etmelisiniz ve bunu yapmanın birçok yolu var. Örneğin, fikrinizi gerçekten telaffuz etmesini ve bunun için kredi almasını sağlayabilir veya süreçte münhasıran kontrol edebileceği belirli bir nokta bulabilirsiniz.

Fikrinizin belirgin avantajları dışında esnek olmanın, burada büyünüz olabileceğine inanıyorum.


Kredinin vadesi geldiğinde kredi verilmelidir. Kıdemli adam hala sistemin uygulanmasına öncülük edebilir, ancak yine de öneriyi veren ve uygulamanın en ayrıntılarını çalıştıran kişiye kredi vermelidir. Sadece adil.
Htbaa

Her zaman dikkate alınması gereken etik budur. Ancak çok stratejik bir kurallar dizisi olan etik, acil sonuçlar için mutlaka iyi bir oyun değildir.
etranger

2
@Htbaa - aslında işi yapmak muhtemelen herkesin gerekli krediyi almasını sağlamaktan daha önemlidir. Kabul edelim: hayat adil değil.
Stephen C

Sanırım haklısın Stephen C
Htbaa

3

Başkalarını ikna etmeyi başardım ve kavram kanıtı geliştirmek için çaba göstermeye hazırım. Ancak 'Kıdemli' geliştirici istekli değil, çünkü mevcut süreç onu daha değerli kılıyor.

Üst düzey geliştiricinin karakterine (kötü hamle) sapma yapmak yerine, belki de neden hevessiz olduğunu anlamaya çalışmalısınız:

  • Belki de fikirlerini satan insanlardan biri olduğunu düşünüyor. Belki onlara teslim edebileceğinden şüphe ediyor.

  • Belki de problemleri abarttığınızı düşünüyor. (O kadar kötü olamazlar ...)

  • Belki de teknik riskleri tam olarak anlamadığınızı düşünüyor.

  • Belki şu anda yapılacak daha önemli şeyler olduğunu düşünüyor (biliyor).

  • Belki de onu yanlış şekilde ovuyorsun.

Benim tavsiyem, kendinizi ona kanıtlamak olacaktır. Sanki size verilen projeleri yerine getirmek gibi. Yeteneğinize ve yargınıza daha fazla güvendiğinde, bu sorunu tekrar ziyaret edin.

Şu anda "süreç iyileştirme" çizgisini takip etmek istiyorsanız, tavsiyem bunu küçük adımlarla yavaşça yapmak olacaktır.

Akılda Ayı oradaki şüphesiz bir risk senin önerilen değişikliklerin grubun üretkenliğine kitlesel etkisi ve mevcut yazılım korumak için bile onların yeteneği. Böyle bir durumda, sorumlu kişinin üst yönetimden en fazla flak alması muhtemeldir.


2

Özellikle neyle ilgili kurumsallaştınız? Teknolojiler, kalıplar, uygulamalar?

Eğer uzun süredir organizasyonda / projede bulunmuşlarsa, üst düzey geliştiriciler olmaları ve bu çağrıları yapma sorumluluğuna / deneyimlerine sahip olmaları ve sadece 5 maymun deneyi gibi şartlanmak yerine projede deneyimleri olma şansları vardır .

Onları ikna etmenin çözümü konunun ne olduğuna bağlı olacaktır, çünkü eğer bir desen / teknoloji zaten seçilmişse, iyi bir neden olacaktır ve işi atmayı ve yeniden tanımayı vb. Haklı çıkarmak için daha iyi bir neden olması gerekecektir. Eğer öyleyse, çözüm, en iyi çözüme demokratik olarak karar vermek için bir toplantı düzenleyen bir mimar / kıdemli geliştirici içindir.


1

Ekibin gerçekten gereksiz yol blokları varsa, muhtemelen onları düzeltmelerine yardımcı olmanızdan çok mutlu olacaklar. Bununla birlikte, orada olmalarının çok iyi bir nedeni olabileceğini ve uzun bir süre herkese sattıktan sonra "ah, iyi, benim fantastik fikrim işe yaramıyor" demek zorunda kalırsanız aptal görüneceğinizi unutmayın.

Önce araştırın, sonra ileri gelin. Ayrıca, nasıl iyileştirildiğini nasıl göstereceğinizi GÖSTERMENİN el yıkamadan çok daha iyi olduğunu unutmayın.


1

"Esnek Olmayan Programcı" olan siz olduğunuzu söylemeye meyilliyim. Projede yenisiniz, ancak fikrinizin en iyisi olduğu ve projeye liderlik eden, daha uzun süren ve sistemi içeride ve dışarıda bilen adamın sadece rocker'ının dışında olduğu konusunda ısrar ediyorsunuz.

Oldukça tecrübeli ve oldukça saygılıyım ve sık sık mücadele eden projeleri bir kaplan ekibi üyesi olarak düzeltmek için görevlendirildim. O zaman bile, ekibin, projenin ve uygulamalarının nasıl, neden, dinamiklerini öğrenmek ve çılgınca girmemek ve onlara bunun ve bunun nasıl yanlış olduğunu söylemek için zaman ayırıyorum. Aslında, ne yaptıklarının yanlış olduğunu asla söylemiyorum çünkü bu istediğim yanıtı almıyor ve genellikle yaptıkları yanlış değil, sadece bazı ayarlamalar gerekiyor.

Her proje benzersizdir. Her takım benzersizdir. Çözümünüz sizin ve geliştiriciler için daha iyi olabilir, ancak lider, müşteri, işletme veya proje için daha iyi olmayabilir, ancak daha iyi bilmek için projeyle ilgili deneyiminiz olmadığından, bilemezsiniz. bunun cevabı.


0

İnsanlara istediğiniz şeyi yapmalarını sağlamanın en iyi yolu, her şeyin onların fikri olduğunu düşünmelerini sağlamaktır. Yani doğrudan önerilerde bulunmak yerine, seçenekleri sunun. Fikirleriniz alternatiflerden açıkça daha iyiyse, kıdemli geliştiriciye onları seçme ve kendisinin yapma şansı verin. Kredi alma konusunda endişelenme. Önemli olan insanlar neler olduğunu bilecek.

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.