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