ความเป็นผู้นำไม่เห็นคุณค่าในกระบวนการมาตรฐานสำหรับการกำหนดค่าเครื่องและการวางแนวนักพัฒนาใหม่


9

ประมาณ 3 เดือนที่ผ่านมานักพัฒนาเว็บไซต์และนักออกแบบชั้นนำ (คนคนเดียวกัน) ออกจาก บริษัท ทุ่งหญ้าสีเขียวเป็นสาเหตุของการออกไป ดีสำหรับพวกเขาฉันพูด ปัญหาของฉันคือแผนกของเขาไม่มีเอกสารอย่างสมบูรณ์ สิ่งต่าง ๆ เป็นเรื่องยากนับตั้งแต่ผู้นำที่เหลืออยู่มีความรู้มากมายทั้งความรู้เชิงทฤษฎีที่เราใช้ในการเสนอโครงการใหม่และความรู้ด้านเทคนิค / การนำไปใช้งานของผลิตภัณฑ์ที่มีอยู่ของเราที่เราได้สูญเสียไปแล้ว บทบาทปกติของฉันคือเป็นผู้จัดการผลิตภัณฑ์ (สำหรับผลิตภัณฑ์ของเราเอง) และในฐานะนักวิเคราะห์ธุรกิจสำหรับงานให้คำปรึกษาตามโครงการของเรา ฉันสอนตัวเองให้เขียนโค้ดในช่วงปีที่ผ่านมาและในความพยายามที่จะเดินหน้าต่อไปฉันจะ ฉันได้ทำการติดตั้งแล็ปท็อปของฉันเป็นเครื่องพัฒนาด้วยความหวังว่าจะใช้งานฟีเจอร์การร้องขอที่ง่ายขึ้นและแก้ไขข้อผิดพลาดที่ไม่ต้องใช้สมองที่ส่งเข้าสู่ระบบตั๋วของเรา แต่ไม่มีใครรู้วิธีนำเครื่อง Windows มาใช้ใหม่และกำหนดค่าให้ทำงานได้อย่างราบรื่นด้วยแอปที่ใช้งานจริงของเรา

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

คำถามของฉันเป็นสองส่วน:

  1. ฉันผิดในการสมมติว่ากระบวนการบนเครื่องและกำหนดค่าคอมพิวเตอร์เครื่องใหม่ให้เป็นส่วนหนึ่งของการพัฒนาระบบนิเวศของเราควรมีอยู่หรือไม่?

  2. ฉันเป็นเด็กที่น่ารังเกียจและควรคิดกระบวนการออกมาและสร้างเอกสารด้วยตัวเองหรือไม่?


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

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

มันเริ่มที่จะทำให้ฉันหงุดหงิดฉันพยายามเป็นเชิงรุก แต่มีปัญหาการกำหนดค่าบางอย่างที่ฉันหายไป (ฉันจะโพสต์สิ่งผิดพลาด specifc บนล้น) สแต็คเป็นดังนี้: เซิร์ฟเวอร์ MS SQL, Visual Studio 2008, Visual Source Safe, IIS 7, รหัสแอป ASP.NET
OpenCoderX

1
Visual Source Safe ใช่มั้ย หากเป็นกรณีที่ฉันสงสัยว่าสิ่งที่คนก่อนหน้าทำไม่ได้ยอดเยี่ยมอย่างน่ากลัว จากนั้นอีกครั้งอย่างน้อยก็มีการควบคุมแหล่งที่มา
ไวแอตต์บาร์เน็ตต์

1
ฉัน GIT ตายยาก เมื่อฉันได้รับรุ่นของเว็บไซต์ที่ใช้งานในพื้นที่ฉันจะใช้ GIT เพื่อติดตามการเปลี่ยนแปลงของฉันจากนั้นเช็คอินเฉพาะสาขา GIT หลักของฉันเป็น VSS การควบคุมแหล่งที่มาภายในการควบคุมแหล่งที่มา
OpenCoderX

คำตอบ:


5

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

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

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


เรามีผู้ดูแลระบบและตำแหน่งของพวกเขาคือพวกเขากำหนดค่าเครื่องด้วยการเข้าถึงเครือข่ายสิ่งพื้นฐานสิทธิผู้ใช้ (Active Directory) และติดตั้งซอฟต์แวร์ใด ๆ ตัวอย่างเช่นฉันต้องทำงานกับผู้ดูแลระบบเครือข่ายเพื่อรับ Visual Source Safe และ Visual Studio ติดตั้ง แต่หลังจากการติดตั้งซึ่งเป็นที่ที่ความรู้ของพวกเขาสิ้นสุดลง ไม่เคยอยู่ในขอบเขตที่จะทำการกำหนดค่าเหล่านั้น
OpenCoderX

1
บางทีฉันอาจเสียเวลามากเกินไป _ ผู้ดูแลระบบ sys ของเราสามารถดำเนินการสืบค้น SQL เมื่อเผยแพร่โครงการ (โดยไม่ทราบว่า SQL) ในกรณีนี้คุณต้องมีเอกสาร))
superM

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

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

สิ่งนี้จะแตกต่างกันไปสำหรับ บริษัท ที่แตกต่างกัน แต่ทุกที่ที่ฉันทำงานกระบวนการกำหนดค่าเครื่องจะต้องมีการบันทึกเป็นข้อกำหนดเรื่องสัญญา
JohnL

5

ฉันผิดในการสมมติว่ากระบวนการบนเครื่องและกำหนดค่าคอมพิวเตอร์เครื่องใหม่ให้เป็นส่วนหนึ่งของการพัฒนาระบบนิเวศของเราควรมีอยู่หรือไม่?

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

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

ฉันเป็นเด็กที่น่ารังเกียจและควรคิดกระบวนการออกมาและสร้างเอกสารด้วยตัวเองหรือไม่?

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

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


1

สิ่งแรกคุณต้องลง Visual SourceSafe ฉันคิดว่าต้องบอกว่า อย่างน้อยที่สุดก็ย้ายไปที่ TFS และมีตัวเลือกอื่น ๆ เช่นกัน

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

ทางเลือกหนึ่งคือการสร้างสภาพแวดล้อมการทำงานจากพื้นฐานและใช้เป็นอิมเมจสำหรับนักพัฒนาพื้นฐาน เมื่อนักพัฒนาซอฟต์แวร์เข้ามาสิ่งที่คุณต้องทำคือปรับใช้ภาพนั้นกับเครื่องของเขาและมันควรจะทำงาน

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


1

เมื่อฉันเริ่มงานปัจจุบันของฉันเรามีขั้นตอนที่ทำเป็นเอกสารสำหรับการตั้งค่าพีซีนักพัฒนาซอฟต์แวร์

ฉันทำตามขั้นตอนด้วยตัวเองโดยหลีกเลี่ยง "ความช่วยเหลือ" ของทีมที่มีอยู่

(ความรู้จะต้องเป็นตัวเป็นตนในเอกสารไม่ใช่นักพัฒนาที่ยาวที่สุด)

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

หลังจากฮาร์ดดิสก์ล้มเหลวในอีกหนึ่งปีต่อมามันใช้เวลา 2 วันในการสร้างใหม่

บอกเจ้านายของคุณ: หากฮาร์ดไดรฟ์ล้มเหลวบนพีซีเครื่องนั้นจะไม่มีการพัฒนาเกิดขึ้น!

ฉันตัดสินใจว่า 2 วันมันเสียไปสองวัน ....

ตอนนี้เราใช้เครื่องเสมือนกับดิสก์อิมเมจสำหรับแต่ละโครงการพัฒนา

การตั้งค่าคือการคัดลอกอิมเมจ VM ไปยังพีซีเป้าหมายและเริ่มต้น มีไอคอนชื่อ "runme" ที่คุณคลิกมันจะถามชื่อผู้ใช้ของคุณแล้วเปลี่ยนชื่อผู้ใช้ที่ใช้ในการเข้าถึงซอร์สโค้ดของคุณเอง นอกจากนี้ยังเปลี่ยนฟิลด์ผู้เขียนเอกสารว่างของ IDE เป็นชื่อของคุณ

(ฉันเขียน runme ในเวลาประมาณ 2 ชั่วโมงเราเป็นนักพัฒนาเราเขียนปัญหาของเราออกไป)

พีซีสำหรับนักพัฒนาของเราเป็นเครื่องมาตรฐานยกเว้นเซิร์ฟเวอร์ VM

เรากำลังใช้เวอร์ชัวร์บ็อกซ์ซึ่งไม่แพง

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

การเปิดเผยอย่างเต็มรูปแบบ: ฉันเป็นหัวหน้าทีมที่ฉันทำงานและผู้บริหารของฉันมอบบังสุกุล (ฟรี) ให้ฉัน


ฉันมักจะสงสัยเกี่ยวกับการทำ VMs แทนที่จะตั้งค่าทุกอย่างบนพีซี มี VM ที่ดีและเก่าแก่สำหรับการพัฒนาและไม่ต้องกังวลว่าพวก IT จะบังคับให้มีการอัปเดต
Joel Rondeau

เมื่อฉันแก้จุดบกพร่องโปรแกรม C ++ โต้ตอบกับหลาย DLL ของระบบเมื่อมีการปรับปรุงโปรแกรมป้องกันไวรัส มันเปลี่ยน DLL บางตัว เดาฉันจะไม่ทำซ้ำการทดสอบนั้นอีกครั้ง
ทิม Williscroft

0

ควรมีเอกสารบางอย่างที่บอกว่าต้องใช้ซอฟต์แวร์ใดในการรวบรวมและเรียกใช้แอปพลิเคชัน

ควรมีเอกสารสรุปสิ่งที่กล่องไคลเอนต์ต้องการเพื่อเรียกใช้แอปพลิเคชัน

พวกเขาไม่ใช่รายการเดียวกัน

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.