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