Liderlik, makine yapılandırması ve yeni geliştirici yönlendirmesi için standart süreçte değer görmüyor


9

Yaklaşık 3 ay önce lider web geliştiricimiz ve tasarımcımız (aynı kişi) şirketten ayrıldı, daha yeşil otlaklar ayrılma sebebiydi. Onlar için iyi diyorum. Benim sorunum, departmanının tamamen belgelenmemiş olması. Her şey yolunda gittikten sonra zor geçti, hem yeni projeler sunmak için kullandığımız teorik bilgiler hem de ayrılması sonucunda kaybettiğimiz mevcut ürünlerimizin teknik / uygulama bilgisi var. Normal rolüm ürün yöneticisi olarak (ürünlerimiz için) ve proje tabanlı danışmanlık çalışmalarımızdan bazıları için iş analisti olarak. Geçen yıl kendime kod yazmayı öğrettim ve ilerlemeye devam etmek için daha kolay özellik isteklerinden bazılarını uygulama ve bilet sistemimize gönderilen beyinsiz hataların bazılarını düzeltme umuduyla dizüstü bilgisayarımı bir geliştirme makinesi olarak kurma görevini üstlendim. Ancak, kimse yeni bir Windows makinesini nasıl alacağını ve üretim uygulamalarımızla sorunsuz çalışacak şekilde nasıl yapılandıracağını bilmiyor.

Hâlâ ayrılan geliştiriciyle temas halinde olan patronumdan yeni bir geliştirici, yazılım kurulumu, gerekli paketler, yapım uygulama sunucularına dağıtma işlemi vb. bu var ve bilgisayarımı fonksiyonel bir geliştirme makinesi olarak çalıştırmaya çalışırken tekerleklerimi döndürüyorum. Fakat böyle bir sürecin var olması gereğini anlamıyor gibi görünüyor. Görünüşe göre, kalanı değiştiren yeni geliştirici, ortamımız için önceden yapılandırılmış bir makine kullanıyor, bu nedenle başka bir geliştirici eklersek yeni geliştirici bile yeni bir makine kuramadı.

Sorum iki bölümden oluşuyor:

  1. Yeni bir bilgisayarı geliştirme ekosistemimizin bir parçası olacak şekilde yapılandırmak ve yapılandırmak için bir süreç olduğunu varsaymakta yanılıyor muyum?

  2. Ben hevesli bir bebek miyim ve süreci çözmeli ve kendi başıma bir belge oluşturmalı mıyım?


1
Bunların çoğu kullanılan teknolojiye ve diğer ayrıntılara bağlıdır. Bazı teknoloji yığınlarında, birkaç yapılandırma dosyasına yüklenmesi gereken en önemli bağımlılıkları bulabilirsiniz, diğer durumlarda bunun belgelenmesi gerekir. Şimdi sistemle çalışan geliştiricinin hangi bilgilerin kesinlikle çok önemli olduğunu en iyi bilmesi gerektiğini düşünüyorum.
thorsten müller

2
Ve bu hayatta bir ders olmalı. İşleri kurmak işin yarısıdır, ayrıldığınızda her şeyin çökmediğinden emin olmak diğer yarısıdır.
MrFox

Beni hayal kırıklığına uğratmaya başladı, proaktif olmaya çalışıyorum, ancak eksik olduğum bazı yapılandırma sorunları var. Visual Source Safe, IIS 7, ASP.NET uygulama kodu.
OpenCoderX

1
Görsel Kaynak Güvenli ha? Eğer durum buysa, önceki adamın yaptığı her şey korkunç derecede parlak değildi. Sonra tekrar, en azından kaynak kontrolü var.
Wyatt Barnett

1
Ben bir GIT çok ölüyüm. Sitenin yerel olarak çalışan bir sürümünü aldığımda, değişiklikleri izlemek için GIT kullanacağım ve daha sonra yalnızca GIT ana şubemi VSS'ye iade edeceğim. Kaynak kontrolü içinde kaynak kontrolü.
OpenCoderX

Yanıtlar:


5

Her şeyden önce, bir geliştiricinin çalışma ortamını ayarlaması tuhaftır. Bu görev genellikle sistem yöneticileri içindir. Yani, bunun hiç yapmanız gereken bir şey olmadığını göz önünde bulundurarak, başka birisinin bunu sizin için yapmasını beklemeye hakkınız var.

Çoğu şirkette (hepsi olmasa da) bir bildirim dönemi vardır. Genellikle bir haftadan bir aya kadar değişir. Ama yine de bu zaman şirkete bazı belgeler yapmak, koda yorum eklemek, mimariyi belgelemek vb. Yardımcı olmak için ayrılan kişi için yeterlidir. bir dahaki sefere biri ayrılır.

Yeni bir ortam oluşturmak için bir süreç olmasını beklemek kesinlikle haklısınız. Aslında, şirketiniz büyürse ve daha fazla geliştiriciniz varsa, aynı sorunla karşılaşırsınız _ Bu, patronunuzu ikna etmek için ağır bir tartışma olabilir. Bu argümanı, yönetimi bu tür görevler için bir sistem yöneticisi işe almaya ikna etmek için bile kullanabilirsiniz (sorunla karşılaştığınızdan beri bir tane olmadığınızı varsayalım). Geliştirme ortamını ayarlamanın yanı sıra, yeni bir makineniz varsa, yerel ağa vb.


Bir sistem yöneticimiz var ve konumları makineyi temel ağ erişimi, kullanıcı hakları (Active Directory) ile yapılandırmaları ve herhangi bir yazılım yüklemeleri. Örneğin, Visual Source Safe ve Visual Studio'yu kurmak için ağ yöneticisi ile çalışmak zorunda kaldım, ancak kurulumdan sonra bilgileri biten yer burası. Bu konfigürasyonları yapmak hiç düşünmemişti.
OpenCoderX

1
Belki de çok şımarık _ _sys admin bile proje yayınlarken sql-sorgu yürütmek (sql bilmeden))). Bu durumda kesinlikle belgelere sahip olmanız gerekir))
superM

Birçok şirkette, özellikle de paranoyak veya yetersiz yönetilen şirketlerde, "ihbar süresi" İK veya yöneticinin ofisten çıkıp, istifaya özet olarak kapıdan çıkmak için dönmesi gereken süredir.
jfrankcarr

Kalan ipucunun birkaç hafta fark ettiğini düşünüyorum, ama bizi ayrılmak için hazırlamak için ne yaptığını bilmiyorum. Bence onlar iyiydi, ama iyi kullandıkları makine bıraktı kişi tarafından kurulmuş makine değiştirme eğitimli düşünüyorum. Durumumda biraz daha sıkışmış olmalıydım ama benim için ayrılma programları sadece bir hobi olana kadar. Yeni geliştiricimizin yeni bir sistem kurma hakkında bildiklerimi bildiğimde geri alındım.
OpenCoderX

Bu, farklı şirketler için farklı olacaktır, ancak çalıştığım her yerde makine yapılandırma sürecinin bir emanet şartı olarak belgelenmesi gerekiyordu.
JohnL

5

Yeni bir bilgisayarı geliştirme ekosistemimizin bir parçası olacak şekilde yapılandırmak ve yapılandırmak için bir süreç olduğunu varsaymakta yanılıyor muyum?

Hayır. Bu işlemlere sahip olmak, karşılaştığınız sorunları önleyecektir. Bazı büyük kuruluşlarda, geliştiricinin makinesinin nasıl olması gerektiğine dair standart bir disk görüntüsü vardır. Yeni bir geliştirici işe alındığında, bu "geliştirici" disk görüntüsü kullanılarak doğru donanım özelliklerine sahip kullanılabilir bir bilgisayar silinir ve yeniden görüntülenir. Standart bir kontrol listesini (bazen görüntüye dahil olmayan belirli araçlar için görüntüleme sonrası yazılım yüklemesini içerir) bunu, tüm geliştirici makinelerinin aynı şekilde başlatılmasını sağlamak için yapan teknoloji çalışanları takip eder (kullanıcılar aldıktan sonra bunları değiştirebilir ve değiştirebilirler) onları - kendi tehlikelerinde!).

Benzer şekilde, çok karmaşık bir kurulum içeren bazı uygulamalarda, yeni geliştiricilere kodu nasıl kontrol edecekleri , sunucuyu nasıl yapılandıracakları ve uygulamayı derleyip yerel olarak nasıl dağıtacaklarını açıklayan belgeler bulunur . Bir uygulama, bu işlemi kolaylaştırmak için yalnızca iş istasyonları için bir kurulum komut dosyasına sahiptir.

Ben hevesli bir bebek miyim ve süreci çözmeli ve kendi başıma bir belge oluşturmalı mıyım?

Sen, ama birazcık. Bunların uzun zaman önce belgelenmesi gerektiğini söyleyen bir şey var ve kalan geliştirici, ayrılmadan önce değiştirilme günlerine (veya mümkünse haftalara) tam bir bilgi aktarımı yapmış olmalıdır. Bunların hiçbiri olmamış gibi görünüyor ve zaten geçmişte kaldı.

Peki şimdi ne olacak? Kalan geliştiricinin çok yardımcı olacağından şüpheliyim. Zaten yeni bir günlük işleri var ve kendi yaşamlarında neyle meşgul olduklarını bilenler. Yöneticinizin onları yardım etmeye zorlamak için kullanabileceği herhangi bir yasal neden olduğundan şüpheliyim. Bazı soruları cevaplamak için birkaç saatlerini ayırmaları güzel olurdu, ama buna güvenmeyin. Görünüşe göre çoğunu kendiniz bulmakta zorlanıyorsunuz. Bu size doğru süreci ayrıntılı bir şekilde belgeleme ve doğru bir şekilde yapma fırsatı verir. Sizi takip edenler bunun için size teşekkür edecekler! İyi şanslar!


1

İlk önce, Visual SourceSafe kurtulmak gerekir. Bunun söylenmesi gerektiğini düşünüyorum. En azından TFS'ye geçin. Ve başka seçenekler de var.

Şimdi bu yoldan çekildi. Bence bu bir durumdur, "bir şeylerin doğru yapılmasını istiyorsanız ..." Nihai hedefiniz, bir geliştiricinin yeni kurulan makineyi kaynağa bağlamak, en son almak, f5 tuşuna basmak (veya sizin için ne kullanırsanız kullanın) uygulama kısayolunu çalıştırın) ve çalışan bir uygulamaya sahip olun.

Bir seçenek, sıfırdan bir çalışma ortamı oluşturmak ve bunu temel bir geliştirici görüntüsü olarak kullanmaktır. Bir geliştirici gemiye geldiğinde, tek yapmanız gereken bu görüntüyü makinesine dağıtmaktır ve çalışması gerekir.

Ortamınızı daha elverişli bir duruma nasıl taşıyacağınıza dair bazı kitaplar var. Fowler serisinden Sürekli Teslimat ve Sürekli Entegrasyonu kendim seviyorum , ancak başka seçenekler de var.


1

Mevcut işime başladığımda bir geliştirici bilgisayar kurmak için belgelenmiş bir prosedürümüz vardı.

Prosedürü kendi başıma izledim ve mevcut ekibin "yardımından" kaçınarak kararlı bir şekilde kaçtım.

(En uzun süren geliştiricinin değil, bilginin belgede yer alması gerekir.)

Prosedürü yanlış veya eksik olan kırmızı çizgi değişiklikleriyle işaretledim ve hafta sonra iki şey vardı, çalışan bir prosedür ve çalışan bir geliştirme bilgisayarı.

Bir yıl sonra bir sabit disk arızasından sonra yeniden oluşturulması 2 gün sürdü.

Patronunuza söyleyin: Eğer sabit disk o PC'de arızalanırsa, hiçbir gelişme olmayacaktır!

2 Gün iki gün kaybı olduğuna karar verdi.

Şimdi her geliştirme projesi için disk imajlı sanal makineler kullanıyoruz.

Kurulum, VM görüntüsünü hedef PC'ye kopyalayıp başlatmaktır. Tıkladığınız "runme" adlı bir simge var, Kullanıcı adınızı sorar ve kaynak koduna erişmek için kullanılan kullanıcı adını kendi adınıza değiştirir. Ayrıca IDE'nin boş belge yazar alanını adınıza değiştirir.

(Yaklaşık 2 saat içinde runme yazdım, biz geliştiriciyiz, sorunlarımızı uzakta programlıyoruz)

Geliştirici bilgisayarlarımız VM sunucusu hariç standart makinelerdir.

Pahalı olmayan sanal kutu kullanıyoruz.

Sanal Makinelerin kullanılması, makinenin değiştirilmesinin 20 dakikalık bir iş gerektirmediğini gösterir . VM'yi kopyalamak için gigabit ethernet olsaydı bu görev daha hızlı olurdu.

Tam discosure: Çalıştığım ekip lideriyim ve yönetimim bana ücretsiz (-ish) bir dizgin veriyor.


Sık sık PC'de her şeyi ayarlamak yerine VM'ler yapmayı merak ediyordum. Geliştirme için güzel, bozulmamış bir VM'ye sahip olun ve BT adamlarının geliştirme sisteminizi batırmak için bir güncelleme yapmaya zorlandığından endişelenmeyin.
Joel Rondeau

Bir kez bir virüsten koruma güncelleştirmesi koştu birçok sistem DLL'leri ile etkileşim bir C ++ program hata ayıklama. Bazı DLL değiştirdi. Sanırım o testi bir daha asla üretmeyecektim.
Tim Williscroft

0

Uygulamayı derlemek ve çalıştırmak için hangi yazılımın gerekli olduğunu belirten bazı belgeler olmalıdır.

Ayrıca, bir istemci kutusunun uygulamayı çalıştırmak için ne gerektirdiğini belirten belgeler de olmalıdır.

Aynı liste değiller.

Şirketiniz yeni bir geliştirici kiralayacak olsaydı, kodlamaya başlamaları ne kadar sürerdi? Bir gün? Bir hafta? Kodu derlemek için hangi yazılımın gerekli olduğunu bilmeden, bu biraz zaman alabilecek bir deneme yanılma işlemi olabilir. Ancak, yalnızca bir kez yapılması gereken bir şey olmalıdır.

Sorum şu, yeni geliştirici ne yapıyor? Bu onun işi olmalı, senin değil. O diğer adamın yerine geçer. Evet, dokümantasyonu olmayan bir ortama girmesi berbat ama işleri belgelemek onun görevi olmalı. Onu oturtun ve geliştirme ortamının ne olduğunu anlayın ve dokümante edin. Uygulamayı bir istemci kutusunda çalıştırmak için gerekenleri bulmasını ve dokümante etmesini sağlayın.

Eski geliştiriciyle iletişim kurmaya gelince, yapmazdım. IMHO, bir geliştirici herhangi bir belge veya bilgi aktarımı olmayan bir şirketten ayrılırsa, danışmanlık hızında bir iş yapmaya çağrılmayı umuyorlar. Profesyonel değildir ve ödüllendirilmemelidir. Evet, bunu kendiniz anlamanız biraz zaman alabilir, ancak siz / ekibiniz süreçte bir şeyler öğreneceksiniz ve üretilen belgeler güncel ve güncel olacaktır.

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.