احتمالاً برایتان پیش آمده که در میانهٔ پروژه، کارفرما بپرسد «فلان فعالیت را یک هفته عقب بیندازیم، کل پروژه چقدر دیر میشود؟» و شما نتوانید فوراً جواب بدهید. جواب این سؤال در یک مفهوم سادهٔ زمانبندی پنهان است: شناوری یا Float.
همهٔ فعالیتهای پروژه، سرنوشت تاریخ پایان را تعیین نمیکنند. بعضی کارها میتوانند چند روز جابهجا شوند بدون اینکه پروژه حتی یک روز دیر شود؛ بعضی دیگر را هم که دست بزنید، کل تاریخ تحویل به هم میریزد. اگر ندانید کدامیکی از این دو نوع است، نمیتوانید منابع را درست جابهجا کنید یا در شرایط فشار، تصمیم هوشمندانه بگیرید.
در این مقاله کامل میبینید Float چیست، Total Float و Free Float چه فرقی دارند، شناوری چطور با روش CPM محاسبه میشود و چرا شناخت آن برای کنترل پروژه حیاتی است — همه با مثالهای عددی واقعی.
Float چیست؟ (پاسخ سریع)
Float (شناوری) در مدیریت پروژه، مقدار زمانی است که یک فعالیت میتواند به تأخیر بیفتد یا جابهجا شود، بدون اینکه تاریخ پایان پروژه — یا تاریخ شروع زودهنگام فعالیت بعدی — تغییر کند. هرچه شناوری یک فعالیت بیشتر باشد، انعطاف زمانبندی آن بیشتر است.
دو نوع اصلی شناوری وجود دارد: Total Float (نسبت به پایان پروژه) و Free Float (نسبت به شروع فعالیت بعدی). در ادامه دقیقتر هر دو را میبینیم.
شناوری از کجا میآید؟ جایگاه Float در CPM و مسیر بحرانی
برای اینکه مفهوم شناوری را درست بفهمید، باید یک قدم عقبتر برویم: روش مسیر بحرانی یا CPM.
در روش CPM، پروژه را به فعالیتها و وابستگیهایشان میشکنیم و با محاسبهٔ زودهنگامترین و دیرهنگامترین زمان هر فعالیت، بلندترین مسیرِ وابسته (که «مسیر بحرانی» نام دارد) را پیدا میکنیم. طول مسیر بحرانی، دقیقاً همان کوتاهترین زمانی است که پروژه در آن تمام میشود.
- مسیر بحرانی (Critical Path): زنجیرهٔ فعالیتهایی که در مجموع، طولانیترین مسیر را میسازند؛ این مسیر، تاریخ پایان پروژه را تعیین میکند.
- فعالیت بحرانی: هر فعالیتی که روی این مسیر باشد. این فعالیتها شناوری صفر دارند.
- شناوری: فقط برای فعالیتهایی وجود دارد که روی مسیر بحرانی نیستند؛ یعنی بین پایانِ زودهنگامِ آنها و پایان پروژه، «وقت اضافه» هست.
پس شناوری، در واقع همان «بازی زمانی» است که بهدلیل غیربحرانی بودن یک فعالیت در دسترس شماست.
همین امروز به دوایتیفای بپیوندید
پروژهها را بدون سردرگمی پیش ببرید: همهٔ وظایف، پیشرفتها و گزارشهای تیم در یک محیط یکپارچه. ساختهشده برای شرکتها، استارتاپها و تیمهای دورکار — با راهاندازی چنددقیقهای، پشتیبانی فارسی و نسخهٔ آزمایشی رایگان.
Total Float چیست و چطور محاسبه میشود؟
Total Float (شناوری کل) یعنی بیشترین زمانی که یک فعالیت میتواند به تأخیر بیفتد، بدون اینکه تاریخ پایان کل پروژه دیر شود.
فرمول آن ساده است:
> Total Float = LS − ES
یا بهطور معادل:
> Total Float = LF − EF
که در آن:
| نماد | معنی |
|---|---|
| ES (Early Start) | زودهنگامترین زمان شروع فعالیت |
| EF (Early Finish) | زودهنگامترین زمان پایان فعالیت |
| LS (Late Start) | دیرهنگامترین زمان شروع فعالیت |
| LF (Late Finish) | دیرهنگامترین زمان پایان فعالیت |
سه حالت ممکن است:
- شناوری صفر: فعالیت روی مسیر بحرانی است؛ هر تأخیری در آن، تأخیر کل پروژه است.
- شناوری مثبت: فعالیت میتواند تا آن میزان جابهجا شود، بدون خطر برای پایان پروژه.
- شناوری منفی: در عمل یعنی برنامه از قبل «عقب» است (وقتی تاریخ تحویلِ تحمیلی، زودتر از مدت محاسبهشده باشد). این حالت را باید با فشردهسازی زمانبندی (Crashing یا Fast Tracking) حل کرد.
Free Float چیست و چه فرقی با Total Float دارد؟
Free Float (شناوری آزاد) یعنی بیشترین زمانی که یک فعالیت میتواند به تأخیر بیفتد، بدون اینکه شروع زودهنگام فعالیت بعدی به تعویق بیفتد.
فرمول:
> Free Float = ES فعالیت بعدی − EF فعالیت فعلی
برای آخرین فعالیت (که جانشینی ندارد)، Free Float برابر است با تفاوت بین پایان پروژه و EF خودش.
تفاوت کلیدی این است که نقطهٔ مرجع این دو شناوری فرق میکند:
- Total Float نسبت به پایان کل پروژه سنجیده میشود.
- Free Float نسبت به شروع فعالیت بعدی سنجیده میشود.
به همین دلیل همیشه این رابطه برقرار است:
> Free Float ≤ Total Float
یعنی ممکن است یک فعالیت از نظر کل پروژه بتواند ۵ روز عقب بیفتد، اما از نظر فعالیت بعدیاش که همین حالا قرار است شروع شود، نتواند حتی یک روز هم جابهجا شود. در ادامه با مثال عددی این تفاوت را میبینیم.
چطور شناوری را با روش CPM محاسبه کنیم؟ (قدمبهقدم)
برای رسیدن به LS و ES (و در نتیجه شناوری)، دو گذر محاسباتی انجام میدهیم:
گام اول: گذر رو به جلو (Forward Pass)
از ابتدای پروژه شروع میکنیم و زودهنگامترین زمانها را حساب میکنیم:
- شروع اولین فعالیت، روز صفر (یا روز یک، طبق قرارداد) است: `ES = 0`.
- پایان زودهنگام هر فعالیت: `EF = ES + مدت فعالیت`.
- شروع زودهنگام فعالیت بعدی = پایان زودهنگام فعالیت قبلی.
- اگر فعالیتی چند پیشنیاز داشت، `ES` آن برابر است با بیشترین `EF` پیشنیازها.
نتیجهٔ آخرین `EF`، مدت کل پروژه است.
گام دوم: گذر رو به عقب (Backward Pass)
از پایان پروژه برمیگردیم و دیرهنگامترین زمانها را حساب میکنیم:
- `LF` آخرین فعالیت = مدت کل پروژه.
- `LS = LF − مدت فعالیت`.
- `LF` فعالیت قبلی = `LS` فعالیت بعدی.
- اگر فعالیتی چند جانشین داشت، `LF` آن برابر است با کمترین `LS` جانشینها.
گام سوم: محاسبه Total و Free Float
وقتی ES و LS (یا EF و LF) همهٔ فعالیتها را داشتیم:
- `Total Float = LS − ES`
- `Free Float = ES(جانشین) − EF(فعالیت)` (برای آخرین فعالیت: مدت پروژه − EF)
مثال عددی کامل: یک پروژهٔ چهارفعالیتی
فرض کنید پروژهٔ کوچکی با چهار فعالیت داریم:
| فعالیت | مدت (روز) | پیشنیاز |
|---|---|---|
| A — طراحی | ۲ | — |
| X — توسعه | ۲ | A |
| S — تست | ۳ | X |
| T — تولید محتوا | ۶ | A |
یعنی دو مسیر موازی داریم: مسیر «A ← X ← S» با طول ۷ روز، و مسیر «A ← T» با طول ۸ روز.
گذر رو به جلو
- A: ES = ۰، EF = ۰ + ۲ = ۲
- X: ES = ۲، EF = ۲ + ۲ = ۴
- S: ES = ۴، EF = ۴ + ۳ = ۷
- T: ES = ۲، EF = ۲ + ۶ = ۸
پس مدت کل پروژه = ۸ روز (یعنی حداکثرِ ۷ و ۸).
گذر رو به عقب
- T: LF = ۸، LS = ۸ − ۶ = ۲
- S: LF = ۸، LS = ۸ − ۳ = ۵
- X: LF = ۵، LS = ۵ − ۲ = ۳
- A: LF = کمترینِ (LSِ X = ۳ و LSِ T = ۲) = ۲، پس LS = ۰
محاسبه شناوری
| فعالیت | ES | EF | LS | LF | Total Float (LS−ES) | Free Float |
|---|---|---|---|---|---|---|
| A — طراحی | ۰ | ۲ | ۰ | ۲ | ۰ | ۰ |
| X — توسعه | ۲ | ۴ | ۳ | ۵ | ۱ | ۰ |
| S — تست | ۴ | ۷ | ۵ | ۸ | ۱ | ۱ |
| T — تولید محتوا | ۲ | ۸ | ۲ | ۸ | ۰ | ۰ |
تحلیل نتیجه:
- مسیر بحرانی «A ← T» است (شناوری صفر). یعنی «طراحی» و «تولید محتوا» اگر دیر شوند، پروژه دیر میشود.
- فعالیت X (توسعه) یک روز شناوری کل دارد؛ یعنی میتواند یک روز دیرتر شروع شود و پروژه همچنان در ۸ روز تمام شود.
- Free Float فعالیت X صفر است، هرچند Total Float آن یک روز است. چرا؟ چون S (تست) بلافاصله بعد از X برنامهریزی شده است؛ هر تأخیری در X، شروعِ S را عقب میاندازد، حتی اگر پایان پروژه دیر نشود.
همین مثال، فرق Total و Free Float را عینی نشان میدهد.
مثال دوم: وقتی Free Float از Total Float کوچکتر است
در جدول بالا، فعالیت X دقیقاً همان حالتی است که خیلیها را گیج میکند: Total Float برابر ۱ است، اما Free Float صفر.
- اگر فقط پایان پروژه برایتان مهم است، X یک روز «بازی» دارد.
- اما اگر هماهنگی تیم (شروع بهموقع تست) برایتان مهم است، X عملاً هیچ بازیای ندارد.
قاعدهٔ سرانگشتی: وقتی میخواهید بدانید «این کار را میتوانم عقب بیندازم؟»، اول مشخص کنید برای چه چیزی نگران هستید: فقط تاریخ تحویل؟ (Total Float) یا نظم و شروع کار بعدی؟ (Free Float).
چرا شناخت شناوری در کنترل پروژه مهم است؟
- تخصیص هوشمند منابع: نیرو را از فعالیتهای دارای شناوری بردارید و به مسیر بحرانی بدهید تا اگر آنجا فشاری بود، آن را جذب کنید.
- مدیریت ریسک: میدانید کدام تأخیرها بیخطرند و کدام بحرانیاند؛ پاسختان به «فلان کار عقب افتاد» از قبل آماده است.
- حل تعارض منابع: وقتی دو فعالیت همزمان به یک نفر نیاز دارند، فعالیت دارای شناوری را جابهجا کنید.
- تمرکز نظارت: کنترل و گزارشگیری را روی فعالیتهای کمشناوری (بهخصوص مسیر بحرانی) متمرکز کنید.
- انعطاف برای کارفرما: میتوانید بدون تغییر تاریخ تحویل، تغییرات درخواستی را در «شکاف»های شناوری جا بدهید.
مزایا، محدودیتها و Trade-off تکیه بر شناوری
| جنبه | توضیح |
|---|---|
| مزیت اصلی | دید شفاف از اینکه کدام تأخیرها پروژه را به خطر میاندازند و کدام نه |
| مزیت منابع | امکان جابهجایی منابع از فعالیتهای منعطف به مسیر بحرانی |
| مزیت ریسک | اولویتبندی ریسکها بر اساس شناوری، نه بر اساس حس |
| محدودیت | شناوری یک «ذخیرهٔ موقت» است؛ وقتی مصرف شد، مسیر بحرانی جدیدی شکل میگیرد |
| محدودیت | شناوری به دقتِ برآورد مدتها وابسته است؛ برآورد غلط، شناوریِ غلط میسازد |
| Trade-off | مصرفکردن شناوریِ یک فعالیت برای کار کمارزش، انعطاف آیندهٔ پروژه را میسوزاند |
| Trade-off | برنامهٔ بیش از حد پر با حذف بافرها، شناوری را به صفر میرساند و پروژه را شکننده میکند |
نکتهٔ مهم: شناوری متعلق به کل پروژه است، نه فقط یک فعالیت. اگر یک فعالیت شناوری مشترکش با دیگری را مصرف کند، آن فعالیت دیگر هم بیبازی میشود.
اشتباهات رایج در محاسبه و استفاده از شناوری
- خلط Total و Free Float: این دو، نقطهٔ مرجع متفاوتی دارند؛ یکی به پایان پروژه نگاه میکند، یکی به شروع فعالیت بعدی.
- فرض ثابتبودن شناوری: با هر تغییر برنامه (مدت، وابستگی، منابع)، شناوری همهٔ فعالیتها باید دوباره حساب شود.
- نادیدهگرفتن شناوری: فقط روی مسیر بحرانی تمرکزکردن و از قضا انعطافِ موجود را هدر دادن.
- مصرف غیرهوشمند شناوری: استفاده از شناوری برای کار کمارزش، بهجای ذخیرهٔ آن برای جذب تأخیرهای پیشبینینشده.
- تقسیم شناوری بین چند فعالیت: شناوری بین فعالیتهای یک مسیر غیربحرانی «مشترک» است؛ دو فعالیت نمیتوانند هر دو، تمام آن را جداگانه مصرف کنند.
نکات کاربردی برای کنترلکنندگان پروژه
- نکته مهم: شناوری را بعد از هر بهروزرسانی برنامه، دوباره محاسبه کنید؛ نه فقط یک بار در ابتدای پروژه.
- ترفند کاربردی: منابعِ فعالیتهای دارای شناوری را بهعنوان «ذخیرهٔ اضطراری» مسیر بحرانی در نظر بگیرید.
- اشتباه رایج: این تصور که فعالیتِ دارای شناوری «مهم نیست»؛ آن کار حتماً باید انجام شود، فقط زمانش منعطف است.
- قبل از شروع این را بدانید: برای محاسبهٔ دقیق شناوری در پروژههای بزرگ، به ابزاری با وابستگیهای WBS و گانتچارت نیاز دارید؛ محاسبهٔ دستی زود خطاپذیر میشود.
دوایتفای و مدیریت شناوری
محاسبهٔ دستی شناوری برای پروژههای بزرگ، وقتگیر و خطاپذیر است. در دوایتفای میتوانید فعالیتها را با مدت، مسئول و مهلت تعریف کنید و با وابستگیهای WBS آنها را به هم وصل کنید؛ در گانتچارت، مسیر بحرانی و مهلتها را میبینید و شناوری هر فعالیت روشن میشود. به این ترتیب با هر تغییر برنامه، شناوری یکپارچه بهروز میماند و جابهجایی منابع بدون خطای محاسباتی انجام میشود.
سوالات متداول
جمعبندی
Float یا شناوری، معیار انعطاف یک فعالیت در زمانبندی است و تفاوت بین «میتوانم جابهجا کنم» و «هر تغییری مساوی با تأخیر است» را روشن میکند. Total Float را نسبت به پایان پروژه و Free Float را نسبت به شروع فعالیت بعدی بسنجید، شناوری را بعد از هر تغییر دوباره حساب کنید و از آن برای تخصیص هوشمند منابع استفاده کنید. با ابزار برنامهریزی، شناوری و مسیر بحرانی همیشه شفاف میمانند و شما در شرایط فشار، دقیقتر تصمیم میگیرید.
اگر موضوع Float در CPM برایتان مفید بود، پیشنهاد میکنیم مدیریت پروژه بر اساس استاندارد PMBOK و بهترین نرم افزار مدیریت پروژه 2026؛ کنترل وظایف، تیم و پیشرفت پروژه در یک محیط یکپارچه را هم بخوانید.
همین امروز به دوایتیفای بپیوندید
پروژهها را بدون سردرگمی پیش ببرید: همهٔ وظایف، پیشرفتها و گزارشهای تیم در یک محیط یکپارچه. ساختهشده برای شرکتها، استارتاپها و تیمهای دورکار — با راهاندازی چنددقیقهای، پشتیبانی فارسی و نسخهٔ آزمایشی رایگان.