ซอฟต์แวร์ชุบทอง
ครั้งแรกที่ฉันเห็นการชุบทองที่ใช้เป็นคำอธิบายสำหรับซอฟต์แวร์อยู่ในกระดาษโดย Barry Boehmซึ่งเขาได้ให้รากสาเหตุดังต่อไปนี้:
ชุบทอง ข้อกำหนดความต้องการคงที่ล่วงหน้าของการออกแบบมีแนวโน้มที่จะส่งเสริมให้ชุบทองซอฟต์แวร์ ผู้ใช้ถามเกี่ยวกับข้อกำหนดของพวกเขามักจะมีเหตุผล“ ฉันไม่รู้ว่าฉันจะต้องใช้คุณสมบัตินี้หรือไม่ แต่ฉันก็อาจระบุไว้ในกรณีเช่นกัน”
ในคำอธิบายของเขาเขาแนะนำให้ใช้วิธีการที่อธิบายไว้ในงานวิจัยของเขารวมถึงแบบจำลองวงจรชีวิตซอฟต์แวร์แบบหมุนวนที่โครงการถูกกำหนดขอบเขตเพื่อสร้างต้นแบบหนึ่งชุดต่อหนึ่งรอบและเมื่อเกลียวมีขนาดใหญ่ขึ้น Spiral มีอิทธิพลอย่างกว้างขวางในหมู่นักวิจัยซอฟต์แวร์และเป็นสะพานที่สำคัญระหว่างน้ำตกและ Agile ข้อ จำกัด ที่สำคัญของเกลียวคือทุกครั้งที่หมุนวนรอบวงรอบจะยาวและมีราคาแพงกว่า
เช่นเดียวกับ Agile เกลียวพยายามหลีกเลี่ยงการชุบทองโดยกำหนดขอบเขตให้แคบลงและกำหนดเวลาการส่งมอบโครงการให้นานพอที่ทีมจะสามารถทำข้อกำหนดให้เสร็จได้ในขณะเดียวกันก็สั้นพอที่จะให้ความสำคัญกับเป้าหมายตั้งแต่วันแรกจนถึงวันส่งมอบ วิธีหนึ่งที่วิธีการแบบ Agile เช่น Scrum นั้นเหนือกว่าคือ Scrum จะวิ่งในกรอบเวลาที่ไม่ต้องใช้การวนซ้ำอีกต่อไป จากบทความการจัดการโครงการดูเหมือนจะมีอิทธิพลต่อการชุบทองมากกว่านักพัฒนารายบุคคล
ความสามารถพิเศษสำหรับ Time Boxing
ความสามารถในการจับเวลากล่องเป็นสิ่งสำคัญมาก แต่มันไม่ใช่ทักษะไบนารี คุณไม่มีหรือขาดมัน คุณจะดีขึ้นหรือน้อยลงด้วย ไม่ว่าจะมาจากเจ้านายของคุณหรือจากคุณฉันต้องการถ้าไม่มีใครบอกว่าคุณไม่สามารถหยุดการชุบทองได้ นั่นฟังดูเป็นเรื่องส่วนตัวแพร่หลายและถาวร
การวิเคราะห์สาเหตุที่แท้จริงอาจช่วยระบุปัญหาต่างๆ ฉันค่อนข้างแน่ใจว่าพวกเขาจะไม่ทั้งหมดชี้ไปที่คุณและถ้าคุณทำงานกับโรคจิตคนอื่น ๆ ในทีมของคุณจะเห็นความต้องการที่คล้ายกันเพื่อพัฒนาทักษะความคล่องตัวของพวกเขา ถ้าคุณรู้จักใครที่ไม่มีปัญหาคุณก็จะไม่รู้จักเขาดีนัก หากคุณรู้จักใครที่คิดว่าไม่จำเป็นต้องปรับปรุงเขาจะไม่รู้จักตัวเองดีนัก
ฉันหวังว่าการปรับปรุงที่คุณระบุจะเป็นสิ่งที่คุณสามารถแก้ไขได้ด้วยการรับรู้ของคุณเองและความช่วยเหลือจากทีม อย่างไรก็ตามฉันคิดว่านั่นไม่ใช่จุดสิ้นสุด ความคาดหวังของฉันจากหัวหน้างานหรือผู้จัดการที่เขียนรีวิวของคุณก็คือพวกเขาสามารถฝึกลูกน้องให้ประสบความสำเร็จได้ สิ่งนี้มีความสำคัญอย่างยิ่งเมื่อองค์กรกำลังเปลี่ยนแปลงการปฏิวัติเช่นการเปลี่ยนจากการวางแผนเป็น Agile (หรือ ad-hoc เป็น Agile)
ต้นแบบที่มีการจัดการอย่างรวดเร็วและสกปรกหรือมีความเสี่ยง?
ฉันมีผู้จัดการที่เคยขอให้ทำงานในลักษณะที่แน่นอน
รวดเร็วและสกปรก แต่เป็นเรื่องของความงาม
เขารู้ถึงความโง่เขลาของเรื่องนี้และมันเป็นส่วนหนึ่งของอารมณ์ขันที่ไร้สาระ หลายคนพูดแบบนี้และพวกเขาก็ตายไปแล้ว ที่ใดที่หนึ่งมีการประนีประนอมหรือโอกาสในการบรรเทาปัญหาด้วยการปรับปรุงเทคโนโลยีหรือวิธีการ
เราจะเสียสละอะไรให้เหมาะกับเวลาของเรา
ในบทที่หนึ่งของExtreme Programming Explainedฉบับที่สอง Kent Beck พูดถึงสิ่งที่ต้องทำในการเคลื่อนที่อย่างรวดเร็ว คำตอบของเขาคือ "คุณทำในสิ่งที่คุณต้องทำเพื่อสร้างคุณค่าให้กับลูกค้า"
อันตราย
ในฉบับพิมพ์ครั้งแรกของหนังสือเล่มเดียวกันเบ็คระบุความคิดเห็นของ Boehm เกี่ยวกับการควบคุมความเสี่ยงที่มีความสำคัญต่อวิธีการของเขาโดยพูดว่า:
"ความเสี่ยงเป็นปัญหาพื้นฐานของการพัฒนาซอฟต์แวร์"
ในทั้งสองรุ่นเบ็คแสดงรายการและอธิบายความเสี่ยงทั่วไปแปดประการตามด้วยการยืนยันว่า XP (หรืออาจเป็นแบบขยาย Agile) จะระบุที่อยู่แต่ละวิธีด้วยวิธีเฉพาะ สำหรับฉันคำอธิบายของเขาส่วนใหญ่ใช้การเพิ่มขึ้นทีละน้อยและการทำซ้ำที่เร็วขึ้นทำให้เราสามารถนำสิ่งต่าง ๆ กลับมาได้ก่อนที่ความเสี่ยงจะใหญ่เกินกว่าจะรับมือได้
ความพอเพียงของจิตใจ
เบ็คพูดถึงทรัพยากรในบริบทของเรื่องราวเกี่ยวกับชาวภูเขาและชาวป่าและแนะนำแนวคิดที่เรียกว่า "ความพอเพียงของความพอเพียง" ในบริบทของสถานการณ์ของคุณเขาถามว่า "คุณจะทำอย่างไรถ้าคุณมีเวลาเพียงพอ" เพียงแค่บทแรกในบทนี้ซึ่งเป็นตัวอย่างหนังสืออาจให้อาหารมากมายสำหรับความคิดเกี่ยวกับวิธี XP (และวิธีการ Agile อื่น ๆ ) คิดเกี่ยวกับข้อ จำกัด เช่นเวลา
การบีบบังคับอาจเป็นอาการไม่ใช่โรค
หลายปีที่ผ่านมาฉันดูหนังสือเกี่ยวกับการผัดวันประกันพรุ่งที่ระบุว่าการผัดวันประกันพรุ่งมากมายมีต้นกำเนิดมาจากความกลัว หากคุณไม่เริ่มต้นคุณจะไม่ทำผิดพลาดและบางทีคุณอาจไม่ถูกวิจารณ์ การบีบบังคับและลัทธิพอใจ แต่สิ่งดีเลิศให้สิ่งที่ความรู้สึกทางศีลธรรมของเราบอกเราดีกว่าการผัดวันประกันพรุ่ง แต่อาจมีผลเดียวกัน พิจารณาว่าบางทีคุณอาจมีปัญหากับการผัดวันประกันพรุ่งในรูปแบบอื่น?
คำติชมและการแข่งขัน
ในวิธีการแบบเปรียวเช่นการแย่งชิงโอกาสในการถูกวิพากษ์วิจารณ์หรือลงโทษสำหรับการผัดวันประกันพรุ่งไม่เคยสูงขึ้น นั่นคือวงจรอุบาทว์ ฉันผัดวันประกันพรุ่งเพราะฉันถูกวิพากษ์วิจารณ์ฉันถูกวิพากษ์วิจารณ์เพราะฉันผัดวันประกันพรุ่ง ด้วยการประชุมทะเลาะกันทุกวันเราจะตื่นตัวอยู่เสมอเพราะเรามักจะรายงานวันหนึ่งหรือน้อยกว่าจากการรายงานไปยังทีมที่เราทำสำเร็จ
ในทีมในอุดมคติ Scrum ให้โอกาสรายวันในการแก้ไขการผัดวันประกันพรุ่ง ความผิดพลาดไม่ควรมีเวลามากพอที่จะช่วยเหลือ ทีมไม่ได้อยู่ในตำแหน่งที่ควรเชื่อถือ - ไว้ใจดังนั้นผู้นำในทีมอาจจำเป็นต้องพูดถึงการวิพากษ์วิจารณ์หรือการกลัวคำวิจารณ์เพื่อให้สิ่งต่าง ๆ ก้าวไปข้างหน้า
ในโลกแห่งการทำงานของเราแต่ละคนในทีมต้องแข่งขันกับผู้อื่นด้วย เป็นเรื่องจิตเภทเล็กน้อยที่จะเชื่อในการมีทีมที่แบ่งปันงานและความรุ่งโรจน์สำหรับความสำเร็จ แต่จากนั้นใช้กระบวนการจัดการประสิทธิภาพประจำปีที่ให้รางวัล 20% ของสมาชิกลงโทษหรือ expels สมาชิก 10% หรือมากกว่านั้นและ แสร้งว่าส่วนใหญ่ 70% ก่อให้เกิดสิ่งที่ดีที่สุดโดยไม่มีแรงจูงใจ ฉันคิดว่านี่เป็นช้างตัวใหญ่ในห้อง WRT ที่ส่งเสริมการทำงานเป็นทีมและเพื่ออ้างอิงเรื่องราวของ Kent Beck มันแสดงให้เห็นถึงความผูกพันทางวัฒนธรรมที่ลึกซึ้งในการเป็นชาวเขา
ทางข้างหน้า
ในฐานะสมาชิกของทีมเปรียวการศึกษาและพูดคุยกับผู้อื่นเกี่ยวกับสิ่งที่ใช้ได้ผลดี หากทีมของคุณใช้ TDD เพื่อทำการทดสอบหน่วยของพวกเขาด้วยเครื่องมือให้รับคนที่ดีที่สุดมาฝึกสอนคุณ หากหัวหน้างานหรือผู้จัดการของคุณมีปัญหาเกี่ยวกับวิธีการจัดทำเอกสารของคุณค้นหาสิ่งที่เขาชอบหรือผู้ที่ทำสิ่งที่เขาชอบและทำตามแนวทางของพวกเขา หากความเร็วในการเขียนโค้ดลดลงให้ตรวจสอบสิ่งที่ต้องใช้ในการโค้ดได้เร็วขึ้น
ผู้นำสามารถก้าวไปในทิศทางที่ถูกต้องโดยการสร้างแบบจำลองพฤติกรรมที่ต้องการเช่นพูดคุยอย่างตรงไปตรงมาเกี่ยวกับปัญหาของตัวเอง (ไม่ใช่ของคนอื่น) เสนอและติดตามผ่านความช่วยเหลือ ทิ้งไว้ข้างหลัง). ไม่ใช่ทุกคนในทีมที่มีความสามารถเหมือนกัน อาจเหมาะสมในการสำรวจสมาชิกในทีมจับคู่หรือมอบหมายงานและบทบาทที่สามารถเน้นจุดแข็งเสริมของคนที่เกี่ยวข้อง การวางแผนเพื่อการเติบโตหรือการฟื้นฟูทักษะควรเป็นส่วนที่คุ้มค่าของงานทั้งสำหรับหัวหน้างานและผู้ใต้บังคับบัญชา แต่ต้องเกิดขึ้นเร็วและบ่อยครั้งเพื่อให้มีประสิทธิภาพ