الوحدة 1 · ما هو نظام التصميم حقًّا
المبادئ ونماذج الفرق
18 دقراءة 4 داختر بحكمة
الدرس في لمحة
اكتب مبادئ تصميم تحسم مفاضلات حقيقية، واختر بين النماذج المنفرد والمركزي والفيدرالي والهجين لإدارة فريق نظام التصميم.
لا فيديو هنا، بل الشيء الحقيقي: درس مكتوب وأمثلة قابلة للتشغيل واختبار وتدريب.
كل فريق نظام تصميم يواجه في النهاية النقاش نفسه في جلسة مراجعة. مصمّم منتج يريد زرًا رماديًا فاتحًا «هادئًا» لواجهة الموقع التسويقي الرئيسية، والزر يفشل في اختبار التباين. يقول أحدهم: «لكنه أجمل». ويقول آخر: «لكن إمكانية الوصول». وبعد أربعين دقيقة لم يغيّر أحد رأيه. المبادئ موجودة لتُنهي هذا الاجتماع في دقيقتين، ونماذج الفرق موجودة ليكون هناك مَن يملك صلاحية تطبيقها.
مبادئ تحسم القرارات
أغلب مبادئ التصميم المنشورة شعارات: بسيط، متّسق، إنساني، مُبهج. جرّب هذا الاختبار على أي مبدأ: هل يمكن لفريق عاقل أن يختار العكس؟ لا أحد يدافع عن برمجيات معقّدة أو غير إنسانية، لذا هذه الكلمات لا تحسم شيئًا أبدًا.
المبدأ المفيد يسمّي مفاضلة وينحاز إلى طرف. هذه المبادئ الأربعة التي يعتمدها Northwind UI:
- إمكانية الوصول قبل الجمال. لا يُطلَق أي مكوّن دون مستوى WCAG 2.2 AA. وإن لم يستطع variant أن يحقّقه، نحذف الـ variant.
- هادئ في التطبيق، معبّر في الموقع. تطبيق الـ dispatch يفضّل الكثافة وقابلية التوقّع؛ أما الموقع التسويقي فيمكنه استخدام خطوط أجرأ وحركة أكثر، عبر الـ tokens لا عبر CSS مكتوب لمرة واحدة.
- افتراضات حاسمة، ومخارج موثّقة. المكوّنات تفعل الصواب دون أي props. وحين يحتاج فريق إلى الخروج عن المألوف، هناك طريقة مدعومة ومكتوبة.
- مكوّنات أقل، لكن أفضل. نفضّل توسيع مكوّن موجود على إضافة نسخة شبه مكرّرة منه.
كل واحد من هذه المبادئ سيخسر أمام نقيضه في شركة أخرى. فاستوديو ألعاب قد يتبنّى، عن حقّ، مبدأ «معبّر في كل مكان». وهكذا تعرف أن المبدأ يحمل معلومة فعلية.
يجب أيضًا أن تعيش المبادئ حيث تُتّخذ القرارات: في قالب اقتراح المكوّنات، وفي قائمة فحص المراجعة، وفي أعلى موقع التوثيق. أما المبدأ الذي لا يظهر إلا في عرض الإطلاق فيختفي خلال شهر.
مَن يدير النظام: أربعة نماذج للفرق
تحتاج المبادئ إلى أشخاص لديهم الوقت والصلاحية لتطبيقها. وصف ناثان كيرتس (Nathan Curtis) الأشكال الثلاثة الكلاسيكية عام 2015، وما زالت تصف أغلب المؤسسات:
- المنفرد (solitary). فريق منتج واحد يبني نظامًا لنفسه، والفرق الأخرى تنسخه. رخيص وسريع، ويعكس احتياجات فريق واحد. ينجح ما دام هناك فريق واحد فقط يهمّ.
- المركزي (centralized). فريق متفرّغ يبني النظام ويصونه للجميع. القرارات سريعة والجودة عالية. والخطر هو البُعد: الفريق المركزي الذي لا يطلق منتجًا قد يبني مكوّنات لم يطلبها أحد، ويصبح الـ backlog الخاص به عنق الزجاجة للجميع.
- الفيدرالي (federated). مصمّمون ومهندسون من فرق المنتجات يساهمون في نظام مشترك بجزء من وقتهم. يبقى النظام على صلة وثيقة بالاحتياجات الحقيقية. والخطر أن عمل النظام يخسر دائمًا أمام مواعيد تسليم المنتجات.
- الهجين (hybrid). نواة صغيرة متفرّغة تملك الجودة والإصدارات والـ tokens والاتجاه؛ وفرق المنتجات تساهم بمكوّنات وإصلاحات عبر عملية محدّدة. وإلى هنا تنتهي أغلب الأنظمة التي تعيش طويلًا.
ماذا اختارت Northwind
في المحاولة الثانية بدأنا بالنموذج المركزي: مصمّمان وثلاثة مهندسين، ومعهم مدير منتج مشترك مع فريق آخر. كان المركزي هو الخيار الصحيح أثناء بناء الأساسات، لأن الـ tokens والمكوّنات الأساسية تحتاج إلى قلّة من الناس يتّخذون قرارات كثيرة متّسقة بسرعة.
وحين استقرّت Button وحقول الإدخال وDialog وخط إنتاج الـ tokens، فتحنا باب المساهمات وانتقلنا إلى النموذج الهجين. اليوم تبني فرق المنتجات نحو ثلث المكوّنات الجديدة، والنواة تراجعها وتوثّقها وتطلقها. يشرح القسم 5 كيف تعمل عملية المساهمة هذه في الواقع.
لاحظ أن نموذج الفريق يتغيّر مع عمر النظام. اسأل «ماذا يحتاج النظام هذا العام؟» بدل «أيّ نموذج هو الأفضل؟». ومع وجود المبادئ وفريق يملك النظام، أصبحت مستعدًا لأول قطعة معمارية حقيقية: الـ design tokens.
أهم النقاط
- المبدأ المفيد ينحاز إلى طرف في مفاضلة حقيقية؛ فإن لم يكن أيّ فريق عاقل ليختار العكس، فهو شعار لا مبدأ.
- تستحق المبادئ مكانها في جلسات المراجعة، حين تحسم الخلاف دون الحاجة إلى اجتماع.
- الفريق المركزي يمنح جودة وسرعة في اتخاذ القرار، لكنه قد يتحوّل إلى عنق زجاجة بعيد عن واقع المنتجات.
- النموذج الفيدرالي يوزّع الملكية على فرق المنتجات، لكنه يحتاج إلى نواة صغيرة تحفظ تماسكه.
- أغلب الأنظمة التي تعيش طويلًا تنتهي هجينة؛ نواة صغيرة متفرّغة ومعها مساهمون من فرق المنتجات.