Bazı Ukraynalı geliştiricilere dış kaynaklı bir projeyi yönetmekle görevlendirildim.
Şirket aracılığıyla işe Elance bir de sabit fiyat . Bu noktada patronum onları idare etmek ve işi halletmek için beni yalnız bıraktı . Yapılması gereken her şeyin ayrıntılı bir belirtimini oluşturdum.
Proje XMPP, RabbitMQ ve Database gibi şeylerle uğraşmayı içeriyordu. Onlarla ilk görüşmemde (her zaman IM) ne yapmaları gerektiğini iyice açıkladım . Anlıyor gibiydiler - ve bunun kolayca yapılabileceğinden çok emindiler.
Çok uzak çok iyi. Fakat bir hafta sonra tekrar karşılaştığımızda, yapılması gerekenler hakkında yanlış anlaşılmalarla doluydu. Geliştiricilerden birine XMPP tanıyıp tanımadığını sorduğumda, onunla ilk kez çalıştığını söyledi. İlk toplantımızda projenin karmaşıklığından ve ilgili teknolojilerden çok bahsetmiştim. Artı, tekrar tekrar onlardan tam olarak NASIL yapacaklarını gösteren fonksiyonel bir özellik yazmalarını istemiştim . Ama HAYIR dediler ve kodu yazmayı tercih ettiler. Tamam dedim.
Proje 3 hafta sonra tamamlandı ve ihtiyaç duyulanları teslim etti. Bu noktada kodu gözden geçirmeye başladım. Çoğunlukla iyiydi, ama bazı önemli sorunlar var:
- bir yapılandırma dosyasına ayrılması gereken bazı şeyleri kodladılar
- Birinde birleştirmem gereken birden fazla yapılandırma dosyası vardı
- kesinlikle HİÇBİR doküman yazmamışlar
- diğer bazı küçük değişiklikler
Onlardan bu değişiklikleri yapmalarını istedim (belgeler hariç) - Ve bir tartışmamız vardı.
Onlar, fiyat sabit olduğundan, çalışma kodunu tamamladıktan sonra herhangi bir değişiklik yapmalarını istemekten haksızlık ettiğimi söylediler. Projede makul olmayan bir süre çalıştıklarını ve şimdi herhangi bir şey istemek tamamen yanlış olduğunu.
Sonunda değişiklikleri yaptılar ve proje bitti. Ama aklımda bazı sorular var ...
İhtiyaç duydukları şeyi yaptılar ama düzgün bir şekilde yapmam gerekiyordu ve bu yüzden değişiklikler. gerçekten haksız mıydım?
İşlevsel bir belirtime sahip olmadan kodlamalarına neden izin verdim?
Neden her şeyi ilk kez anladıklarından emin olamadım?
Kendilerini aynı pozisyonda bulan var mı? Dış kaynaklı projeleri yönetmenin daha iyi bir yolu olduğunu düşünüyor musunuz?
-- GÜNCELLEME --
Tüm görüşler için teşekkürler - tüm deneyime odaklandıktan sonra, sonuçlandırabilirim ...
Her ne kadar benim tarafımdaki özelliklerde belirsiz olmasam da, kesinlikle önerildiği gibi onları zırhlı yapmadım . Yani götürmek: her zaman olabildiğince spesifik olun - spesifikasyonlarınızı onların bakış açısından da okuyun ve bir şeyleri kaçırıp kaçırmadığınızı görün. En az üç kez tekrarlayın.
Sadece kodun ne yapması gerektiğini belirtmek yeterli değil. Kodun neye benzemesi gerektiğini belirtmelisiniz. Dizin yapısının ne olacağı; mümkünse dosya adlarını bile. Bu sizi daha sonra çok fazla sıkıntıdan kurtaracaktır. Kodlama yönergelerini, değişken adlandırma kurallarını, dahili dokümantasyon biçimini vb. Kesin olarak belirtin. Bu yönergelere uyduklarını ve çığlık atmadıklarını görün.
İşlevsel bir özelliği yanlarından talep edin - herhangi bir koddan önce yazılması konusunda ısrar edin. Bu, birçok karışıklığı ve yanlış anlaşılmayı önleyecektir.
Anormallikleri daha önce tanımlamak ve düzeltmek için geliştirilmekte olan kodu inceleyin. Onlarla her gün en az bir kez konuş.
Son olarak, onlarla iyi bir ilişki kurmaya çalışın. Çalışmalarını takdir ettiğinizi hissettirin. Onları yönergelerinize uyacak şekilde abartılı bir şekilde zorlamayın; bunun yerine bunu yapmalarını isteyin ve projeyi tamamladıktan sonra kodun sizin için çok daha kolay olmasını sağlayacağını söyleyin.