ฉันชอบการทำซ้ำขนาดเล็ก ฉันชอบการทดสอบหน่วย ฉันชอบรีวิวโค้ด สิ่งที่ฉันไม่ชอบคือการเริ่มต้นด้วยเอกสารเพียงเล็กน้อยหรือไม่มีเลย ฉันอยู่คนเดียวในเรื่องนี้? ฉันเพียงแค่มีความเข้าใจผิดเกี่ยวกับกระบวนการนี้หรือไม่?
ความคิดใด ๆ ที่จะได้รับการชื่นชม.
ฉันชอบการทำซ้ำขนาดเล็ก ฉันชอบการทดสอบหน่วย ฉันชอบรีวิวโค้ด สิ่งที่ฉันไม่ชอบคือการเริ่มต้นด้วยเอกสารเพียงเล็กน้อยหรือไม่มีเลย ฉันอยู่คนเดียวในเรื่องนี้? ฉันเพียงแค่มีความเข้าใจผิดเกี่ยวกับกระบวนการนี้หรือไม่?
ความคิดใด ๆ ที่จะได้รับการชื่นชม.
คำตอบ:
โปรดจำไว้ว่า Agile ไม่ได้แปลว่าไม่มีเอกสารเลย Agile แปลว่าคุณเข้าใจ "ลูกค้า" ไม่ทราบทุกสิ่งที่พวกเขาต้องการดังนั้นพวกเขาจึงไม่สามารถให้เอกสารความต้องการขนาดใหญ่ที่สามารถสรุปได้ทุกอย่าง Agile สนับสนุนให้คุณพูดคุยกับลูกค้าอย่างต่อเนื่องและพูดว่า "นี่คือสิ่งที่คุณต้องการหรือไม่" หรือ "X จะทำงานอย่างไรเมื่อ Y เกิดขึ้น" ดังนั้นคุณต้องสร้างข้อกำหนดร่วมกัน
ที่กล่าวว่าไม่มีอะไรผิดปกติกับคุณถ้าคุณไม่ชอบวิธีการเฉพาะ คนส่วนใหญ่ดูเหมือนจะเลือกและเลือกแง่มุมต่าง ๆ ของวิธีการต่างกัน
ระเบียบวิธี Agile ระบุว่าคุณจะทำสิ่งที่คุณต้องการในเวลานั้นเท่านั้น หากคุณต้องการ / ต้องการเอกสารมากกว่าที่กำหนดนั่นแสดงว่าเป็นปัญหาของกระบวนการไม่ใช่คุณ มีหลายครั้งที่จำเป็นต้องมีเอกสารจำนวนมากสำหรับโครงการเพื่อดำเนินการต่อ มันไม่ตรงกันข้ามกับ Agile ที่ต้องการสิ่งนี้ คุณไม่สามารถพิสูจน์ให้เห็นถึงความต้องการที่หย่อนคล้อยภายใต้หน้ากากของ Agile จริงๆแล้วนี่เป็นปัญหาใหญ่ที่ฉันเคยเห็น ผู้คนจำนวนมากขี้เกียจหน้าและชอล์กมันออกไปตามกระบวนการ คำถามจริงจะต้องมีการถาม "devs มีสิ่งที่พวกเขาต้องการหรือไม่" หากคำตอบคือไม่จำเป็นต้องทำงานมากกว่านี้
ตอนนี้สามารถนำไปสุดโต่งและใครบางคนสามารถพูดว่า "ดีฉันไม่สามารถทำงานได้เว้นแต่ว่ามีการบันทึกโปรแกรมทั้งหมด" บางครั้งสิ่งนี้เป็นความจริง แต่ทีมจำเป็นต้องตรวจสอบและดูว่าสิ่งนี้จำเป็นจริงๆหรือไม่
ฉันไม่เห็นสาเหตุที่ทำให้คุณเป็นโปรแกรมเมอร์ที่ไม่ดีเพราะคุณไม่ชอบวิธีการเฉพาะ มันอาจทำให้มันยากสำหรับคุณที่จะรวมเข้ากับร้านค้าที่ใช้มัน ที่ถูกกล่าวว่าฉันมีข้อสงสัยเกี่ยวกับวิธีการใช้อย่างมีประสิทธิภาพทุกที่
สิ่งที่ทำให้คุณเป็นโปรแกรมเมอร์ที่ไม่ดีคือรหัสไม่ดี - รู้ง่าย - แต่คุณสามารถชอบ / เก่งในทุกวิธีที่คุณชอบและยังเป็นโปรแกรมเมอร์ที่ไม่ดีเพราะรหัสของคุณไม่เพียงพอ
แนวคิดพื้นฐานของ Agile คือถ้าคุณไม่มีของฝากล่วงหน้าคุณไม่สามารถมองเห็นอนาคตไกลได้ ดังนั้นคุณไม่สามารถบันทึกสิ่งที่คุณไม่สามารถคาดการณ์ได้
ไม่ได้หมายความว่าคุณไม่มีเอกสารเลย คุณออกแบบเอกสารทางเทคนิคสำหรับข้อกำหนดปัจจุบัน (และแน่นอนว่าคุณต้องการเอกสารด้วยตัวเอง) และคุณจัดทำเอกสารการนำไปใช้งานในปัจจุบัน คุณไม่ได้คาดหวังว่าจะจัดทำเอกสารว่าระบบจะดูแลการวิ่งเพิ่มอีก 10 ครั้งอย่างไรเนื่องจากคุณอาศัยอยู่ในโลกที่มีพลวัต
ฉันคิดว่าคุณเข้าใจผิดกระบวนการ คุณต้องการเอกสารอะไร ก่อนเริ่มต้นคุณต้องมีเป้าหมายบางอย่าง ฉันเริ่มด้วยกรณีการใช้งานที่รวบรวมจากการสนทนากับลูกค้าของฉัน ฉันไม่ใช้เวลาหลายวันในการสร้างไดอะแกรมแฟนซี เราพูดแล้วฉันจะเขียนหน้า Wiki และเราไปที่ จากนั้นฉันก็เขียนแบบทดสอบ จากนั้นฉันก็เขียนโค้ด
มีการผสมผสานกันอย่างไร้ขีด จำกัด ของขนาดทีมโดเมนภาษาบุคลิกภาพงบประมาณและข้อกำหนด ไม่มีวิธีการใดวิธีหนึ่งที่ดีที่สุดสำหรับทุกสถานการณ์ ในทำนองเดียวกันผู้คนจำนวนมากมีความชอบส่วนตัวและสไตล์
แม้ว่าคุณจะไม่ชอบมันก็คุ้มค่าที่จะลองแนวคิดใหม่ ๆ วิเคราะห์ผลลัพธ์อย่างยิ่ง มีหลายสิ่งหลายอย่างที่ฉันไม่ชอบ แต่หลังจากลองไปซักพักเรียนรู้ที่จะรัก เหมือนมะกอก
สิ่งอื่น ๆ คือการเปลี่ยนแปลงแฟชั่นอย่างสม่ำเสมอ ฉันโตมากับน้ำตกฉันทำงานในทีมที่พยายามทำทุกอย่างในกระบวนการ Rational Unified Process ซึ่งเป็น "สิ่งที่ดีที่สุด" ในเวลานั้น เร็ว ๆ นี้ Agile จะถูกแทนที่ด้วยสิ่งใหม่และดีกว่าและไม่มีใครจะพูดถึงคำ Agile อีกครั้ง
ดังนั้นอย่ารู้สึกว่าคุณต้องการวิธีการหนึ่งอย่างเช่น Agile (ส่วนตัวฉันไม่ชอบมัน) มันไม่ได้ทำให้คุณเป็นโปรแกรมเมอร์ที่ไม่ดี