Providing Guidance (การให้คำแนะนำ)

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

เพื่ออธิบายประเด็นนี้ ลองนึกภาพว่าคุณกำลังนำทีมพัฒนาให้ใช้สิ่งที่มักเรียกกันว่า layered stack ซึ่งก็คือกลุ่มไลบรารีจากบุคคลที่สามที่ประกอบกันเป็นแอปพลิเคชัน ทีมพัฒนามักมีคำถามมากมายเกี่ยวกับ layered stack รวมถึงว่าไลบรารีตัวไหนใช้ได้ ตัวไหนใช้ไม่ได้ และพวกเขาสามารถหรือควรตัดสินใจเรื่องไลบรารีด้วยตัวเองได้เมื่อไหร่

คุณอาจเริ่มต้นด้วยการให้นักพัฒนาตอบคำถามต่อไปนี้เกี่ยวกับไลบรารีที่พวกเขาต้องการใช้:

  • มีความซ้ำซ้อนระหว่างไลบรารีที่เสนอกับฟังก์ชันการทำงานที่มีอยู่แล้วของระบบหรือไม่?

  • เหตุผลในการใช้ไลบรารีที่เสนอคืออะไร?

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

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