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




