เขียนคู่มือของนักพัฒนาทั้ง บริษัท


17

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

เขียนโค้ดทดสอบใส่ในไฟล์. zip และส่งไปยังลูกค้า คะแนนโบนัสสำหรับ TDD และการควบคุมเวอร์ชัน

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

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

หมายเหตุด้านข้าง: หากเป็นเรื่องสำคัญเราจะเป็นร้านค้า Microsoft .NET เป็นหลัก และเรากำลังดูวิธีปฏิบัติที่คล่องตัวเช่น XP และ Scrum แต่เราอาจต้องปรับเปลี่ยนอย่างมากเพื่อให้ทำงานใน บริษัท ของเรา


3
กระบวนการปัจจุบันของคุณแย่มาก คุณมีฝ่ายสนับสนุนของ บริษัท ที่จะเปลี่ยนกระบวนการปัจจุบันของคุณจะไม่ถูกหรือไม่ประเภทของการเปลี่ยนแปลงที่จำเป็นจะต้องใช้เงิน มีหนังสือจำนวนมากเกี่ยวกับเรื่องนี้ส่วนใหญ่ pracices มีเครื่องมือที่จำเป็นต้องใช้ในพวกเขาในแบบที่ไม่ต้องใช้ความพยายามอย่างมาก
Ramhound

ช้อปปิ้งสำหรับหัวข้อคู่มือ?
ริ้น

1
@gnat จุดที่ดี ดูการแก้ไข
Phil

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

1
ฉันไม่ได้กังวลเกี่ยวกับวิธีการวัดความสำคัญของหัวข้อเพราะฉันคิดว่าฉันสามารถทำได้แล้ว ค่อนข้างฉันกำลังมองหาตัวอย่าง ฉันถือว่าคำตอบสำหรับคำถามเชิงนามธรรมให้ดีขึ้นเสมอเมื่อมาพร้อมกับตัวอย่าง ดูการแก้ไข BTW ฉันขอขอบคุณที่คุณช่วยทำให้คำถามของฉันดีขึ้น
Phil

คำตอบ:


20

ฉันจะแบ่งมันออกเป็นส่วน ๆ เช่น

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

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

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

สำหรับ Agile / SCRUM:

ส่วนที่ยากที่สุดในการทำ Agile และ SCRUM คือ 'ทำจริง'

สำหรับการอ่านฉันจะเริ่มต้นที่http://agilemanifesto.org/และไปจากที่นั่น

ฉันจะอ่านhttp://www.halfarsedagilemanifesto.org/ซึ่งเป็นที่รู้จักกันดีซึ่งเพิ่มน้ำหนักให้กับความจริงที่ว่าคุณต้องยอมรับทุกด้านเพื่อให้ทำงานได้จริง หากคุณต้องปรับเปลี่ยน Agile อย่างมากสำหรับองค์กรของคุณอาจเป็นไปได้ว่าผู้คนต้องการผลประโยชน์โดยไม่ต้องใช้กระบวนการที่ถูกต้อง ความจริงเรื่องนี้ตัวเองควรจะนำเสนอเพื่อปัดใด ๆ ครึ่ง assyness


6
ฉันชอบความถี่ที่คุณแก้ไขนี้ วิธี ... เปรียวของคุณ :)
Phil

เราไม่จำเป็นต้องปรับเปลี่ยนหลักการเปรียวโดยทั่วไป เราเพียงแค่ปรับเปลี่ยนวิธีปฏิบัติเฉพาะเช่น XP เนื่องจากเราไม่มีกำลังคนที่จะใช้บทบาทที่จำเป็นทั้งหมด นั่นอาจเป็นคำถามอื่นอีกวันหนึ่ง
Phil

ขออภัยฉันลบคำตอบสำหรับตอนนี้เนื่องจากคำถามได้รับการแก้ไขแล้ว
Phil

1
คะแนนโบนัสหากคุณตั้งค่าวิกิของ บริษัทเพื่อเก็บข้อมูลนี้ ...
Spencer Rathbun

สวัสดีสเปนเซอร์นั่นน่าสนใจ ฉันเพิ่งเริ่มใช้ wiki github กับ markdown ความคิดใด ๆ เกี่ยวกับวิธีเปรียบเทียบ เห็นได้ชัดว่าหลาย ๆ คนรู้จัก GitHub จากโค้ดและ Markdown จาก SO ดังนั้นมันจึงเป็นเรื่องง่ายที่จะนำมาใช้
Michael Durrant

4

ดูเหมือนคุณจะต้องแนะนำวิธีปฏิบัติบางอย่างก่อนที่คุณจะจัดทำเอกสาร!

a) การควบคุมแหล่งที่มา - วิธีที่คุณจัดเก็บแหล่งที่มาของคุณและทำการควบคุมการแก้ไข

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

c) การจัดการปัญหา - คุณติดตามข้อบกพร่องในรุ่นของคุณได้อย่างไร

สิ่งเหล่านี้เป็นสิ่งพื้นฐานที่สวย แต่พวกเขาอาจต้องใช้เวลานานมาก


2
+1 สำหรับการทำให้มันง่ายและมุ่งเน้นในประเด็นที่สำคัญ เราไม่ต้องการคำสั่ง "รัฐบาลใหญ่" ในการเขียนโปรแกรม
kirk.burleson

3

หัวข้อที่ฉันจะรวมไว้ในคู่มือผู้พัฒนา:

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

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


2

การใช้การควบคุมแหล่งที่มา

  • เครื่องมือควบคุมแหล่งข้อมูลใดที่คุณกำลังใช้
  • ไวยากรณ์ของคำสั่ง / เครื่องมือทั่วไปใน IDE
  • กลยุทธ์การรวมสาขา / ผสาน
  • หน่วยของการมอบอำนาจควรเป็นอย่างไร นานแค่ไหนที่ไฟล์จะถูกตรวจสอบ / ไม่ได้ยืนยัน?
  • ระดับ "doneness" ระดับใดที่แสดงถึงการยอมรับ / เช็คอิน? รวบรวม? ผ่านการทดสอบหน่วย? สอบทาน?
  • สิ่งที่คาดว่าจะรวมอยู่ในบันทึกย่อสำหรับการกระทำ / เช็คอิน
  • ขั้นตอนการย้อนกลับ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.