ในทีมของเรานับตั้งแต่มีความคล่องตัวเราได้พยายามแคบลงและเข้าใจว่าจำเป็นต้องใช้เอกสารมากแค่ไหน ฉันสามารถแบ่งปันกับคุณในสิ่งที่เราเรียนรู้มาจนถึงตอนนี้
ก่อนสิ่งอื่นให้แน่ใจว่าจะอ่านบทความเกี่ยวกับเปรียว / เอกสารแบบ อ่านดีมาก
ประการที่สองฉันขอแนะนำให้คุณพิจารณาการผลิตเอกสารการออกแบบอีกครั้งหลังจากทำงานเบื้องต้นในเรื่องต่างๆ เราเคยลองใช้มาก่อนและมันพิสูจน์แล้วว่าเป็นขยะ ในช่วงกลางของรีลีสล่าสุดเราตัดสินใจที่จะอัปเดตเอกสารการออกแบบเท่านั้นหลังจากโค้ดสำหรับเรื่องราวถูกส่งมอบ และตอนนี้ฉันก็คิดว่ามันเร็วเกินไป
คุณต้องถามตัวเองว่าทำไมคุณถึงต้องการออกแบบเอกสารก่อนการเข้ารหัส สำหรับพวกเราด้วยเหตุผลเหล่านี้:
- เราในฐานะทีมต้องเข้าใจว่าเรื่องราวจะส่งผลต่อการออกแบบอย่างไร
- การมีเอกสารการออกแบบได้พิสูจน์แล้วว่ามีประโยชน์เมื่อสมาชิกใหม่ (หรือชั่วคราว) เข้าร่วมทีมหรือเมื่อกลับไปใช้รหัสที่ไม่มีใครทำงานมานานกว่าหนึ่งปี ดังนั้นจึงมีประโยชน์สำหรับหน่วยความจำขององค์กรเพื่อช่วยให้เข้าใจวิธีการทำงานของรหัส
- เอกสารการออกแบบมีประโยชน์สำหรับวิศวกรซ่อมบำรุงที่อาจจำเป็นต้องแก้ไขปัญหารหัสหลังจากการเปิดตัว
เพื่อให้เป็นไปตาม (1) คุณไม่จำเป็นต้องสร้างเอกสารการออกแบบจริง ทีมของคุณควรมีขั้นตอนการออกแบบก่อนการเข้ารหัส แต่ขั้นตอนนั้นสามารถทำได้ง่ายเพียงแค่ใช้เวลา 15 นาทีต่อหน้าไวท์บอร์ดหรือผ้าเช็ดปาก คุณไม่จำเป็นต้องสร้างเอกสารจริงที่จะใช้เวลาเป็นชั่วโมง (ถ้าไม่ใช่วัน) เพื่อเขียนเพียงเพื่อหารือเกี่ยวกับการเปลี่ยนแปลงการออกแบบ
(2) หรือ (3) ไม่จำเป็นในระหว่างการพัฒนาเรื่องราวปัจจุบันและมากกว่านั้นพวกเขาจะไม่จำเป็นสำหรับการวนซ้ำในภายหลัง
โปรดทราบว่าทุกครั้งที่สมาชิกในทีมกำลังเขียน / อัปเดตเอกสารการออกแบบนั่นคือเวลาที่ไม่ได้เขียนรหัส เมื่อคุณเขียนเอกสารก่อนรหัสจริงมีโอกาสเกือบ 100% ที่เอกสารเหล่านั้นจะต้องได้รับการอัปเดตเพราะเมื่อคุณเริ่มการออกแบบการเขียนโค้ดจะมีการเปลี่ยนแปลงเสมอ และแม้ว่าคุณจะเขียนเอกสารการออกแบบหลังจากโค้ดในขณะที่ทีมของเราได้เรียนรู้การปรับโครงสร้างจากเรื่องราวที่ตามมายังคงเป็นการเปลี่ยนแปลงการออกแบบ
ดังนั้นสิ่งที่ฉันอยากจะแนะนำ:
- เริ่มแรกผลิตการออกแบบ / โมเดลชั่วคราวให้เพียงพอเพื่อให้ทีมของคุณสามารถสนทนาอย่างชาญฉลาดก่อนการเข้ารหัส อย่าคาดหวังที่จะเก็บสิ่งเหล่านี้และไม่ต้องเสียเวลากับการทำให้เป็นระเบียบ
- ผลิตเอกสารการออกแบบอย่างเป็นทางการเฉพาะเมื่อมีคนต้องการ (เช่นทีมของคุณมีความต้องการที่แท้จริงสำหรับหน่วยความจำขององค์กร)
- จัดทำเอกสารการออกแบบบนโค้ดที่มีความเสถียรเท่านั้น ไม่มีจุดใดที่พยายามบันทึกโมดูลที่เปลี่ยนแปลงตลอดเวลาในการทำซ้ำ
- ผลิตเอกสารการออกแบบที่อธิบายโมดูล (หรือบางส่วนของผลิตภัณฑ์) ในอดีตเราเคยเขียนเอกสารการออกแบบซึ่งบันทึกการเปลี่ยนแปลงที่ต้องทำ เอกสารเหล่านั้นไร้ค่าอย่างสมบูรณ์ทันทีที่มีการเปิดตัว
- ทำให้เอกสารอยู่ในระดับสูงมาก หากคุณเขียน 20 หน้าซึ่งครอบคลุมสถาปัตยกรรมและการออกแบบระดับสูงมากเอกสารนั้นจะ) คนอื่น ๆ ที่ถูกอ่านและข) จะช่วยให้ผู้คนคุ้นเคยกับรูปแบบทั่วไปของรหัสของคุณ สำหรับรายละเอียดผู้คนสามารถตรงเข้าไปในรหัส หากคุณเขียนข้อมูลจำเพาะโดยละเอียด 700 หน้าพวกเขามักจะไม่ตรงกับความเป็นจริงมันมากเกินไปสำหรับทุกคนที่จะอ่านและคุณจะต้องบำรุงรักษาและปรับปรุง 700 หน้าแทนที่จะเป็น 20 หน้าเมื่อมีการเปลี่ยนแปลงในอนาคต