حساب احتراق السبرنت والسرعة اليومية المطلوبة
مع 80 نقطة ملتزم بها و32 نقطة منجزة و6 أيام متبقية، يحتاج الفريق إلى 8 نقاط قصة يوميًا لإنهاء النقاط الـ48 المتبقية. قارن هذه الوتيرة بما يسلّمه الفريق فعلًا. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- إجمالي نقاط القصة
- 80
- الأيام المنقضية
- 4
- الأيام المتبقية
- 6
- النقاط المنجزة
- 32
- النقاط المتبقية
- 48
- السرعة اليومية المطلوبة
- 8
تحول حاسبة مخطط الاحتراق هذه حالة دورة العمل الحالية إلى رقم عملي للتخطيط: عدد نقاط القصة الواجب إنجازها في كل يوم متبقٍ للانتهاء في الموعد. أدخلوا الالتزام الأصلي للسبرنت، والأيام المنقضية، والأيام المتبقية، والنقاط المنجزة. تعرض النتيجة حجم العمل غير المكتمل والسرعة اليومية المطلوبة معًا، كي تقارنوا الوتيرة اللازمة بما يستطيع الفريق تسليمه بصورة واقعية قبل نهاية السبرنت.
حولوا لقطة مخطط الاحتراق إلى هدف يومي واضح
يبين مخطط الاحتراق اتجاه التقدم، لكنه لا يجيب دائمًا مباشرة عن السؤال المطروح في المراجعة اليومية: ما السرعة التي يجب أن يسير بها العمل المتبقي من الآن؟ تبدأ الحاسبة بإجمالي نقاط القصة في السبرنت وتطرح النقاط المكتملة، ثم تقسم العمل غير المنجز على عدد الأيام التي ما زالت متاحة. تمثل السرعة اليومية المطلوبة هدفًا مستقبليًا بوحدة نقاط القصة لكل يوم متبقٍ.
فإذا بقي عمل كثير ولم يبقَ إلا عدد قليل من الأيام، تظهر القيمة المرتفعة فورًا من دون الاعتماد على تفسير بصري لخط الاتجاه. أدخلوا كل الأيام المنقضية، حتى الأيام التي لم تكتمل فيها أي نقطة، لتظل اللقطة وصفًا أمينًا للجدول الزمني. تظهر الأيام المنقضية في النتيجة لتوفير السياق، بينما يعتمد حساب الموعد على الأيام المتبقية لأنها فرص الإنجاز التي لا تزال متاحة للفريق.
تعاملوا مع الرقم بوصفه إشارة للتخطيط، لا حصة إنتاجية مفروضة على كل فرد.
فسروا السرعة المطلوبة ضمن سياق التسليم
تعبر السرعة اليومية المطلوبة عن الوتيرة الحسابية اللازمة لإنهاء التقدير المتبقي قبل الموعد. قارنوها بعدد نقاط القصة التي ينجزها الفريق عادة في اليوم، ومعدل الإنجاز الحديث، والعمل الجاري، والعوائق المعروفة. إذا كان الهدف أقل بوضوح من وتيرة مستدامة، يظل السبرنت ممكنًا من الناحية الحسابية.
أما إذا كان أعلى بكثير، فليس الحل المفيد هو الضغط على الأفراد لزيادة المخرجات بصورة مصطنعة. ابحثوا بدلًا من ذلك في إمكان إزالة عائق عن مهمة، أو تقسيم القصص مع الحفاظ على نتيجة ذات قيمة، أو إعادة التفاوض على النطاق مع المسؤول عن المنتج. تعني النتيجة الصفرية أن كل النقاط الملتزم بها قد اكتملت ولا حاجة إلى سرعة إضافية.
والنتائج الكسرية طبيعية، فهي متوسط موزع على الأيام المتبقية وليست طلبًا لإنهاء جزء من قصة كل يوم. نقاط القصة تقديرات نسبية خاصة بالفريق، لذلك لا تقارنوا الرقم إلا ببيانات الفريق نفسه وبمنهج التقدير ذاته.
استخدموا مدخلات متسقة وتعاملوا مع حد الموعد
حافظوا على اتساق الوحدات في جميع المدخلات. يجب أن يستخدم إجمالي العمل والعمل المنجز نقاط قصة من خط أساس السبرنت نفسه، وأن يعتمد الوقت المنقضي والمتبقي التعريف نفسه لليوم، وغالبًا ما يكون المقصود أيام العمل المخطط لها لا أيام التقويم. حدثوا النقاط المنجزة وفق تعريف الإنجاز المتفق عليه داخل الفريق؛ فاحتساب العمل الجزئي يجعل التقدير المتبقي يبدو أقل من دون إنتاج زيادة قابلة للتسليم.
ترفض الحاسبة نقاطًا منجزة تتجاوز الإجمالي الأصلي لأن هذه المجموعة لا تصف العمل المتبقي نسبة إلى الالتزام المدخل. كما ترفض القيم السالبة والأرقام غير المحدودة وكسور الأيام. والأهم أن بقاء صفر من الأيام يؤدي إلى خطأ، إذ لا يمكن للقسمة أن تنتج وتيرة يومية ذات معنى حين لا تتبقى أي فرصة زمنية.
عند هذا الحد، راجعوا نتيجة السبرنت مباشرة بدل التعامل مع قيمة لا نهائية أو غير معرفة.
حالات الاستخدام
استعدوا للاجتماع اليومي
احسبوا الوتيرة المطلوبة من اليوم وقدموا للفريق مؤشرًا ملموسًا إلى مخاطر التسليم.
قيموا تعديل نطاق العمل
أعيدوا الحساب بعد حذف العمل أو تقسيمه للتحقق من توافق الالتزام المعدل مع وتيرة مستدامة.
الأسئلة الشائعة
ما المقصود بالسرعة اليومية المطلوبة؟
هي نقاط القصة المتبقية مقسومة على الأيام المتبقية: متوسط النقاط التي يجب أن تبلغ حالة الإنجاز يوميًا لإكمال الالتزام المدخل في الموعد.
لماذا تلزم الأيام المنقضية ما دامت الصيغة تستخدم الأيام المتبقية؟
تحفظ الأيام المنقضية لقطة السبرنت الكاملة في النتيجة وتساعدكم على تأكيد وضوح الجدول المدخل. أما الوتيرة المستقبلية فتعتمد على فرص العمل التي ما زالت متاحة.
ماذا يحدث عندما لا يتبقى أي يوم؟
يعيد الحساب خطأ يدل على مدخل غير صالح، لأن توزيع العمل المتبقي على صفر من الأيام لا ينتج سرعة يومية ذات معنى.
هل يمكن أن تتجاوز النقاط المنجزة الإجمالي الأصلي؟
لا. ترفض الحاسبة هذا المدخل لأنها تقيس العمل المتبقي قياسًا إلى الالتزام الإجمالي المحدد. إذا أضيف نطاق رسميًا، فاستخدموا الإجمالي المحدث.
ماذا أفعل إذا كانت السرعة اليومية المطلوبة مرتفعة جدًا؟
لا تضغط على الأفراد لتضخيم الإنتاج. تحقق بدلًا من ذلك مما إذا كان يمكن فك عنصر معطّل، أو تقسيم القصص مع الحفاظ على قيمتها، أو إعادة التفاوض على النطاق مع مالك المنتج.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/biz/burndown-remaining-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_story_points":80,"days_elapsed":4,"days_remaining":6,"points_completed":32}'const res = await fetch("https://api.kit.forhosting.com/biz/burndown-remaining-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_story_points": 80,
"days_elapsed": 4,
"days_remaining": 6,
"points_completed": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/burndown-remaining-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_story_points": 80,
"days_elapsed": 4,
"days_remaining": 6,
"points_completed": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/burndown-remaining-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_story_points":80,"days_elapsed":4,"days_remaining":6,"points_completed":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_story_points":80,"days_elapsed":4,"days_remaining":6,"points_completed":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/burndown-remaining-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"total_story_points": 80,
"days_elapsed": 4,
"days_remaining": 6,
"points_completed": 32
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.burndown_remaining_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدموا مدخلات متسقة وتعاملوا مع حد الموعد
وللأتمتة، تعيد API المدخلات المعيارية والنقاط المتبقية والسرعة المطلوبة في كائن JSON ثابت. تكلف كل مكالمة $0.002، ويعمل الحساب الحتمي نفسه في المتصفح من دون اتصال بالشبكة.
حالات التكامل
أضيفوا مؤشرًا إلى تقرير السبرنت
استخدموا نتيجة API الحتمية في لوحة متابعة أو تقرير حالة أو فحص آلي لمخاطر التسليم.
أسئلة تقنية
ما تكلفة طلب API؟
تكلف كل مطالبة API مقدار $0.002. يستخدم حساب المتصفح المنطق الحتمي نفسه ويمكن تشغيله محليًا.