مقالات، مهندسی نرم افزار، مهندسی سیستم، نرم افزار، شرکت های نرم افزاری

زمان بندی پروژه های نرم افزاری


زمان بندی پروژه یکی از مهمترین وظایف مدیران نرم افزار است. مدیران، زمان و منابع مورد نیاز برای انجام فعالیت ها را برآورد می کنند و آن ها را به ترتیب منسجمی سازمان دهی می کنند. حتی اگر پروژه جدید شبیه به پروژه های قبلی باشد، زمان بندی پروژه های قبلی نمی تواند مبنای درستی برای پروژه های جدید قرار گیرد. با توجه به این که پروژه های مختلف ممکن است از روش های طراحی و زبان های پیاده سازی مختلفی استفاده کنند، زمان بندی پیچیده تر خواهد شد.
اگر پروژه از نظر تکنیکی پیشرفته باشد، حتی اگر مدیران تمام جنبه ها را در نظر گرفته باشند، برآوردهای اولیه خوش بینانه خواهد بود. به این ترتیب، زمان بندی نرم افزار با زمان بندی هر نوع پروژه پیشرفته دیگر فرقی نمی کند. ساخت هماپیما، پل های جدید و حتی مدل های جدیدی از ماشین ها به دلیل مشکلات پیش بینی نشده، با تاخیر انجام می شوند. بنابراین به تدریج که اطلاعات بیشتری از پروژه به دست می آید، زمان بندی باید به روز شود.

farasun.wordpress.com

زمان بندی درست می تواند یک پروژه شکست خورده را به یک پروژه موفق تبدیل کند و بالعکس، یک زمان بندی نادرست می تواند یک پروژه موفق را به مرز نابودی برساند. شرکت های نرم افزاری در ایران با مبحث زمان بندی پروژه کاملاً بیگانه اند و این بی توجهی اثر نامطلوب خود را به صورت مستقیم در محصولات و مشتریان شرکت خواهد گذاشت. کیفیت نامطلوب محصولات نرم افزاری در ایران نتیجه بی توجهی به این مسائل مهم و دیگر مباحث مهندسی نرم افزار است.

زمان بندی پروژه، کل کار پروژه را به فعالیت های جداگانه ای تقسیم می کند و زمان مورد نیاز برای کامل کردن این فعالیت ها را برآورد می کند. معمولاً بعضی از این فعالیت ها به طور موازی انجام می شوند. زمان بندی های پروژه باید این فعالیت های موازی را هماهنگ کنند و کار را طوری سازمان دهی کنند که نیروی کار به طور بهینه مورد استفاده قرار گیرد. نباید وضعیتی به وجود آید که کل پروژه به خاطر عدم اتمام یک وظیفه حیاتی، به تاخیر افتد.
در برآورد زمان بندی، مدیران نباید فرض کنند که هر مرحله از پروژه فاقد هر گونه مشکلی است. افرادی که بر روی پروژه کار می کنند، ممکن است بیمار شوند یا پروژه را ترک کنند، سخت افزار ممکن است خراب شود و نرم افزار پشتیبان با تاخیر تحوبل داده شود. اگر پروژه جدید بوده و از نظر تکنیکی پیشرفته باشد، بعضی از بخش های آن ممکن است دشوار باشند و زمان بیشتری از زمان تخمین زده را به خود اختصاص دهند.

فرآیند زمان بندی پروژه های نرم افزاری
فرآیند زمان بندی پروژه های نرم افزاری

مدیران علاوه بر زمان باید منابع مورد نیاز برای تکمیل هر وظیفه را نیز برآورده کنند. منبع اصلی، منابع انسانی اند. سایر منابع عبارت اند از امکانات نرم افزاری، سخت افزاری و هزینه سفر کارکنان پروژه و …
زمان بندی پروژه معمولاً به صورت مجموعه ای از نمودارها نمایش داده می شود که نقص کار، وابستگی های فعالیت ها و انتصاب کارکنان را نشان می دهند. ابزارهای مدیریت زمان بندی پروژه، مثل Microsoft Project برای تولید خودکار نمودارها به کار می روند.
زمان بندی درست می تواند یک پروژه شکست خورده را به یک پروژه موفق تبدیل کند و بالعکس، یک زمان بندی نادرست می تواند یک پروژه موفق را به مرز نابودی برساند. همان طور که در ایران نیز شاهد بوده ایم، پروژه های بسیاری با صرف هزینه های زیاد و حتی پشتیبانی دولتی به علت عدم زمان بندی مناسب و پیش بینی های مناسب یا کاملاً نابود شده اند و یا نیمه تمام رها شده اند. مبحث زمان بندی کمتر در شرکت های کوچک و متوسط نرم افزاری مطرح می شود و این مطلب اثر نامطلوب خود را به صورت مستقیم در محصول و مشتریان آن شرکت خواهد گذاشت. این مسئله در بسیاری از شرکت های نرم افزاری ایران یا نادیده گرفته می شود و یا با روش های نادرست و ناقص اجرا می شود. شرکت های کوچک با مشتریان محدود که اصلاً با این مورد کاملاً غریبه اند و اجرای این روش ها را کاری بیهوده می پندارند. البته در مفید بودن آن شکی ندارند اما از مشکلات و هزینه های آن هراس دارند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

11 نظر برای “زمان بندی پروژه های نرم افزاری

  1. سلام
    مطلب خوبي بود. اما نكته بسيار بسيار مهم اين است كه زمان بندي پروژه بايد به اندازه باشد. يعني اينكه اگر هم زياد به اين موضوع پرداخته شود ضرر دارد.
    در همين مورد آخرين پست وبلاگ را بيشتر توضيح داده ام.

  2. @ مجید آواژ : سلام، مطلبی که اشاره کردید نیز درست است اما کم توجهی بعضی از شرکت ها و بی توجهی برخی افراد در این مورد بیشتر به چشم می خورد.

  3. يه سوال ساده مي پرسم… ساده هم جواب بده… كامپيوتري كه ويستا رو تقريبا مي تونه خوب ران كنه… سرشم درد نمي كنه .. به اينترنت هم متصل نيست .. توصيه مي كني لينوكس بريزه؟ اگه آره چه توزيعي؟

  4. @ DESERTER : هر چند سئوالت ربطی به پست نداره دوست عزیز اما اگر من باشم به کسی که به اینترنت دسترسی نداره و سرشم درد نمیکنه میگم از همون ویندوز ویستا استفاده کنه و طرف لینوکس نیاد. ویندوز سیستم عامل قدرتمندیه و نیازهای شما را برطرف می کنه اما اگر بخوام پیشنهادی بدم توصیه می کنم OpenSUSE رو نصب کنه، چون DVDهای کاملش در بازار ایران به راحتی پیدا میشه و تمامی نرم افزارهای مورد نیازش در اون وجود داره و نسبت به لینوکس های دیگه پایدارتره.
    راستی من به کسی که اطلاعاتش در مورد کامپیوتر خیلی پائین باشه و علاقه ای به لینوکس نداشته باشه به هیچ وجه توصیه نمی کنم لینوکس نصب کنه چون ممکنه هنگام نصب خرابکاری کنه و ضرر جبران ناپذیری به اطلاعات روی هاردش بزنه.

  5. سلام . مطلب خوبي بود . اما اگه نرم افزاري يا متد كاربردي و عملي پيدا كرديد كه پارامترهاي درستي براي محاسبه داشته باشه و درست زمانبندي كنه برام ايميل كنيد. چون بصورت اتفاقي به سايت شما برخوردم.

  6. سلام.سایت خوبی دارید.یک سئوال دارم
    زمان بندی پروژه ها به صورت تکراری چه تفاوتی با زمان بندی پروژه ها به صورت عادی دارد؟از چه ابزاری برای روش تکراری استفاده می شه؟

بیان دیدگاه