نقاط القصّة story points هي تقنية تقديريّة تستعمل في منهجيّات إدارة المشاريع في إطار العمل أجايل Agile -الّذي قد يشار إليه بتسمية إطار العمل الرّشيق- قصد مساعدة الفريق على تحديد الجهد المطلوب لإنهاء مهمّة ما. وتأخذ نقاط القصّة في الحسبان عوامل مثل الشكّ ومدى تعقيد المهمّة. وهذا يجعلها أدقّ من تقنيات التّقدير الأخرى مثل التّقدير المبنيّ على الوقت. قد يبدو التّقدير بنقاط القصّة معقّدًا أوّل الأمر، لكنّنا بسّطنا العمليّة في هذا المقال إلى ستّ خطوات سهلة.
فكّر في آخر رحلة خضتها بالسّيارة: هل استغرقت فيها ما توقّعته؟ أم واجهتك معيقات جعلت الرّحلة أطول مثل الزّحام أو أعطال في السيّارة؟
إنّ التّخطيط للمشاريع وتقديرها مشابه لمثالنا المذكور أعلاه، إذ يمكن أن تعطّلك المعيقات غير المتوقّعة والارتياب في المشروع؛ ممّا يؤدّي بك إلى تمدّد النّطاق Scope creep. وتمامًا مثل مثال الرّحلة، قد تجد نفسك في مكان لم تكن لتتوقّعه قطّ، متجاوزًا الميزانيّة ومحقّقًا لنتائج تقلّ عن المطلوب.
لهذا، ستحتاج إلى تقنيات التّقدير مثل نقاط القصّة، فهي تساعدك على تقدير المهامّ بدقّة، وتعطيك وفريقك صورةً واضحةً عن مقدار المجهود الّذي تحتاجون بذله في المهامّ، وأين ومتى يمكن أن تواجهوا الصّعوبات. وفيما يلي نشرح فوائد نقاط القصّة وكيفيّة استعمالها.
ما هي نقاط القصة؟
نقاط القصّة طريقة لتقدير كمّ المجهود المطلوب في إتمام قصّة مستخدم من قائمة مهامّ المنتج (تسمّى أيضا قائمة الأعمال التّراكميّة). وعادةً ما يتمّ تقدير نقاط القصّة قبل اجتماع دورة التطوير sprint، نظرًا لأنّ تلك هي الفترة الّتي يمكن للفريق تحديد كمّ العمل الّذي يمكنهم أداؤه خلال الاجتماع التخطيطي لدورة التطوير القادم.
تأخذ نقاط القصّة بالحسبان ثلاثة عوامل يمكنها التّأثير على نطاق المهمّة والجهد المبذول فيها. وترتفع قيمة نقطة القصّة تبعًا لذلك. وبما أنّ نقاط القصّة ليست متشابهةً، فإنّ قيمتها لا تظهر إلا باعتبار التّفاصيل التّالية وموازنة المهامّ المتشابهة بعضها ببعض:
- المخاطرة: كمّ المخاطرة أو الارتياب المصاحب للمهمّة. فإذا كانت المهمّة مثلا تحتاج التّعامل مع أطراف خارجيّين، أو متعاقدين، أو أصحاب المصلحة في المشروع، فإنّ قيمة المخاطرة ترتفع تبعًا لذلك.
- التّكرار: أي خبرة الفريق في التّعامل مع مهامّ مشابهة.
- التّعقيد: أي مستوى صعوبة المهمّة، ومدى وضوح غاياتها.
ومن المهمّ معرفة أنّ نقاط القصّة نسبيّة: بمعنى أنّ المهمّ فيها هو قيمتها النّسبيّة، ومعدّل كلّ منها إلى بمثيلاتها، وليس قيمتها العدديّة.
المقارنة بين نقاط القصة والتقدير المبني على الوقت
قد تتساءل: لماذا لا نستعمل الوقت في تقدير المهامّ وحسب؟ يُعَد التّقدير بالوقت أو بالسّاعات طريقةً شائعةً في تقييم العمل فعلًا، ولكنّها طريقة تعاني من بعض النّقائص، إذ إنّها على عكس نقاط القصّة لا تأخذ بالحسبان تعقيد المهمّة، ولا المخاطرة، ولا نسبة الارتياب فيها؛ كما أنّها تعتمد على تقدير كلّ فرد من أفراد الفريق، والّتي يمكن أن تختلف اختلافًا كبيرًا قياسًا إلى الأقدميّة، وفهم المهمّة، والخبرة في التّعامل مع مهامّ مشابهة.
لذا يمكن القول أن نقاط القصّة تعالج هذه النّقائص المحتملة بتشجيع التّعاون، واعتبار المخاطرة، والتّعقيد، والخبرة؛ والنّتيجة هي نظام تنقيط موحّد يبقي أعضاء الفريق على وفاق.
ست خطوات لتقدير نقاط القصة
بعد أن عرّفنا نقاط القصّة، دعونا نتّجه الآن إلى كيفيّة تقديرها قصد تقييم قصص العميل:
1. تقديم نقاط القصة إلى الفريق
يُعَد الفهم السّليم لنقاط القصّة عنصرًا أساسيّا في النّجاح. ولتعويد فريقك على العمليّة، خذ بأيديهم عبر أساسيّات وفوائد نقاط القصّة. وتأكّد بالأخصّ من فهمهم أنّ نقطة نقطة القصّة ينبغي مقارنتها بنقاط قصّة أخرى لفهم مدلولها.
تذكّر أنّ المعدّلات مهمّة في نقاط القصّة، وليس النقاط نفسها، فالمهمّة الّتي نقطة نقطة قصّتها اثنان (02) مثلا، يجدر بها أن تستدعي ضعف الجهد الّذي تحتاجه مهمّة نقطة نقطة قصّة واحد (01). والمهمّة ذات نقطة القصّة الّتي علامتها ثلاثة (03) تحتاج جهدًا يعادل مرّة ونصف المرّة الجهد الّذي تستدعيه مهمّةٌ نقطة نقطة قصّتها اثنان (02).
2. تحديد سلسلة نقطة القصة
بعد تقديم نقاط القصّة إلى الفريق، حدّد سلسلة نقطة قصّتك. ستصبح هذه السّلسلة لاحقًا دليلًا لكيفيّة التّنقيط الّتي يستعملها فريقك لإعطاء نقاط القصّة نقاطها في لقاء التّقدير. وتتجلّى أهمّيّة السّلاسل في إجبار فريقك على التّركيز على الحجم النّسبي بين الأرقام، ممّا يسهّل تقدير المهامّ المعقّدة.
يمكنك اختيار أيّ سلسلة تريد، ولكن من الشّائع في بيئة أجايل استخدام سلسلة فيبوناتشي The Fibonacci sequence، حيث كلّ قيمةٍ فيها هي محصّلة جمع القيمتين السّابقتين: 0، 0، 1، 1، 2، 3، 5، 8، 13، 21، 34 … إلخ. علمًا أنّ القيم العددية قد ترهق فريقك؛ لذا يمكنك اعتماد أحجام القمصان بدلًا من ذلك، وهي كما يشير اسمها سلسلة تعتمد رموز أحجام الملابس: XS فـ S، ثمّ M، وL، ويليها XL، وأخيرًا XXL.
اقتباسملاحظة: عند التّقدير في آجايل، كثيرًا ما تغيّر الفرق سلسلة فيبوناتشي لتسهيل العمل إلى ما يلي: 0، 0.5، 1، 2، 3، 5، 8، 13، 20، 40، 100
3. إنشاء مصفوفة نقطة القصة
مصفوفة نقطة القصّة نسخة مفصّلة من سلسلة نقطة القصّة. وهي تؤدّي دور الخطّ الأساسيّ في اجتماع التّقدير، وتوفّر لفريقك رؤية أوضح لكيفيّة تنقيط كلّ مهمّة. وإذا لم تكن استعملت نقاط القصّة من قبل، فإنّ بإمكانك الاستعانة بمعرفتك حيال المهامّ الّتي ينهيها فريقك عادةً وكمّ التّعقيد والرّيبة والجهد المصاحب لها.
نموذج مصفوفة تنقيط قصّة
كما ترى في المصفوفة أعلاه، فإنّ قيمة نقطة القصّة ترتفع بارتفاع كلّ من جهد المهمّة وتعقيدها ومخاطرتها.
ملاحظة: ستتطوّر مصفوفتك نقاط القصّة خاصتك كلّما ارتفع عدد السبرنت الّتي تجريها، وازداد فهمك للمجهود المصاحب لمهامّ فريقك، لذا لا داعي للقلق حيال جعلها مثاليّة من أوّل مرّة. انطلق من مهامّ فريقك المعتادة، وخطّط لإعادة تقييم المصفوفة بعد كلّ دورة تطوير.
4. إقامة اجتماع تخطيط على طريقة البوكر
بعدما اخترت سلسلة نقطة القصّة، وأنشأت مصفوفتها حان الوقت لبدء العمل الجادّ: تقدير نقاط القصّة في اجتماع بوكر تخطيطيّ.
الهدف من اجتماع بوكر التّخطيط هو إرفاق نقاط بقصص المستخدمين، واتّفاق أعضاء الفريق، وتطوير فكرة حول عدد المهامّ الّتي يمكن لفريقك إنهاؤها في دورة التطوير القادمة. ويمكن إنجاز هذا في بوكر التّخطيط بالسّماح للجميع بإبداء آرائهم حول العمل القادم. وأنت تضمن بإشراكك الجميع الحصول على نقاط قصّة مبنيّة على آراءٍ مختلفة تتلافى بفضلها التحيّزات اللاّواعية.
يمكنك الاستعانة بالنّصائح التّالية لإدارة اجتماع بوكر تخطيطيّ ناجح:
- قدّم لفريقك مصفوفة تنقيط قصص كمرجع، مع مجموعة من البطاقات الّتي تمثّل سلسلة نقاط القصّة. ويمكنها صناعة البطاقات بنفسك أو تحميلها من الإنترنت.
- اختر قصّة مستخدم.
- اطرح القصّة للنّقاش مع فريقك للإجابة عن أسئلة مثل ماذا على المحكّ؟ وما هو تعريف النّجاح المرتبط بهذه القصّة؟
- اطلب إلى كلّ عضو في الفريق أن يختار بطاقة نقطة القصّة الّتي يعتقد أنّها تمثّل كمّ المجهود المطلوب لإنهاء القصّة.
- اطلب من الفريق إظهار بطاقاتهم في نفس الوقت، بحيث إذا توافقت البطاقات، يمكنك المرور إلى القصّة التّالية؛ أمّا إذا اختلفت فيمكنك فتح مجال نقاش قصّة المستخدم إلى أن يصل الفريق إلى اتّفاق.
- كرّر العمليّة إلى أنّ تعطي كلّ مهمّة في قائمة مهامّ المنتج نقطة قصّة تناسبها.
- اعتمادًا على مصفوفة تنقيط القصّة كمرجع قياس، حدّد عدد المهامّ الّتي يمكن لفريقك إنهاؤها خلال دورة التطوير القادمة.
ملاحظة: برمج حصص بوكر التّخطيط بعد ترتيب فريقك أولويّات قائمة المهامّ، وقبل انطلاق دورة التطوير. يمكن أن تستغرق حصص بوكر التّخطيط ما بين ساعتين وأربع ساعات، ومن المنطقيّ أن تكون حصصك الأولى أطول، لذا خذ ذلك بالحسبان.
5. التخطيط لدورة التطوير وتنفيذها
إذا كانت هذه أوّل مرّة تستخدم فيها نقاط القصّة، فإنّك لن تعرف بدقّة العدد الّذي يمكنك إنهاؤه منها خلال دورة التطوير Sprint أو ما يسمّى سرعة السبرنت sprint velocity إلى أن تنهي أوّل دورة تطوير كاملة. وهذا أمر مقبول تمامًا، لذا استخدم في اجتماع تخطيط دورة التطوير أفضل تخميناتك حول عدد نقاط القصّة الّتي ستدرجها في دورة التطوير بناءً على تعقيد المهامّ وقيمة نقطة القصّة.
اقتباسملاحظة: قد تشمل أوّل دورة تطوير تنفّذها عددًا كبيرًا من نقاط القصّة قليلة القيمة، أو عددًا قليلًا من نقاط القصّة مرتفعة القيمة، أو مزيجًا من الاثنين؛ لكنك ستدرك بمرور الوقت ما يناسب فريقك، وتحسّن العمليّة اعتمادًا على ملاحظات الفريق.
6. تحسين تقييمات نقاط القصة بناء على التقييمات السابقة
بعد انتهائك من أوّل سبرنت -أو ما يعرف بدورة تطوير- تستخدم فيه نقاط قصّة المستخدم، يحين الوقت للتّركيز على جزءٍ أساسيّ في إطار العمل أجايل هو التّحسين المستمرّ. ولتحسين السّبرينت القادم، اجتمع مع فريقك لمناقشة ما مضى على ما يرام في السبرنت الأول، وما كان يمكن تحسينه. ويمكنك عقد اجتماعٍ منفصل لهذا النّقاش أو إدراجه في اجتماع سبرنت الاسترجاعي.
اسأل فريقك حول ما إذا كانت نطاقات نقاط القصّة قد حدّدت بدقّة، وحالات عنق الزّجاجة غير المتوقّعة الّتي واجهوها، وعن الأسباب الأخرى الّتي أدّت إلى عدم تحقيق النّتائج المرجوّة. واستعن بالإجابات لتحسين العمليّة في السبرنت القادم. ويمكنك إذا دعت الحاجة إعادة تقييم سلسلة نقاط القصّة أو مصفوفة التّنقيط.
اقتباساستخدم ما اكتشفته لتقدير سرعة السبرنت: عدد نقاط القصّة الّتي يمكن لفريقك إنهاؤه خلال السبرنت. فإذا أنهى فريقك مثلًا أربع (04) نقاط قصّة يوميًّا، فإنّ سرعة السبرنت هي أربعون (40) نقطة قصّة خلال سبرنت أسبوعين.
ملاحظة: بعد حسابك سرعة السبرنت، استخدمها لتوزيع نقاط القصّة وحساب يحتاج إنهاء مشروعك الكليّ من سبرنت.
كيفية استخدام نقاط القصة في إطار العمل أجايل
من المعلوم أنّ التّخطيط المسبق أمر مفتاحيّ في إدارة المشاريع. والفشل في تحديد النّطاق وجدولة الأعمال يؤدّي إلى آجال نهائيّة فائنة، وتمدّد النّطاق، وفشل المشروع. ولكن يمكنك الاستعانة بنقاط القصّة لتفادي هذا كلّه.
لنلقِ نظرةً على كيفيّة استخدام نقاط القصّة في إطار العمل أجايل قصد فهمها فهمًا أعمق:
- اكتب أوّلا قصّة لكلّ ميزة مرغوبة على سياق: "كوني [شخصية]، فإنّني أريد [هدفًا]، حتّى [النّتيجة أو الفائدة]".
- سجّل قصص المستخدم في قائمة مهامّ المنتج.
- أعطِ كلّ قصّةِ مستخدمٍ نقطةَ قصّةٍ لتقدير الجهد المطلوب.
- استعن بنقاط القصّة لاختيار قصص مستخدمين من قائمة المهامّ، مراعيًا أن تختار الكمّ المناسب من العملّ لكلّ دورة تطوير.
- ابدأ في دورة التطوير.
لنأخذ على سبيل المثال قصّة المستخدم التّالية: "كوني مستخدمًا، فإنّني أريد التمكّن من طرح تعقيباتي وأسئلتي عبر الموقع الإلكتروني لفهم ميزات المنتج فهمًا أفضل". أعطِ قصّة المستخدم هاته نقطة قصّة: أي كمّ الجهد الّذي تراه مطلوبًا لتنفيذها. ثمّ يمكنك تفكيك القصّة إلى مهامّ أصغر مثل: تحديد نطاق نموذج التّعقيبات، وتصميمه، وكتابة سطوره البرمجيّة، وتنفيذ الصّقحة على موقع التّطوير، وتجربة النّموذج، ثمّ نشر الصّفحة على الموقع الرّئيسيّ.
فوائد نقاط القصة
تقنية نقاط القصّة هي الأفضل بين تقنيات التّقدير وذلك لأنّها تسهّل العمل، وتبسّط تخطيط السبرنت. لكنّها لا تتوقّف عند هذا الحدّ، بل تقدّم فوائد أخرى نذكر منها:
- ترفع سرعة التخطيط: نقاط القصّة نسبيّة، إذ إنّك تحسب قيمة نقطة القصّة بمقارنتها بشبيهاتها المنفّذة سابقًا. واستخدام هذا النّظام النّسبي يؤدّي إلى تقدير أسرع بمرور الوقت.
- أخذ المخاطرة والمفاجآت بالحسبان: تراعي نقاط القصّة العناصر المفاجئة مثل المخاطرة وعدم القدرة على التّنبّؤ. واستخدام هذه العناصر في التّخطيط يزيل عامل التّخمين من تقديراتك، ويسمح لك بتقدير الجهد المطلوب بدقّة أكبر.
- إزالة تحيز المهارات من التخطيط، وجمع الفريق على وفاق: اعتماد التّقدير الفرديّ لعضو واحد في الفريق ليس بالممارسة الجيّدة، إذ من المنطقيّ أن يختلف تقدير عضو خبير عن تقدير آخر مبتدئ. وتتلافى نقاط القصّة هذه المشاكل بتشجيع التّعاون عبر اجتماعات بوكر التّخطيط.
- تسطير آجال نهائية مدروسة: لا تروق الآجال النّهائيّة العشوائيّة لأحد، ولكنّها كلّ ما تحصل عليه عند استخدام تقنيات التّقدير؛ أمّا تقنية نقاط القصّة، فتنتج بفضل تفاصيلها القيّمة آجالًا نهائيّةً مدروسة.
- تحسين التقديرات بمرور الوقت: من أهمّ فوائد نقاط القصّة أنّها قابلة للتكييف وإعادة الاستعمال. بمعنى أنّك متى أنشأت مصفوفة نقاط القصّة وأجريت أول دورة تطوير، فإنّ بإمكانك استخدام ما تعلّمته لإعادة تقييم قيم نقطة القصّة الأصليّة، وتطوير تقديرات أكثر دقّة.
أخطاء نقاط القصة وكيفية تجنبها
يمكنك التمتّع بعمليّة إدارة مشروع سلسة باستعمال نقاط القصّة، لكن عليك توخّي الحذر من الأخطاء التّالية:
- استخدام نقاط قصة غير نسبية: النسبية في نقاط القصة هي ما يبسّط فهم فريقك للفروقات بين المهام. ولذا عليك تجنّب إعطاء نقاط قصّة عشوائيّة.
- استخدام الوقت في نقاط القصة: بما أنّ التّقديرات الوقتيّة لا تعتدّ بعاملي التّعقيد والرّيبة، فإنّ استخدام السّاعات أو الأيّام في تقديرات نقاط القصّة يقوّض غايتها الأساسيّة. ولذا اعتمد عوامل التعقيد والمخاطرة والتكرار في تحديد قيم نقاط القصّة.
- استخدام معدل الفريق في بوكر التخطيط: إذا لم تتوافق تقديرات نقاط القصة بين أعضاء فريقك فلا تعتمد متوسّطها، بل افتح الباب للحوار ومناقشة الاختلاف. إذ إنّك لن تصل إلى نقطة قصّة يتّفق عليها الجميع ما لم تفهم السّبب وراء اختلافهم.
- استخدام نقاط القصة لقصص مستخدم مركبة: إذا لم تكن أيّ من نقاط القصّة في مصفوفتك مناسبة لقصة مستخدم ما نظرًا لطولها، فإنّ من الحكمة تفكيكها إلى قصص مستخدم أبسط.
- الفشل في شرح توقعات قيم نقاط القصة للفريق: إذا لم يفهم فريقك نقاط القصّة، فإنّها لن تفيدك. والحلّ بسيط: تحدّث إلى فريقك حول تقنية التّقدير، وأطلعهم على مثال حول مصفوفة نقاط القصّة، ثمّ تناقشوا حول كلّ مهمّة ليتمكّنوا من إعطاء نقاط قصّة دقيقة.
إدارة نقاط القصة وتخطيط السبرنت باستخدام النماذج
نقاط القصّة جزء مهمّ من عمليّة إدارة المشاريع، ولكنّ التقدير الصحيح للجهد، وإنهاء المهامّ كما يجب يحتاجان عناصر قائمة مهامّ جيّدةِ التّنظيم، ومناسِبةٍ لعمل فريقك. ويمكنك الاستعانة بأداة أنا من حسوب لتنظيم قائمة مهامك (الأعمال التّراكميّة)، ومتابعة مشاريع آجايل، والتّواصل مع فريقك بفاعليّة.
ترجمة -وبتصرّف- للمقال What are story points? Six easy steps to estimate work in Agile
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.