วิธีส่งเสริมการยอมรับการควบคุมเวอร์ชัน


21

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


4
ฉันจะเพิ่มคำตอบ แต่ไม่สามารถทำได้ ฉันพูดไม่ออก (หรือมากกว่าพิมพ์) เกือบ 40 ปีแล้วที่ SCCS ปรากฏตัวครั้งแรก ยังมีองค์กรที่ไม่ใช้การควบคุมเวอร์ชันสำหรับสิ่งใดนอกจากโครงการที่ง่ายที่สุด? (ทุกวันนี้มันสุดขีดคนอื่น ๆ บางคนมีโฮมไดเร็กตอรี่เป็นที่เก็บข้อมูล)
David Hammen

11
อย่าสนับสนุนมัน ต้องการมัน
Steven Evers

1
ตอนนี้ บริษัท ที่ฉันปรึกษากับ บริษัท ขนาดใหญ่กว่าที่เราเป็นและฉันยังไม่พบ บริษัท ที่ใช้การควบคุมแหล่งที่มา ... หลังจากคิดถึงคำแถลงนั้นฉันก็สามารถเห็นได้ทันทีว่าทำไมพวกเขาถึงต้องการคนอื่นเพื่อแก้ไขปัญหาของพวกเขา สิ่งแรกที่เราทำมักจะเป็นความต้องการที่พวกเขาตั้งค่าเพื่อให้เราสามารถใช้เพื่อรวมและจัดการการเปลี่ยนแปลงและของเรา ตามที่ @SnOrfus ระบุไว้ให้เรียกร้อง คุณสามารถชี้ไปที่เอกสารทั้งหมดที่ระบุไว้ว่าเป็นแนวปฏิบัติที่ดีที่สุดเช่นกัน
Joshua Dale

7
ฉันอยู่กับ SnOrfus มีคำตอบที่ดีที่นี่ แต่ท้ายที่สุดถ้าคุณไม่ได้รับการตอบรับในเชิงบวกทันทีถึงเวลาที่ต้องไป เช่น David Hammen ฉันพูดไม่ออกเลยว่าในปี 2011 นักพัฒนาซอฟต์แวร์คนใดก็ตามที่อยู่ในสถานการณ์ที่พวกเขาต้องจัดการกับปัญหาเช่นนี้ การขาดการควบคุมเวอร์ชันเป็นความผิดปกติที่ไม่เป็นที่ยอมรับ
Carson63000

2
แอบในคืนเดียวและลบฮาร์ดไดรฟ์ของพวกเขา ไม่ล่ะขอบคุณ. พ้นช่วงเวลาของความเป็นมืออาชีพที่นั่น
DJClayworth

คำตอบ:


7

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

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

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

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

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

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

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

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


5

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

ประเด็นหลักที่นี่คือถ้าพวกเขามีวิธีหลอกทำงาน SCM บางทีเก็บรุ่นปัจจุบันบนเซิร์ฟเวอร์ที่อื่นคุณต้องพิจารณาว่า DVCS หรือ CVS เหมาะสมกว่าหรือไม่ลองขาย Mercurial ถ้า SVN เหมาะสมกว่า


3

วิธีที่รวดเร็วที่สุดคือการโน้มน้าวใจผู้บริหารว่าเป็นสิ่งจำเป็น

ทำการคำนวณบางอย่าง:

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

ต้นทุนของการไม่ใช้การควบคุมเวอร์ชัน:

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

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

ทีมพัฒนาควรเข้าใจค่าใช้จ่ายเหล่านี้และกำหนดว่าซอฟต์แวร์ควบคุมเวอร์ชันส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) รวมเข้ากับ IDEs อย่างราบรื่นในทุกวันนี้


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

@Thomas - ด้วยเหตุนี้สายของฉันเกี่ยวกับค่าใช้จ่ายในการดำเนินการ (ซึ่งอาจดูไม่ดี)
ChrisF

การแก้ไขทำให้ดีขึ้นมาก
Thomas Owens

1

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


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

@Thomas จริงเสียงมากขึ้นมากขึ้นสร้างเสียงรบกวนและทำให้มีแนวโน้มที่จะได้รับความสนใจผู้บริหาร
rrazd

1

มีแง่มุมหนึ่งที่คนอื่น ๆ ที่นี่ไม่ได้สัมผัสกับสิ่งที่ฉันคิดว่าคุณมีอยู่ในมุมของคุณ - คุณกำลังพูดถึงการควบคุมเวอร์ชันแบบกระจาย - โดยธรรมชาติแล้วคุณสามารถแอบเข้าไปปฏิบัติจริง ขณะนั้น. ด้วยการควบคุมเวอร์ชันที่น่าเบื่อเหมือนกับสิ่งที่เราใช้ในสำนักงานของฉัน (MS Visual SourceSafe) คุณจะมีช่วงเวลาที่ยากลำบากในการขึ้นไปหาผู้ชายในคิวบ์ตรงข้ามกับฉันและขายเขาแบบตัวต่อตัวในข้อดีของ การควบคุมเวอร์ชัน อย่างไรก็ตามด้วย DVCS (คุณ) คุณสามารถพูดว่า "เฮ้ลองนี่และดูว่าคุณชอบไหมฉันจะให้คุณดูเชือกและฉันยินดีที่จะตอบคำถามใด ๆ เดินผ่านคุณ blah blah blah" ด้วยวิธีนี้คุณไม่จำเป็นต้องมี "กระบวนการ" จากบนลงล่างคุณสามารถสร้างอาณัติระดับรากหญ้าได้ทีละคน


0

สร้างคำตอบของ gbjbaanb

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

ฉันเองก็ชอบ Mercurial เช่นกัน แต่ฉันไม่ต้องการที่จะกำหนดให้กับคนที่ไม่คุ้นเคยกับการควบคุมเวอร์ชันเพราะมันยากที่จะเข้าใจมากกว่าเซิร์ฟเวอร์เก่าที่ใช้ระบบควบคุมการล็อกเวอร์ชันเก่า ที่กล่าวว่าหากเป็นเว็บไซต์ที่มีทุ่งหญ้าสีเขียวจริงมันอาจเป็นการดีที่สุดที่จะไปเที่ยวหมูทั้งตัวให้ข้ามช่วง '80s &' 90s ไปกับ Mercurial ฉันยังดูที่วงจรชีวิตของซอฟต์แวร์บุคคลที่สามบางอย่างที่สร้างขึ้นรอบ ๆ Mercurial - ฉันแน่ใจว่ามี แต่ชื่อ 'มันหนีฉันไป)

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


ขอบคุณสำหรับคำตอบทั้งหมดของคุณคำถามนี้สามารถตั้งคำถามชุมชนได้หรือไม่? พลังที่ให้ฉันพูดสั้น ๆ / สาธิต 15 นาทีเกี่ยวกับวิธีที่ฉันใช้มัน อุปสรรค์หนึ่งที่ใช้มันคือใคร มันเป็น shareware / bloatware จากอินเทอร์เน็ตหรือไม่? ฉันต้องการสงบความกลัวโดยชี้ไปที่ บริษัท ที่มีชื่อเสียงที่ใช้ / สนับสนุน Mercurial (DCVS) ใด ๆ ในเชิงพาณิชย์ ใครช่วยฉันอ้างอิงบาง บริษัท ที่ใช้ Hg ได้บ้าง หรือผลิตภัณฑ์ที่รู้จักกันดีอื่น ๆ ใช้มัน มีการต่อต้าน (โอ้อวดจ้องเคลือบ) ไปยังโอเพนซอร์สผู้จัดการบางคนดูเหมือนจะสงสัยว่าซอฟต์แวร์ที่พวกเขาไม่จ่ายเงิน
Man Wa kileleshwa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.