โปรแกรมเมอร์เก่าหายไป กำลังจะจ้างโปรแกรมเมอร์อีกคน ฉันจะเข้าใกล้สิ่งนี้ได้อย่างไร [ปิด]


19

หลังจากใช้เวลากว่าหนึ่งปีในการทำงานกับโครงการเครือข่ายสังคมสำหรับฉันโดยใช้WordPressและBuddyPressโปรแกรมเมอร์ของฉันก็หายไปแม้ว่าเขาจะได้รับเงินทุกสัปดาห์ตลอดระยะเวลาก็ตาม ใช่เขายังไม่ตายเมื่อฉันใช้ตัวติดตามอีเมลเพื่อยืนยันและเห็นว่าเขาเปิดอีเมลของฉัน แต่เขาไม่ตอบสนอง ดูเหมือนว่าเขาจะมีงานอื่น ฉันสงสัยว่าทำไมเขาไม่พูดเช่นนั้น และฉันยังจ่ายเงินเดือนล่วงหน้าให้เขาสำหรับงานที่เขาไม่ได้ทำ

ปัญหาคือฉันไม่เคยขอเอกสารเต็มรูปแบบสำหรับฟังก์ชั่นส่วนใหญ่ที่เขาเขียนมาและมีฟังก์ชั่นมากมายสำหรับช่วง 1 ปีนี้และบางส่วนมีข้อบกพร่องที่เขายังไม่สามารถแก้ไขได้ ตอนนี้มันดูสับสน

ตอนแรกที่ฉันควรทำคืออะไร? ฉันจะดำเนินการอย่างไร

ฉันเดาว่าสิ่งแรกที่ต้องทำคือการรับโปรแกรมเมอร์อีกคน แต่ฉันต้องการเริ่มต้นด้วยการเขียนโค้ดปัจจุบันทั้งหมดเพื่อให้โปรแกรมเมอร์สามารถทำงานกับฟังก์ชั่นทั้งหมดได้โดยไม่มีปัญหา

นั่นคือสิ่งแรกที่ฉันควรทำ? ถ้าใช่ฉันจะไปเกี่ยวกับมันได้อย่างไร

เอกสารมาตรฐานประเภทใดที่จำเป็นสำหรับสิ่งนี้ ฉันจะได้รับโปรแกรมเมอร์ที่เพิ่งจะทำเอกสารสำหรับรหัสทั้งหมดและแก้ไขข้อบกพร่องหรือเอกสารไม่สำคัญจริงๆ?

นอกจากนี้คุณคิดว่าการทำให้โปรแกรมเมอร์ "บุคคล" รายอื่นดีกว่าหรือทำให้ บริษัท ที่โปรแกรมเมอร์ทำงานให้กับพวกเขาดังนั้นถ้าโปรแกรมเมอร์ที่มอบหมายให้โครงการของฉันหายไปคนอื่นจะเข้ามาแทนที่เขาได้ ฉันรู้สึกว่านี่เป็นวิธีที่ฉันควรทำในตอนแรก


29
“ และฉันก็จ่ายเงินเดือนล่วงหน้าให้เขาสำหรับงานที่เขาไม่ได้ทำ” - นั่นอาจเป็นเหตุผลในการฟ้องร้องคุณคุณควรยืนยันทนายความ
Doc Brown

คุณสามารถให้รายละเอียดบางอย่างแก่เราเกี่ยวกับความเชี่ยวชาญของคุณในการทำความเข้าใจโค้ดด้านซ้ายที่เหลือได้อย่างไร?
Maru

10
คำถามแรกและที่สำคัญที่สุด: คุณมีสัญญาหรือไม่?
Radu Murzea

5
หากฉันเป็นโปรแกรมเมอร์ทดแทนเอกสารที่ฉันต้องการจะเป็นสิ่งที่เขาทำงานมาจาก: ขอบเขตเหตุการณ์สำคัญคำอธิบายปัญหา ฯลฯ ฉันต้องการให้รหัสของเขาถูกปล่อยตามที่เป็นอยู่และฉันจะไม่พบว่ามีประโยชน์หาก รหัสของเขาเป็น "เอกสาร" โดยคนที่อาจไม่สามารถวิเคราะห์ได้ดีเท่าที่ฉันจะทำได้
user16764

15
สิ่งแรกคือเปลี่ยนล็อกอินและรหัสผ่านเป็นเซิร์ฟเวอร์ของคุณ
Michael Riley - AKA Gunny

คำตอบ:


17

จากการโต้ตอบที่เรามีในความคิดเห็นฉันจะไปกับสมมติฐานที่ว่าคุณไม่ได้ผลักนักพัฒนาคนเดียวของคุณออกไปเพราะเรื่องส่วนตัว อย่างไรก็ตามจากการสนทนานั้นฉันจะคาดเดาอีกครั้งว่าความพ่ายแพ้นี้ยังคงเป็นความรับผิดชอบของคุณในฐานะผู้จัดการการจ้างงาน ดังที่คุณกล่าวถึงว่าคุณไม่มีประสบการณ์ใด ๆ กับนักพัฒนา แต่อย่างใดคุณจะตัดสินใจเกี่ยวกับวิธีการจ้างงานได้อย่างไร

ดูเหมือนว่าคุณจะทำได้ดีที่สุด แต่คุณจ้างคนที่ไม่สามารถรับมือกับขนาดของโครงการนี้ได้เขาสร้างรากฐานที่สั่นคลอนซึ่งร่วงลงมาจากเขาแล้วเขาก็จากไป น่าเสียดายที่ความแตกต่างระหว่างผู้พัฒนาและผู้ประกอบการคือเมื่อก่อนได้รับรายชั่วโมง / เงินเดือน แต่พวกเขาสามารถเลือกที่จะมาและไปตามที่พวกเขาต้องการ เขาได้รับเงินสำหรับชั่วโมงที่เขาทำงานและเขาจากไปเมื่อเขาเลือกที่จะไม่รับเงินอีกต่อไป ไม่มีอะไรที่คุณสามารถทำได้

แล้วตอนนี้ล่ะ? ดูเหมือนว่าคุณจะเริ่มต้นเส้นทางของการแทนที่ผู้คนด้วยกระบวนการ หากคุณมีเอกสารเพียงพอผู้คนสามารถออกไปและคนอื่น ๆ สามารถไปรับได้ IMO ที่ใช้งานไม่ได้และถ้าใช้งานได้มันจะยังคงมีราคาแพงกว่าการมีทีมพนักงานถาวรที่เชื่อถือได้ การจัดการที่ บริษัท ต่าง ๆ ในช่วง 30 ปีที่ผ่านมาพยายามที่จะแทนที่คนด้วยเอกสารเพียงพอ (รวมถึงงานสุดท้ายของฉัน) และพวกเขาล้มเหลวทุกครั้ง นั่นเป็นเหตุผลที่ฉันตัดสินใจเปลี่ยนงานและตอนนี้พวกเขาติดอยู่กับเอกสารที่ล้าสมัยและไม่ถูกต้องในขณะที่ฉันมีเวลาในการเริ่มต้นใหม่

ฉันจะทำอย่างไรถ้าฉันเป็นคุณจะพยายามหาคนที่เหมาะสมที่มีทักษะและประสบการณ์เพียงพอที่จะรับโครงการนี้และดำเนินการให้สำเร็จ สิ่งนี้ไม่เพียงรวมถึงทักษะการเขียนโปรแกรมเท่านั้น แต่ยังรวมถึงการออกแบบสถาปัตยกรรมรวมถึงการจัดการโครงการพื้นฐาน อย่าพยายามกำหนดวิธีการทำงานของเขาหรือเอกสารที่จำเป็นในการผลิต เพียงแค่มุ่งเน้นไปที่การหาคนที่เหมาะสมและพร้อมที่จะจ่าย เมื่อคุณพบเขาให้แน่ใจว่าบทบาทของคุณคือการสนับสนุนเขาและขจัดสิ่งกีดขวางออกจากทางของเขาไม่ใช่มอนิเตอร์ / ไมโคร ฉันไม่ได้หมายความว่าคุณเคยทำมาก่อน แต่ฉันรู้ว่าผู้จัดการจำนวนมากมักจะทำเช่นนั้นและนั่นก็แค่ต่อต้านการผลิต

พูดคุยกับผู้ประกอบการอื่น ๆ ผู้ที่มีพื้นฐานด้านวิศวกรรมซอฟต์แวร์มากกว่า อ่านฟอรัมเหล่านี้และตั้งคำถามขึ้นเพื่อสอบถามการจ้างงานในอนาคตของคุณ นำเสนอปัญหาและถามว่าแนวทางจะเป็นอย่างไร หากเขาเป็นคนที่ใช่ (และสมมติว่าเขาไม่เห็นหน้านี้) เขาควรจะสามารถแนะนำสิ่งต่าง ๆ มากมายที่คนอื่นแนะนำไปแล้วในแง่ของสิ่งที่ควรทำใน บริษัท ของคุณเมื่อคุณเริ่มฟื้นตัว ขอให้เขากำหนดแผนจากเวลาที่เขาได้รับการว่าจ้างเมื่อ v1.0 ของคุณจะจัดส่ง เขาจะไปรับคุณที่นั่นได้อย่างไร ขอความช่วยเหลือในการสัมภาษณ์บุคคลดังกล่าว

ความคิดของฉันเองเพียงเล็กน้อย: การติดตามข้อผิดพลาดเป็นสิ่งจำเป็น (จิระค่าใช้จ่าย $ 10 สำหรับทีมมากถึง 10 คน) การควบคุมแหล่งที่มาคือสิ่งที่ต้องทำ (คอมไพล์ฟรี. ต้องใช้ต้นทุนถั่วลิสงสำหรับทีมมากถึง 5 คนหรือมากกว่านั้น) รหัสของคุณเป็นเอกสารของคุณ ไม่ใช่เอกสารคำที่คุณเขียน เขาควรตรวจสอบรหัสและรักษาสิ่งที่สามารถกู้ได้; ทิ้งส่วนที่เหลือและมุ่งเน้นไปที่การเขียนรหัสที่สามารถบำรุงรักษาและอ่านได้ บันทึกเอกสารสำหรับเอกสารการออกแบบระดับสูงสองสามหน้า เขาต้องรู้จักเทคโนโลยีที่คุณกำลังทำอยู่ อย่าจ้างคนที่มีเจตนาดี คุณไม่สามารถที่จะให้พวกเขาเรียนรู้ในเวลาของคุณ ถามพวกเขาว่าโครงการอื่น ๆ ที่พวกเขาทำ (น่าเสียดายที่คุณหรือคนที่คุณพบอาจต้องติดตามด้านเทคนิคของสิ่งต่าง ๆ ) คุณกำลังมองหาใครบางคนที่มีประสบการณ์เพียงพอ แต่ในเวลาเดียวกันก็ไม่มากจนเกินไปที่จุดประกายแห่งความตื่นเต้นได้ดับไปแล้ว หาคนที่หิวเพื่อสร้างผลกระทบ วิธีการที่เขาเสนอหรือตามควรช่วยให้คุณเห็นงานตามปกติ (ระยะเวลาหนึ่งหรือสองสัปดาห์) และเพื่อแสดงความคิดเห็นทันที อย่าจ้างใครก็ตามที่พูดว่ามันจะพร้อมใน 7.4 เดือนที่แน่นอนฉันจะแจ้งให้คุณทราบเมื่อดำเนินการเสร็จ

โชคดี


1
@pocto: มีคนออกไปข้างนอก แต่คุณต้องสามารถ ... ก) จ่ายให้พวกเขา b) ค้นหาพวกเขา (น่าเสียดายที่ไม่สามารถช่วยคุณได้ที่นั่นเพราะฉันไม่เคยดู) แต่เมื่อคุณพบบุคคลที่เหมาะสมเขาจะรับสถานการณ์ปัจจุบันรวมถึงเว็บไซต์ที่มีอยู่และโทรออก สิ่งสำคัญคือการแก้ไขข้อบกพร่องที่มีอยู่และรักษาลูกค้าที่มีอยู่ ตรวจสอบให้แน่ใจว่าเป็นส่วนหนึ่งของแผนการของเขาในอนาคต อีกสิ่งที่คุณควรพิจารณาคือคุณต้องหาใครสักคนเพื่อดำเนินการส่วนใหญ่ของ บริษัท ของคุณ บางทีแทนที่จะมองหาพนักงานเพียงคนเดียวลองมองหา ...
DXM

1
... คู่หู. เป็นส่วนหนึ่งของแพคเกจค่าตอบแทนเสนอส่วนหนึ่งของ บริษัท ของคุณ (อาจ 20-30%?) หากคุณประสบความสำเร็จคุณจะลดลง 20% แต่ถ้าคุณล้มเหลวที่จะมี 0 มากกว่า 20% คุณจะไม่ทำอะไรให้ดีเลย ความช่วยเหลือนี้อาจมี incentivizing พนักงานใหม่ / คู่ของคุณเพื่อให้แน่ใจว่าเขามีความสนใจคล้ายกับของคุณ (เช่นทำเว็บไซต์ประสบความสำเร็จไม่ได้เป็นเพียง paycheck รายสัปดาห์เก็บ)
DXM

1
ขั้นตอนบางส่วนของความคิดเห็นที่นำเสนอนี้ไม่ได้รับการยอมรับในระดับสากล ตัวอย่างเช่นการมีทีมพัฒนาเดียวกันตลอดไปจะทำให้หลายสิ่งง่ายขึ้น แต่ (ตามที่คุณทราบ) คุณไม่สามารถมั่นใจได้ว่า ดังนั้นจำเป็นต้องใช้เอกสารและรหัสที่ดีเพื่อให้ผู้อื่นสามารถเข้ามาในราคาที่ถูกลง (แต่ก็ยังสำคัญ) "ประกายแห่งความตื่นเต้นยังไม่ไหม้" เสียงเหมือนความเพ้อฝันที่บริสุทธิ์สำหรับฉัน การจัดการการพัฒนาซอฟต์แวร์นั้นยาก - การแยกความแตกต่างของโปรแกรมเมอร์ที่ดีออกจากกันนั้นจะยาก
psr

@psr: ฉันจะเขียนโค้ดที่ดีพร้อมการตั้งชื่อที่ดี / โครงสร้างและเอกสารการออกแบบระดับสูงทุกวันผ่านโค้ดที่อ่านไม่ได้พร้อมกับเอกสารการออกแบบที่ยอดเยี่ยมมากมาย และฉันไม่ได้หมายถึงการเป็นคนขี้กลัว (sp?) แต่ฉันเชื่อว่าอาชีพของเราต้องการการเรียนรู้และการเติบโตอย่างต่อเนื่องและหลาย ๆ อย่างไม่สามารถทำได้เพียงแค่งานเพราะเทคโนโลยีจะเปลี่ยนคุณ อย่างไรก็ตามฉันได้เห็นคนจำนวนมากทั้งที่อายุน้อยกว่าและอายุมากกว่าฉันซึ่งเมื่อเวลาผ่านไปดูเหมือนจะพูดง่ายๆว่า "ฉันได้เรียนรู้เพียงพอแล้วตอนนี้ฉันจะทำงาน" ฉันเคยเห็นผู้ชายที่แก่กว่าก้อนหินก้อนนั้นด้วย แต่พวกเขาทำมากกว่าแค่ทำงาน 40 ชั่วโมง
DXM

13

นี่เป็นสถานการณ์ที่แปลกและฉันค่อนข้างแน่ใจว่าคุณไม่ได้เล่าเรื่องทั้งหมด ฉันทำงานกับคนจำนวนมากบางคนที่เหลือด้วยเหตุผลต่าง ๆ (ฉันเป็นเพื่อนร่วมงานของพวกเขา) แต่อย่าพยายามบอกเราว่าทุกอย่างดีมากและวันหนึ่งก็ไม่ติดต่อเลย

แต่นั่นไม่ใช่ปัญหา อย่างน้อยก็ไม่อีกแล้ว คุณควรเรียนรู้จากความผิดพลาดและพยายามไม่ทำซ้ำในอนาคต และใช่ฉันขอแนะนำอย่างยิ่งว่า 50% เป็นความผิดของคุณที่เขา / เธอจากไป

ตอนนี้เกี่ยวกับการแก้ปัญหาปัจจุบัน:

  1. ลองติดต่อโปรแกรมเมอร์ของคุณ เขาอ่านอีเมลของคุณ - เสนอเงินให้เขาเพื่อเป็นเอกสาร / แก้ไขข้อบกพร่องที่สำคัญที่สุด ไม่มีใครสามารถแก้ไขได้เร็วกว่าเขา มันใช้งานไม่ได้? พยายามหาที่ทำงานของเขาติดต่อ บริษัท นั้นและบอกเล่าเรื่องราวของคุณ บริษัท ที่ดีจะไม่จ้างคนที่สามารถทำสิ่งเดียวกันกับพวกเขาได้ อย่างน้อยพวกเขาก็จะบอกให้เขาทำเอกสารให้คุณ

    หมายเหตุ: คุณไม่ต้องการให้บุคคลนั้นกลับมาคุณเพียงแค่ต้องมีเอกสารประกอบเสร็จ

  2. เตรียมตัวให้พร้อมว่ามูลค่างานหนึ่งปีของคุณจะเป็นโมฆะ เขาอาจหนีไปเมื่อคุณขอผลลัพธ์และเขารู้ว่าเขาไม่สามารถส่งมอบได้ เป็นไปได้ว่ารหัสนั้นเต็มไปด้วยแฮ็กการใช้งานที่สกปรกและคุณภาพโดยรวมไม่ดี แม้ว่าเขาจะกลับมาเขาอาจจะไม่มีทักษะหรือแม้แต่เวลาที่จะทำมันให้ถูกต้อง

  3. มองหาคนอื่น เขาต้องการที่จะรู้ว่าเทคโนโลยีเดียวกัน (ภาษาการเขียนโปรแกรมกรอบ ฯลฯ ) หากคุณภาพของรหัสดี - เขาสามารถทำต่อไปได้ถ้าไม่เขาจะสามารถปรับโครงสร้างได้อีกครั้ง ใช่การปรับโครงสร้างต้องใช้เวลาโดยไม่ต้องมีการปรับใช้คุณสมบัติใหม่ แต่จะทำให้สามารถบำรุงรักษาโค้ดได้และนั่นคือสิ่งที่คุณต้องการ นอกจากนี้ผู้ที่สามารถสร้างโค้ดที่ไม่ดีได้นั้นเป็นโปรแกรมเมอร์ที่ดีจริงๆ

    หมายเหตุ: มันโง่ที่จะจ่ายเงินล่วงหน้า ความคิดทั้งหมดของเงินเดือนคือการจ่ายสำหรับงานที่ทำ ไม่ได้ทำตามสัญญา :)

  4. ทำรายการ เพื่อผลประโยชน์สูงสุดของคุณในการวางแผน ข้อกำหนดทางเทคนิคที่ครั้งหนึ่งเคยอ่านจะช่วยให้โปรแกรมเมอร์ใหม่เข้าใจงานและเหตุการณ์สำคัญ มีเอกสารสำคัญอย่างน้อยสามเอกสาร:

    • คำอธิบายโดยรวมของโครงการ - เอกสารที่จะช่วยให้แม้แต่ผู้ที่ไม่ใช่โปรแกรมเมอร์รู้ว่าโครงการคืออะไร

    • Timeline - ส่วนใดและเมื่อใดที่คุณคาดว่าจะพร้อม? ทำอะไรไปแล้ว

    • ข้อมูลทางเทคนิค - อันนี้ยาว เป็นเอกสารที่โปรแกรมเมอร์ต้องการอ่าน แยกมันออกเป็นส่วนต่างๆและอธิบายรายละเอียดให้มากที่สุดเท่าที่จะทำได้คุณสมบัติและขั้นตอนการทำงานของส่วนนั้น ๆ

การทำงานกับ บริษัท นั้นไม่ค่อยดีเท่าไหร่ โอกาสของคุณจะไม่ดีขึ้น และคุณจะจ่ายเงินมากเกินไป 10 ครั้งหากคุณจ้างโปรแกรมเมอร์เพียงคนเดียว หากคุณมีทีมเล็ก ๆ สมมติว่ามี 3-5 คนเพียงจ้างโปรแกรมเมอร์ที่เต็มใจเป็นหัวหน้าทีม เขาจะทำงานได้ดีขึ้นมากในการจัดการทีม


15
ฉันไม่แนะนำให้ติดต่อ บริษัท ใหม่ของเขาและพูดคุยกับพวกเขาเกี่ยวกับเขา ความจริงหรือไม่ในสหรัฐอเมริกาอย่างน้อยนั่นคือการสร้างศักยภาพสำหรับการฟ้องร้องหมิ่นประมาท
GrandmasterB

3
คำตอบที่ดี แต่ ... "ความคิดทั้งหมดเกี่ยวกับเงินเดือนคือการจ่ายเงินเพื่อการทำงาน" .. ประเทศอะไรที่อยู่ในนั้น เราเพิ่งมีผู้ชายเข้าร่วมทีมของเราใช้เวลาหนึ่งเดือนกับมันและไม่แก้ไขโค้ดบรรทัดเดียว (ท่ามกลางปัญหาอื่น ๆ ) เราจ่ายเงินเดือนเต็มเดือน แต่ต้องตัดเขาออกไปเพราะเราไม่รู้ว่าเมื่อใดเขาจะมีประสิทธิผล จากประสบการณ์ของตัวเอง (ซึ่งเป็นภาพสะท้อนของดิลเบิร์ต) ฉันสามารถมาทำงานและทำงานได้หรือใช้เวลาทั้งวันเดินไปรอบ ๆ และพูดคุยและฉันจะได้รับเงินเดือนเท่าเดิม
DXM

@DXM คุณถูกต้อง: คุณจะได้รับเงินเดือนเป็นเวลาหนึ่งเดือนแม้ว่างานของคุณจะไม่สมควรได้รับก็ตาม แต่มันเป็นผลของการปกป้องจากรัฐบาล มันเป็นสิ่งที่ดี แต่ไม่เสมอไป และอย่างที่คุณพูด - คนขี้เกียจจะไม่สามารถรักษาตำแหน่งไว้ได้นาน แต่ฉันเห็นด้วยกับความคิดเห็นของคุณเป็นส่วนใหญ่
Magic Creative

ฉันต้อง -1 เพื่อติดต่อ บริษัท ใหม่ที่บุคคลนี้ทำงาน หากพวกเขาตกงานพวกเขาสามารถฟ้องคุณได้ ที่สำคัญกว่านั้นการแก้ไขเอกสารหรือรหัสใด ๆ ที่มาจากบุคคลที่มีรสขมนั้นจะมีคุณภาพไม่ดีอย่างที่คุณอาจไม่ต้องการในตอนแรก
MrFox

8

รหัสเอกสารหลังจากนั้นโปรแกรมเมอร์อื่น ๆ ? มันเป็นเพียงประสบการณ์และความคิดเห็นของฉันที่จะบอกคุณไม่ควรใช้เส้นทางนั้น

หากปราศจากความรู้อย่างละเอียดเกี่ยวกับคุณภาพของรหัสฐานความคิดเห็นของฉันคือวิธีที่ดีที่สุดของคุณคือการจ้างโปรแกรมเมอร์ใหม่เพื่อแก้ไขข้อผิดพลาดการบำรุงรักษาและอาจทำการแก้ไขตามที่คุณต้องการ

ความคิดเห็นดังกล่าวมีประเด็นสำคัญของการปรับเปลี่ยนที่เป็นไปได้ (การเปลี่ยนแปลงหรือเพิ่ม) เนื่องจากจำเป็นต้องมีการปฏิบัติตามข้อกำหนด ซึ่งหมายความว่าจะต้องเขียนข้อกำหนดเฉพาะบางประการ นี่คือเอกสาร

ซึ่งนำไปสู่ประเด็นการบำรุงรักษาโครงการทั้งหมด คุณไม่ได้บอกคำถามว่าข้อกำหนดของโปรแกรมในปัจจุบันหรือแม้กระทั่งเอกสารประกอบการใช้งานที่มีอยู่ แต่นั่นคือสิ่งที่คุณควรมุ่งเน้นตอนนี้

ในกรณีที่คุณไม่มีเอกสารใด ๆ เลย ณ จุดนี้มันก็ขึ้นอยู่กับคุณแล้วที่จะเติมเต็มช่องว่างนั้น คุณไม่สามารถจ้างโปรแกรมเมอร์ให้ทำวิศวกรรมย้อนกลับแอปพลิเคชันของคุณและสร้างเอกสารประกอบการขึ้นแม่พิมพ์ที่น่าอัศจรรย์ได้ คุณต้อง "อธิบาย" สิ่งที่คุณต้องการให้โปรแกรมทำ (แม้ว่าจะหมายถึงการอธิบายสิ่งที่โปรแกรมได้ตั้งไว้แล้ว)

เมื่อคุณเขียนเอกสารนั้น (ไม่ว่าจะเป็นในรูปแบบของข้อกำหนด - หรือข้อกำหนดการใช้งาน) คุณจะได้ผลลัพธ์ที่ดีขึ้นจากการว่าจ้างโปรแกรมเมอร์ใหม่เนื่องจากคุณสามารถมอบเอกสารและเริ่มทำงานได้จากที่นั่น

นอกจากนี้ยังมีโปรแกรมมากมายที่ผลิตเอกสารจากซอร์สโค้ดซึ่งเป็นวิธีที่ดีในการสร้างโครงกระดูกของการอธิบายซอร์สโค้ดจริง (ซึ่งอยู่ในข้อกำหนดทางเทคนิค) ซึ่งคุณสามารถทำงานได้ในบริบทของการอธิบายด้านเทคนิคของ ฟังก์ชันการทำงานที่ระบุในข้อกำหนดคุณสมบัติการทำงานซึ่งระบุการทำงานของข้อกำหนดที่ระบุไว้ในข้อกำหนดคุณสมบัติ

ใช่แล้วความคิดเห็นของฉันคือจ้างโปรแกรมเมอร์เพื่อแก้ไขข้อบกพร่อง หลังจากที่เขาได้แก้ไขข้อผิดพลาดที่คุณเห็นด้วยควรได้รับการแก้ไขคุณสามารถพูดคุยเรื่องการจัดทำเอกสารเป็นสัญญาอื่น โชคดีที่คุณจ้างโปรแกรมเมอร์ที่มีประสบการณ์และสามารถช่วยคุณทำขั้นตอนต่อไปได้


นั่นเป็นคำตอบที่ครอบคลุมและเป็นประโยชน์มาก Raybarg ฉันคิดว่าสิ่งที่คุณพูดมีเหตุผลมากมาย - ก่อนอื่นให้จ้างโปรแกรมเมอร์คนอื่นเพื่อแก้ไขข้อบกพร่องที่มีอยู่แล้วพูดคุยเรื่องการจัดทำเอกสารเป็นสัญญาอื่น ฉันยังหวังว่าจะมีโปรแกรมเมอร์ในระยะยาวหลังจากที่เขาแก้ไขข้อผิดพลาดดังนั้นสิ่งนี้จะทำงาน
pocto

@ Raybarg เกี่ยวกับ "หลังจากแก้ไขข้อบกพร่องแสดงความคิดเห็นเนื้อหา": ฉันขอให้คุณทำในขณะที่แสดงความคิดเห็นในขณะที่แก้ไขข้อบกพร่อง ขั้นตอนนั้นคือหลังจากทั้งหมดที่คุณรวบรวมความรู้ทั้งหมดเพื่อจัดทำเอกสาร ดังนั้นทำไมไม่เขียนมันทันที? มันจะช่วยในการค้นหาและแก้ไขข้อบกพร่องได้เร็วขึ้น
Marcel

@ Raybarg คุณสามารถอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่คุณพูดได้ที่นี่เกี่ยวกับ "โปรแกรมที่สร้างเอกสารจากซอร์สโค้ด" จริงๆ? โปรแกรมเหล่านี้คืออะไรและทำงานอย่างไร
pocto

3

นี่คือวิธีที่ฉันจะแก้ไขปัญหา:

  • คุณมีความรู้เกี่ยวกับโดเมน คุณรู้ว่ามีฟีเจอร์ใดบ้างที่มีอยู่บนเว็บไซต์ในขณะนี้และฟีเจอร์ใดที่คุณต้องการเพิ่มในอนาคตและอาจแสดงรายการข้อบกพร่องบางอย่างที่ผู้ใช้รายงานเช่นกัน

  • มีกองรหัสนี้นั่งอยู่ตรงนั้นทิ้งไว้ที่มุมห้อง อาจเป็นรถ แต่ก็ยังให้คุณค่าเนื่องจากเว็บไซต์มีผู้ใช้ที่ใช้งานอยู่ การเขียนซ้ำทั้งหมดจึงเป็นความผิดพลาดของ IMO

สะพานเชื่อมโยงระหว่างความเชี่ยวชาญด้านโดเมนของคุณกับโค้ดนั้นพังเมื่อโปรแกรมเมอร์ออกไป คุณต้องสร้างใหม่เพื่อที่จะสามารถซิงโครไนซ์รหัสฐานกับความต้องการของคุณได้อีกครั้งและการปรับปรุงในอนาคตจะสามารถพัฒนาได้

ประเด็นก็คือสะพานนั้นไม่สามารถทำเอกสารทั้งหมดได้ ซอฟต์แวร์เป็นเรื่องของมนุษย์มากพอ ๆ กับเทคนิค หากคุณไม่ได้อธิบายโปรแกรมเมอร์คนใหม่สิ่งที่คุณคาดหวังในรายละเอียดที่ดีเขาหรือเธอจะมีเวลาที่ยากลำบากในการลดความผิดพลาดจากรหัสเพียงอย่างเดียว - ทั้งหมดยิ่งดังนั้นถ้าโปรแกรมเมอร์คนก่อนหน้าเขียนโค้ดที่คลุมเครือ และหากคุณไม่ได้ทำงานอย่างใกล้ชิดกับโปรแกรมเมอร์ใหม่เพื่อค้นหาวิธีอัตโนมัติอย่างต่อเนื่องในการตรวจสอบรหัสที่ตรงกับความต้องการของคุณในคำอื่น ๆ เพื่อให้สะพานแข็งแกร่งขึ้นปัญหาจะถึงจุดที่ต้องทำซ้ำตัวเอง

  • นั่งลงเป็นประจำ (แม้จริง) กับโปรแกรมเมอร์ใหม่สำหรับเซสชันการประมวลผลความรู้โดเมน ในระหว่างการประชุมแต่ละครั้งให้เขียนข้อกำหนดเฉพาะสำหรับส่วนเล็ก ๆ ของผลิตภัณฑ์ของคุณ มันสามารถเป็นหน้าเว็บเดียวก็สามารถมีคุณสมบัติ การทำให้ข้อกำหนดคุณสมบัติที่สามารถใช้งานได้ (a la Behavior-Driven Development ) จะเพิ่มระดับความเชื่อมั่นของคุณที่สะพานใช้เพราะคุณสามารถเรียกใช้มันอย่างต่อเนื่องและถูกเตือนเมื่อมีสิ่งผิดปกติ มันจะทำให้ชีวิตของนักพัฒนาง่ายขึ้น

    หลังจากช่วงเวลานักพัฒนาสามารถกลับไปทำงานของเขาและเขียนการทดสอบในระดับต่ำกว่าซึ่งตรวจสอบว่ารหัสปัจจุบันเป็นไปตามข้อกำหนด หากไม่เป็นไปตามนั้นโปรแกรมเมอร์ก็มีทุกสิ่งที่เขาต้องการจะแก้ไข สิ่งสำคัญคือต้องมีคำถามใด ๆ ที่เขามีให้

  • พยายามรักษาความร่วมมือที่แน่นแฟ้นและต่อเนื่องระหว่างคุณและโปรแกรมเมอร์ในโครงการของคุณและให้แน่ใจว่าสิ่งนี้เป็นจริงระหว่างพวกเขา สิ่งนี้จำเป็นถ้าคุณต้องการให้วัฒนธรรมการทำงานและเทคนิครอบโครงการของคุณดำเนินต่อไปโดยหลีกเลี่ยงปัญหาอย่างที่คุณมีอยู่ตอนนี้ หลักสูตรนี้ไม่เพียง แต่ต้องมีนักพัฒนา 2+ คนที่ทำงานในโครงการของคุณเท่านั้น แต่ยังต้องแบ่งปันความรู้เกี่ยวกับทุกสิ่งที่พวกเขาเขียนด้วย ดังนั้นหนึ่งสามารถทำหน้าที่เป็น failover เมื่ออื่นได้รับหายไป เทคนิคเช่นการเขียนโปรแกรมคู่และการตรวจสอบโค้ดเป็นวิธีที่ดีในการบรรลุเป้าหมาย

1

เพียงเพิ่มสิ่งที่ทุกคนพูด

หากคุณไม่สามารถให้โปรแกรมเมอร์เก่าบันทึกเอกสารของเขา / เธอแม้ในราคาใด ๆ ก็ตามอย่าคาดหวังว่าคนอื่นจะสามารถจัดทำเอกสารได้ดีขึ้น ดังนั้นนี่คือตัวเลือกบางอย่างเกี่ยวกับสิ่งที่คุณสามารถทำได้ในตอนนี้เพื่อให้โปรแกรมเมอร์คนใหม่มีประสิทธิผลในวันแรก

  1. รับฐานข้อมูลบั๊กและเริ่มป้อนบั๊กทั้งหมดที่คุณพบ นี่คือรายการที่ต้องทำสำคัญของโปรแกรมเมอร์ จัดทำเอกสารให้ดีและใส่รายละเอียดให้มากที่สุดเท่าที่จะทำได้ (ไฟล์ต้นฉบับ / สาเหตุการทำงานและสิ่งที่ควรทำ) มีจำนวนมากของซอฟต์แวร์การติดตามปัญหาฟรีเช่นมีBugzilla , Redmineและจิระ รู้สึกอิสระที่จะใช้สิ่งที่คุณต้องการ
  2. สร้างแผ่นข้อมูลจำเพาะสำหรับโครงการของคุณ นี่จะทำให้โปรแกรมเมอร์ใหม่ไปในทิศทางที่ถูกต้องหลังจากที่บั๊กถูกลบไปแล้ว คุณสามารถตรวจสอบคู่มือของโจเอลกับข้อกำหนดของการเขียน
  3. สร้างกำหนดการหรือเส้นเวลาสำหรับโครงการของคุณ พวกเขาควรมีกำหนดเวลาและเหตุการณ์สำคัญที่พวกเขาจะได้รับเงินสำหรับงานที่พวกเขาแสดงแทนที่จะจ่ายล่วงหน้า

ตอนนี้ไม่เป็นไรคุณสามารถเริ่มมองหาโปรแกรมเมอร์ และเช่นเดียวกับ Creative Magic ที่กล่าวว่าการจ้างงานให้ บริษัท ต่างๆสามารถนำไปสู่ความหายนะ

คราวนี้เริ่มวางแผนอย่างเหมาะสมกับปัจจัยบัสเมื่อจ้างโปรแกรมเมอร์ ผู้คนมาและไปและไม่มีอะไรที่คุณสามารถทำได้เกี่ยวกับเรื่องนี้ดังนั้นเตรียมตัวให้พร้อมสำหรับสิ่งที่เลวร้ายที่สุดในเวลานี้โดยรับโปรแกรมเมอร์สองคนหรืออย่างที่อูooบอก

ตอนนี้เมื่อโปรแกรมเมอร์อยู่ในร้านกับคุณคุณสามารถเริ่มขอให้พวกเขาทำเอกสารรหัสของพวกเขาไปข้างหน้าแทนที่จะขอให้พวกเขาทำเอกสารรหัสเก่าจริง ๆ ลืมไปเลย

สิ่งอื่น ๆ ที่ควรพิจารณาเมื่อรับโปรแกรมเมอร์ใหม่ตรวจสอบให้แน่ใจว่าพวกเขารู้การควบคุมแหล่งที่มาและการทดสอบอัตโนมัติ นอกจากนี้ให้ลองตรวจสอบJoel Testให้มากที่สุดเท่าที่จะทำได้ด้วยความช่วยเหลือจากพวกเขาคุณสามารถทำสิ่งนี้ได้ด้วยตัวเอง


0

ดังนั้นโปรแกรมเมอร์คนเดียวของคุณที่โดนรถบัสและคุณต้องเปลี่ยนทันที

คุณสามารถลองฟ้องอดีตโปรแกรมเมอร์ของคุณตามสัญญาของคุณหรือค้นหาว่ามีอะไรผิดปกติกับเขา สมมติว่าเขาจะไม่กลับมาสิ่งนี้จะไม่ช่วยคุณ

  • คุณต้องการทำให้ผลิตภัณฑ์ของคุณเสร็จสมบูรณ์ดังนั้นค้นหาโปรแกรมเมอร์ที่มีประสบการณ์ในการบำรุงรักษาและพัฒนาระบบที่มีอยู่ ฉันจะไม่เน้นบอกโปรแกรมเมอร์ของคุณว่าจะทำอย่างไรในสิ่งที่สั่ง ตรวจสอบให้แน่ใจว่าคุณจ้างคนที่เป็นมืออาชีพซึ่งเขียนเอกสารและการทดสอบหน่วยเมื่อจำเป็น
  • จากด้านข้างของคุณคุณสามารถมั่นใจได้ว่าโปรแกรมเมอร์ใหม่มี ทุกอย่างที่จำเป็นสำหรับการทำงานของเขา : ข้อกำหนดความต้องการเครื่องจักรที่ทรงพลังและอื่น ๆ คุณต้องการโปรแกรมเมอร์มืออาชีพเพื่อให้สภาพแวดล้อมการทำงานแบบมืออาชีพแก่เขา

นอกจากนี้ให้คิดถึงการว่าจ้างนักพัฒนาที่สองเพื่อทำให้สถานการณ์ที่ยากลำบากเช่นนี้ง่ายขึ้นในอนาคต ผู้ทดสอบจะเป็นประโยชน์สำหรับการประกันคุณภาพเช่นกัน


ขอบคุณมาก Uooo สำหรับคำตอบของคุณ ฉันชอบส่วนหนึ่งของการจ้างนักพัฒนาที่สองเพื่อให้สถานการณ์แบบนี้ง่ายขึ้นในอนาคต แต่งานของนักพัฒนาคนที่สองจะเป็นอย่างไร
pocto

@pocto การบำรุงรักษาและพัฒนาซอฟต์แวร์ของคุณ ตามที่เขียน: ฉันจะไม่มุ่งเน้นที่การบอกโปรแกรมเมอร์ของคุณว่าจะทำอย่างไรในลำดับใด เมื่อต้องการแก้ไขข้อผิดพลาดควรทำสิ่งนี้ เมื่อต้องใช้คุณสมบัติใหม่และการทดสอบหน่วยจำเป็นต้องเขียนเอกสารประกอบสิ่งนี้ควรทำ คุณไม่ได้จ้าง "Bugfixer" หรือ "Documentation writer" หรือ "Feature implementer" คุณจ้างนักพัฒนาซอฟต์แวร์ และงานของเขาคือทำทุกอย่าง
Uooo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.