التحليل الفني وهندسة المتطلبات
نحول الفكرة إلى مواصفة دقيقة قابلة للتسعير والتنفيذ والاختبار، قبل كتابة أول سطر برمجي
التحليل الفني هو تحويل فكرة العمل إلى مواصفة دقيقة قابلة للاختبار: ماذا يجب أن يفعل النظام، ومن يستخدمه، وما البيانات التي يحفظها، وبماذا يتكامل، وما الذي يجب ألا يفعله أبدا. وهي أرخص مرحلة يمكن تغيير القرارات فيها، وأغلى مرحلة يمكن تجاهلها. أغلب المشاريع البرمجية المتعثرة لم تبن بشكل سيئ، بل وصفت بشكل سيئ.
باختصار
- ماذا تنتج: وثيقة مواصفات برمجية، وقصص مستخدم بمعايير قبول، ونموذج بيانات، وعقود واجهات API، ومخططات شاشات، وخطة تنفيذ مسعرة.
- لماذا تهم: الغموض المكتشف أثناء التحليل يكلف محادثة، ونفس الغموض المكتشف أثناء التطوير يكلف إعادة بناء.
- مستقلة عن المزود: الوثائق ملكك ويمكن تسليمها لأي فريق تطوير، حتى لو لم يكن نحن.
- نطاق ثابت وسعر ثابت: التحليل مشروع محدد بمخرجات محددة، لا عقد استشاري مفتوح.
- مفيدة حتى في منتصف المشروع: لإنقاذ تنفيذ انحرف عن مساره، أو لتوثيق نظام قائم لم يوثقه أحد.
متطلبات قابلة للاختبار
كل متطلب يكتب بحيث يمكن التحقق منه. «يجب أن يكون النظام سريعا» ليست متطلبا، أما «يعيد البحث نتائجه في أقل من 500 مللي ثانية على 50 ألف سجل» فهو متطلب.
المعمارية قبل الكود
نموذج البيانات ونقاط التكامل وأسلوب المصادقة ومسار التوسع تقرر بشكل مقصود، بدلا من أن تنشأ بالصدفة أثناء التنفيذ.
رقم يمكنك بناء ميزانية عليه
مواصفة مفصلة بما يكفي لتقديرها بدقة، ولمحاسبة أي مزود على التقدير الذي قدمه لك.
وثائق مستقلة عن المزود
المخرجات ملكك، ويمكن طرحها في مناقصة أو تسليمها لفريقك الداخلي أو لشركة أخرى. ونحن مرتاحون لأن نقاس بهذا المعيار.
ما الذي ينتجه التحليل الفني
هذه هي المخرجات الملموسة التي تسلم في نهاية المشروع. وأيها ينطبق يعتمد على طبيعة مشروعك، ونتفق على القائمة مسبقا.
| الناتج | ما الذي يحتويه | من يستخدمه |
|---|---|---|
| وثيقة متطلبات العمل (BRD) | هدف العمل، وأصحاب المصلحة، ومقاييس النجاح، والقيود، وما هو خارج النطاق صراحة. | الإدارة ورعاة المشروع |
| وثيقة مواصفات البرمجية (SRS) | المتطلبات الوظيفية وغير الوظيفية، كل منها مرقم ومرتب بالأولوية وقابل للاختبار. | المطورون والجودة وأي مزود منافس |
| قصص المستخدم ومعايير القبول | كل ميزة مكتوبة من منظور المستخدم مع الشروط الدقيقة التي تجعلها «مكتملة». | فرق التطوير والجودة |
| نموذج البيانات (ERD) | الكيانات والعلاقات والحقول الأساسية وقواعد الاحتفاظ، شكل بياناتك قبل أن ينشئ أحد أي جدول. | مهندسو الواجهة الخلفية وقواعد البيانات |
| عقود التكامل وواجهات API | كل نظام خارجي يلامس: بوابات الدفع، وERP، والرسائل، والشحن، والهوية، مع عقد لكل منها. | مهندسو الواجهة الخلفية والموردون الخارجيون |
| مخططات الشاشات ومسارات المستخدم | شاشات أولية ومسار المستخدم بينها، متفق عليه قبل بدء التصميم البصري. | المصممون وأصحاب المصلحة |
| سجل المخاطر | ما الذي قد يعرقل المشروع، واحتمالية حدوثه، وأثره، وإجراء التخفيف لكل بند. | راعي المشروع ومدير التنفيذ |
| التقدير وخطة التنفيذ المرحلية | الجهد لكل وحدة، وحدود مقترحة للنسخة الأولى، وخطة مراحل تسلم قيمة قبل اكتمال النظام كله. | أصحاب قرار الميزانية |
إذا كان مشروعك صغيرا وواضحا فعلا، فسنخبرك أن موجزا مختصرا يكفي بدلا من بيعك مشروع تحليل كامل.
متى يعوض التحليل الفني تكلفته
قبل بناء نظام جديد
لديك فكرة وعروض أسعار متباعدة بشكل غريب. هذا التباعد يكون في الغالب مشكلة مواصفات لا مشكلة تسعير.
إنقاذ مشروع منحرف
تنفيذ فقد شكله: النطاق يتمدد، ولا أحد يتفق على معنى «انتهى»، والمواعيد تتأجل باستمرار.
توثيق نظام قائم
نظام يعمل لكنه موجود في ذهن شخص أو شخصين فقط، بلا توثيق، مع مخاطرة حقيقية بالاعتماد على أفراد.
الإعداد لمناقصة
تحتاج أن يقدم الموردون عروضهم على متطلبات متطابقة وغير غامضة حتى تصبح أسعارهم قابلة للمقارنة فعلا.
كيف ندير المشروع
- مقابلات أصحاب المصلحة: مع من سيستخدم النظام فعلا، لا فقط من طلبه. الفجوة بين هاتين الفئتين هي حيث تفشل المشاريع.
- رسم العمليات الحالية: كيف ينجز العمل اليوم، بما في ذلك ملفات الإكسل والحلول الالتفافية التي لا يذكرها أحد في الاجتماع الأول.
- ورش المتطلبات: جلسات منظمة لتحويل ما سمعناه إلى متطلبات مرقمة ومرتبة وقابلة للاختبار.
- التصميم التقني: نموذج البيانات وعقود التكامل والمعمارية وتوصيات التقنيات، مع تدوين مبررات كل قرار.
- التقدير والتقسيم المرحلي: الجهد لكل وحدة، وحدود منطقية للنسخة الأولى، وترتيب تنفيذ يسلم قيمة مبكرا.
- المراجعة والاعتماد: جلسة عرض مع فريقك، ثم تعديلات، ثم مجموعة وثائق نهائية تعتمدها رسميا.
التسلسل الذي نتبعه
- الانطلاق: نتفق على الأهداف، ومن نحتاج التحدث إليهم، وأي الوثائق ستستلمها بالضبط.
- الاستكشاف: مقابلات، وملاحظة ميدانية للعمليات، ومراجعة أي أنظمة وبيانات ووثائق قائمة.
- التحليل: تحويل النتائج إلى متطلبات منظمة، مع تحديد كل تعارض وثغرة وافتراض.
- التصميم: نموذج البيانات والتكاملات والمعمارية ومخططات الشاشات للمسارات الرئيسية.
- التقدير: الجهد والمراحل وتوصية بحدود النسخة الأولى مع عرض المفاضلات بوضوح.
- التسليم: مجموعة الوثائق كاملة، وجلسة شرح، والملفات بصيغة قابلة للتعديل حتى تظل مفيدة مع تطور المشروع.
الأسئلة الشائعة
أليس التحليل الفني جزءا من التطوير أصلا؟
يفترض أن يكون كذلك، وفي مشاريعنا هو كذلك فعلا. لكنه يصبح مشروعا منفصلا عندما تريد مقارنة الموردين على أساس واحد، أو عندما يكون المشروع كبيرا بحيث يصبح أي قرار معماري خاطئ مكلفا، أو عندما تريد أن توجد المواصفة مستقلة عمن سينفذها.
هل يمكنني أخذ الوثائق إلى شركة تطوير أخرى؟
نعم، وبعض عملائنا يفعلون ذلك بالفعل. المخرجات مستقلة عن المزود وملكك لتستخدمها كما تشاء. ونفضل أن تطلب مواصفة جيدة وتنفذها في مكان آخر، على ألا تطلب شيئا وينتهي بك الأمر إلى مشروع فاشل.
كم يستغرق التحليل الفني؟
يتناسب مع عدد أصحاب المصلحة وتعقيد التكاملات، لا مع حجم الكود الذي سيكتب لاحقا. نطاق محدد لمنتج واحد يقاس بالأسابيع، أما نظام مؤسسي متعدد الإدارات بعدة تكاملات فيستغرق أطول. ونحدد جدولا ثابتا بعد مكالمة تحديد النطاق.
لدينا مطور بالفعل، هل ما زال هذا مفيدا؟
غالبا يصبح أكثر أهمية. المطور الكفء إذا أعطي مواصفة غامضة سيبني شيئا معقولا لكنه لا يطابق ما توقعته الإدارة، والفجوة لا تظهر إلا في العرض النهائي. التحليل يجعل التوقع صريحا قبل أن يحدث ذلك.
ماذا لو أظهر التحليل أن المشروع لا ينبغي تنفيذه؟
عندها يكون قد عوض تكلفته بالفعل. سبق أن أخبرنا عملاء أن منتجا جاهزا سيخدمهم أفضل من بناء مخصص، وأن ميزة مقترحة لن تسترد تكلفتها. هذه الإجابة جزء من الخدمة لا إخفاق فيها.
هل تتبعون منهجية محددة؟
نستخدم بنية متطلبات على نمط IEEE مع قصص مستخدم ومعايير قبول بأسلوب Agile، منظمة بما يكفي لتكون ذات معنى تعاقدي، ومرنة بما يكفي للصمود أمام واقع التنفيذ. ونتكيف مع عمليتكم القائمة بدل فرض عمليتنا.
هل يمكنكم تحليل نظام يعمل بالفعل؟
نعم. التوثيق العكسي لنظام قائم مشروع شائع لدينا: نرسم السلوك الحالي ونموذج البيانات والتكاملات، ونحدد المنطق غير الموثق والاعتماد على أفراد بعينهم، ثم ننتج المواصفة التي كان ينبغي وجودها من البداية.
وصف مشروعك بشكل صحيح قبل بنائه
مكالمة تحديد نطاق مجانية وعرض تحليل بنطاق وسعر ثابتين
.jpg)