1. نبدأ من العمل، لا من التقنية
من يبدأ العملية؟ ما المعلومات التي يحتاجها؟ أين ينتظر الناس أو يعيدون إدخال البيانات؟ وما الخطوة التي إذا توقفت تعطلت معها العملية كلها؟
نحوّل المشكلة إلى نطاق يمكن مراجعته، ثم إلى منتج ومعمارية وتنفيذ واختبارات وتشغيل، مع معرفة من يتحمل المسؤولية في كل مرحلة.
ندير مشاريع الإمارات بنقاط قرار واضحة وأدلة منتج مشتركة وإصدارات منضبطة، بحيث لا يعتمد نجاح المشروع على وجود الجميع في مكتب واحد. تبقى الملكية التقنية واضحة من الاكتشاف حتى الإنتاج والتشغيل.
من يبدأ العملية؟ ما المعلومات التي يحتاجها؟ أين ينتظر الناس أو يعيدون إدخال البيانات؟ وما الخطوة التي إذا توقفت تعطلت معها العملية كلها؟
نحدد ما يجب أن يحله الإصدار الأول، وما يمكن نقله إلى مرحلة لاحقة، وما هو تحسين مفيد لكنه لا يبرر تعقيد المشروع من البداية.
نوضح المستخدمين والأدوار والرحلات والحالات والاستثناءات وما يجب أن يكون قابلاً للإعداد، حتى لا تتحول القرارات الأساسية إلى اكتشافات متأخرة أثناء البرمجة.
قاعدة البيانات والمصادقة والصلاحيات والتكاملات وبيئات التشغيل والنشر والمراقبة تُختار بعد فهم المتطلبات، لا لأن تقنية معينة رائجة.
النماذج والتجارب التفاعلية تكشف سوء الفهم ومشكلات التسلسل مبكراً، عندما يكون تغيير القرار أسهل وأقل كلفة.
لكل جزء متطلبات واعتماديات ونطاق أثر ومعيار واضح لمعرفة أنه جاهز، بدلاً من تراكم عمل كبير لا يمكن تقييمه إلا في النهاية.
الدفع والصلاحيات ونقل البيانات تحتاج إلى تحقق أعمق من حركة بصرية أو صفحة معلومات. نضع جهد الاختبار حيث تكون كلفة الخطأ أعلى.
نثبت طريقة إعادة المشكلة والنسخة المتأثرة ونطاق الأثر والسبب، ثم نتحقق من الإصلاح ومن الأجزاء التي قد تتأثر به، حتى لا يعود العطل بصورة أخرى.
قبل تغيير الإنتاج نعرف ما الذي سيُنشر، وما تغييرات البيانات، وما الذي تمت مراجعته، وكيف سنراقب الإصدار، وما خطة الرجوع إذا ظهر أثر غير متوقع.
بعد الإطلاق تظهر الأسئلة والتأخيرات والمشكلات التي لم تكن واضحة على الورق. نستخدم هذه الإشارات لتحديد التحسينات، بدلاً من الاستمرار على افتراضات ما قبل الإطلاق.
نحدد المستخدمين والأدوار والبيانات الحساسة ونقاط الدخول من الإنترنت والخدمات الخارجية التي يعتمد عليها النظام. هذه الخريطة توضح أين نحتاج تحققاً أقوى أو سجلاً أو عزلاً.
لا توجد قائمة أمنية واحدة تناسب كل مشروع؛ موقع تعريفي وSaaS متعدد العملاء ونظام موافقات مالية لها مخاطر مختلفة جذرياً.
ما يمكن للمطور فعله محلياً لا يعني أن الوصول نفسه يجب أن يكون مفتوحاً في الإنتاج. نحدد من يملك حق تغيير البيئة الحية، وما المسار الطبيعي لوصول الكود إليها.
كل إصدار مهم يجب أن يمكن ربطه بمصدر معروف وإعداد معروف وخطة رجوع معروفة.
الدخول والصلاحيات والدفع وحذف البيانات وعزل العملاء وترحيلات البيانات والاستعادة تحتاج إلى أدلة أقوى من تفاعل تجميلي، لأن أثر الخطأ مختلف.
نمزج الاختبارات الآلية مع فحوص مستهدفة بحسب التغيير. السؤال الأهم ليس حجم مجموعة الاختبارات، بل هل اختبرنا الطرق الواقعية التي قد يضر بها التغيير المنتج؟
قد يرتبط قرار معماري بقيد مؤقت أو مزود محدد أو حجم فريق في مرحلة معينة. من دون هذا السياق قد يُزال لاحقاً ما كان يحمي النظام، أو يستمر قيد انتهى سببه.
نسجل القرارات المهمة مع المشكلة والبدائل والسبب والظروف التي قد تجعلنا نعيد النظر فيها.
إذا كانت الشركة ستستلم التشغيل، فهي تحتاج إلى معرفة الحسابات والبيئات والنشر وقواعد البيانات والاعتماديات والنسخ والمخاطر المعروفة. وإذا بقيت Nördia تدير النظام، تبقى هذه الحدود واضحة لأن ملكية العميل ومسؤولية التشغيل شيئان مختلفان.
التسليم الجيد يقلل الاعتماد غير الضروري على المورّد، ولا يصنعه.
قد يثبت الاستخدام الحقيقي أن افتراضاً في مرحلة الاكتشاف كان ناقصاً، أو أن تكاملاً يتصرف خلاف توثيقه، أو أن ميزة توقع الجميع أهميتها لا يستخدمها أحد.
نعدل الخطة بحسب الدليل والأثر، مع توضيح انعكاس ذلك على النطاق والكلفة والموعد. المرونة لا تعني عملاً بلا حدود.
الحوادث وأسئلة الدعم المتكررة والعمليات البطيئة والتخلي عن الخطوات والتدخل اليدوي كلها إشارات إلى جودة المنتج. إذا توقفت رحلة التطوير عند النشر، نخسر أهم مصدر للتعلم.
في العلاقات المستمرة، نستخدم هذه الإشارات لتحديد ما يستحق التبسيط أو الأتمتة أو المراقبة أو إعادة التصميم في المرحلة التالية.
اشرح كيف يجري العمل اليوم وأين يتعطل. نبدأ بفهم الواقع وتحديد ما يستحق البناء قبل أن يتحول إلى مشروع برمجي.