The Origin of Architecture Katas (ที่มาของ Architecture Kata)

กว่าทศวรรษที่แล้ว Ted Neward สถาปนิกที่มีชื่อเสียง ได้คิดค้น architecture kata ซึ่งเป็นวิธีที่ชาญฉลาดที่ช่วยให้สถาปนิกมือใหม่ฝึกฝนการดึง architectural characteristics ออกมาจากคำอธิบายที่มุ่งเน้น domain คำว่า kata มาจากภาษาญี่ปุ่น หมายถึงแบบฝึกหัดศิลปะการต่อสู้แบบเดี่ยวที่เน้นท่าทางและเทคนิคที่ถูกต้อง

เราจะได้นักออกแบบที่เก่งได้อย่างไร? แน่นอนว่านักออกแบบที่เก่งเกิดจากการออกแบบ

Fred Brooks

โปรเจกต์สถาปัตยกรรมขนาดใหญ่ต้องใช้เวลา และเป็นเรื่องปกติที่สถาปนิกจะออกแบบระบบเพียงสักครึ่งโหลตลอดอาชีพของตน แล้วเราจะได้สถาปนิกที่เก่งได้อย่างไร? กุญแจสำคัญคือการให้โอกาสสถาปนิกที่มุ่งมั่นได้ฝึกฝนฝีมือของตัวเอง เพื่อสร้างหลักสูตรฝึกฝน Ted จึงสร้างเว็บไซต์ architecture kata แห่งแรกขึ้นมา ซึ่งผู้เขียนของเรา Neal และ Mark ได้ปรับปรุงและอัปเดตไว้ในเว็บไซต์ประกอบหนังสือเล่มนี้ที่ fundamentalsofsoftwarearchitecture.com ตรงตามวัตถุประสงค์เดิม architecture kata เป็นห้องทดลองที่มีประโยชน์สำหรับสถาปนิกที่มุ่งมั่น

Working with Katas (การทำงานกับ Kata)

แนวคิดพื้นฐานคือแบบฝึกหัด kata แต่ละอันจะให้ปัญหาหนึ่งข้อในรูปคำศัพท์ของ domain ชุดข้อกำหนดหนึ่งชุด และบริบทเพิ่มเติมบางส่วน (สิ่งที่อาจไม่ปรากฏในข้อกำหนด แต่อาจมีผลต่อการออกแบบ) ทีมเล็ก ๆ จะทำงานออกแบบ (ประกอบด้วยการวิเคราะห์ architectural characteristics และแผนภาพ) ในเวลาที่กำหนด จากนั้นแต่ละกลุ่มจะแชร์ผลลัพธ์และโหวตว่าใครคิดสถาปัตยกรรมที่ดีที่สุดออกมาได้

แต่ละ kata มีส่วนที่กำหนดไว้ล่วงหน้าดังนี้:

Description

ปัญหาโดยรวมของ domain ที่ระบบกำลังพยายามแก้ไข

Users

จำนวนและ/หรือประเภทของผู้ใช้ระบบที่คาดหวัง

Requirements

ข้อกำหนดของ domain (ตามที่คาดหวังจากผู้ใช้และผู้เชี่ยวชาญด้าน domain)

Additional context

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

เราสนับสนุนให้ผู้อ่านใช้เว็บไซต์นี้ทำแบบฝึกหัด kata ของตัวเอง ใครก็ตามสามารถจัด brown-bag lunch ที่ทีมสถาปนิกมือใหม่มาช่วยกันแก้ปัญหาได้ สถาปนิกที่มีประสบการณ์สามารถประเมินการออกแบบและการวิเคราะห์ trade-off พูดคุยถึง trade-off ที่พลาดไปและการออกแบบทางเลือกอื่น ๆ ไม่ว่าจะทันทีหรือภายหลังก็ได้ การออกแบบจะไม่ซับซ้อนมากนัก เพราะแบบฝึกหัดถูกจำกัดเวลาไว้

ต่อไป เราจะใช้ architecture kata หนึ่งเพื่อแสดงให้เห็นว่าสถาปนิกดึง architectural characteristics ออกมาจากข้อกำหนดอย่างไร ยินดีต้อนรับสู่ kata Silicon Sandwiches