ฉันได้รับมอบหมายให้จัดการโครงการซึ่งเป็นแหล่งที่มาของนักพัฒนายูเครนบางคน
บริษัท ได้รับการว่าจ้างให้พวกเขาผ่านElanceในราคาคงที่ ณ จุดนี้เจ้านายของฉันทิ้งฉันไว้ตามลำพังเพื่อจัดการพวกเขาและทำงานให้เสร็จ ฉันสร้างข้อกำหนดรายละเอียดของสิ่งสมบูรณ์ที่จำเป็นต้องทำ
โครงการเกี่ยวข้องกับการจัดการกับสิ่งต่าง ๆ เช่น XMPP, RabbitMQ และฐานข้อมูล ในการพบกันครั้งแรก (มักจะเป็น IM) ฉันอธิบายอย่างละเอียดถึงสิ่งที่พวกเขาต้องทำ ดูเหมือนว่าพวกเขาจะเข้าใจ - และพวกเขามั่นใจมากว่าจะทำได้อย่างง่ายดาย
จนถึงตอนนี้ดีมาก แต่หลังจากผ่านไปหนึ่งสัปดาห์เมื่อเราพบกันอีกครั้งพวกเขาก็เต็มไปด้วยความเข้าใจผิดเกี่ยวกับสิ่งที่ต้องทำ เมื่อฉันถามหนึ่งในนักพัฒนาว่าเขารู้จัก XMPP หรือไม่เขาบอกว่าเขาทำงานกับมันเป็นครั้งแรก ในการพบกันครั้งแรกของฉันฉันได้กล่าวถึงความซับซ้อนของโครงการและเทคโนโลยีที่เกี่ยวข้องเป็นพิเศษ นอกจากนี้ฉันขอให้พวกเขาเขียนข้อกำหนดการใช้งานซ้ำ ๆว่าพวกเขาจะทำอย่างไร แต่พวกเขาตอบว่าไม่และยืนยันว่าพวกเขาต้องการเขียนรหัส ฉันตอบตกลง
โครงการแล้วเสร็จหลังจาก 3 สัปดาห์และส่งมอบสิ่งที่จำเป็น ณ จุดนั้นฉันเริ่มทบทวนรหัส มันก็โอเคสำหรับส่วนใหญ่ แต่มีปัญหาที่สำคัญบางอย่าง:
- พวกเขาฮาร์ดโค้ดบางสิ่งที่จำเป็นต้องแยกออกเป็นไฟล์กำหนดค่า
- มีไฟล์กำหนดค่าหลายไฟล์ที่ฉันต้องรวมไว้ในที่เดียว
- พวกเขาเขียนเอกสารไม่แน่นอน
- การเปลี่ยนแปลงเล็กน้อยอื่น ๆ
ฉันขอให้พวกเขาทำการเปลี่ยนแปลงเหล่านี้ (ยกเว้นเอกสารประกอบ) - และเรามีข้อโต้แย้ง
พวกเขากล่าวว่าเนื่องจากราคาคงที่ฉันจึงไม่ยุติธรรมในการขอให้พวกเขาทำการเปลี่ยนแปลงใด ๆ เมื่อพวกเขาเสร็จรหัสการทำงาน ว่าพวกเขาได้ทำงานในโครงการมาอย่างไม่สมเหตุสมผลและตอนนี้มันผิดอย่างสิ้นเชิงที่จะขออะไร
ในที่สุดตอนนี้พวกเขาได้ทำการเปลี่ยนแปลงและโครงการสิ้นสุดลงแล้ว แต่มันทิ้งคำถามไว้ในใจของฉัน ...
พวกเขาทำสิ่งที่ต้องการ แต่ฉันต้องการให้ทำอย่างถูกต้องและด้วยเหตุนี้การเปลี่ยนแปลง ฉันไม่ยุติธรรมจริงเหรอ?
ทำไมฉันถึงเห็นด้วยกับการให้โค้ดแก่พวกเขาโดยไม่มีข้อกำหนดคุณสมบัติการทำงาน?
ทำไมฉันไม่แน่ใจว่าพวกเขาเข้าใจทุกอย่างเป็นครั้งแรก
ไม่มีใครพบตัวเองในตำแหน่งเดียวกันหรือไม่ คุณคิดว่ามีวิธีที่ดีกว่าในการจัดการโครงการภายนอกหรือไม่
- อัปเดต -
ขอบคุณสำหรับความคิดเห็นทั้งหมด - หลังจากไตร่ตรองถึงประสบการณ์ทั้งหมดฉันสามารถสรุปได้ ...
แม้ว่าฉันจะไม่ได้คลุมเครือในสเปคจากด้านข้างของฉันฉันไม่ได้ทำให้พวกเขาตายตัวตามที่แนะนำ ดังนั้นการซื้อกลับบ้านคือ: จงเจาะจงให้มากที่สุดเสมอ - อ่านรายละเอียดของคุณจากมุมมองของพวกเขาด้วยและดูว่าคุณพลาดอะไรไปหรือเปล่า ทำซ้ำอย่างน้อยสามครั้ง
เพียงระบุสิ่งที่รหัสควรทำไม่เพียงพอ คุณต้องระบุรหัสที่ควรจะมีหน้าตา โครงสร้างไดเรกทอรีจะเป็นอย่างไร แม้ชื่อไฟล์ถ้าเป็นไปได้ การทำเช่นนี้จะช่วยคุณประหยัดจากความรำคาญในภายหลัง ระบุแนวทางการเข้ารหัสอย่างเคร่งครัดอนุสัญญาการตั้งชื่อตัวแปรรูปแบบเอกสารภายใน ฯลฯ ดูว่าแนวทางปฏิบัติดังกล่าวสอดคล้องกับแนวทางเหล่านั้นหรือไม่
ต้องการฟังก์ชั่นการใช้งานจากด้านข้างของพวกเขา - ยืนยันว่ามันจะถูกเขียนก่อนรหัสใด ๆ สิ่งนี้จะได้รับความสับสนและความเข้าใจผิดมากมาย
ตรวจสอบรหัสตามที่มีการพัฒนาเพื่อให้คุณระบุความผิดปกติก่อนหน้านี้และแก้ไขให้ถูกต้อง พูดคุยกับพวกเขาอย่างน้อยวันเว้นวัน
สุดท้ายพยายามสร้างสายสัมพันธ์ที่ดีกับพวกเขา ทำให้พวกเขารู้สึกว่าคุณซาบซึ้งในงานของพวกเขา อย่าผลักดันพวกเขาเกินจริงเพื่อให้พอดีกับแนวทางของคุณ - ขอให้พวกเขาทำเช่นนั้นและบอกพวกเขาว่ามันจะทำให้การบำรุงรักษารหัสง่ายขึ้นมากสำหรับคุณเมื่อพวกเขาเสร็จสิ้นโครงการ