اولین قدم در مدیریت پروژه، دانستن حقایق است

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

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

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

  • رسیدن به لیست مشخصی از وظایف پروژه
  • ایجاد نظم در انجام کارها در زمان مشخص
  • ارائه یک دید کلی در مورد وضعیت پروژه
  • ارائه راه حل برای انجام کارهای بزرگ تر در قالب کارهای کوچک تر
  • ایجاد ابزار جهت کنترل پروژه و اندازه گیری بازدهی
  • مدیرت موثر تر منابع پروژه
  • افزایش احتمال رسیدن به اهداف و در نهایت موفقیت پروژه

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

Project-Management

چطور برنامه ریزی را شروع کنیم؟

برای شروع یک برنامه ریزی مناسب (نه خوب)، اولین قدم دانستن حقایق (Facts) در پروژه پیش روست. اما منظور از حقایق پروژه چیست؟ لیست وظایف، اهداف پروژه، ریسک ها، وضعیت فعلی پروژه، نقاط مثبت و منفی انجام یا عدم انجام پروژه، و هر آیتمی که در نتیجه پروژه پیش رو تاثیر گذار هستند، را به عنوان حقایق پروژه باید لیست کرد. البته مشخصه که تمام آیتم های ذکر شده، قبل از شروع پروژه و یا در ابتدای آن، به صورت قطعی مشخص نیستند. در واقع همه فکت های یک پروژه همیشه، حتی در طول اجرای یک پروژه، حتماً تغییر می‌کنند و شما هیچ وقت با اطمینان صد در صد نمی‌توانید برنامه ای بنویسید که در 100در100 موارد بدون تغییر پاسخگوی نیازهای شما باشد. در واقع ریسک و عدم قطعیت از برنامه ریزی هیچ وقت جدا نیست و نخواهد بود. یک برنامه ریزی مناسب، برنامه ای نیست که تغییر نداشته باشد، بلکه برنامه ایست که در طول اجرا با یک تصمیم و تغییر مناسب، بیشترین بهره وری را عاید شما کند. برای بدست آوردن این اهداف، وجود این برنامه ریزی واقعاً مهم است.

یافتن حقایق پروژه

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

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

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

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

در مطالب بعدی به موضوعات گفته شده خواهیم پرداخت.

farasun.wordpress.com

Subcribe to Farasun feed جهت خواندن مطالب آینده مشترک وبلاگ شوید.

یافتن کار نیمه وقت و کسب تجربه در زمینه نرم افزار-قسمت پنجم

پیشنهاد می کنم ابتدا قسمت های قبلی این سری نوشته ها را بخوانید و سپس ادامه ی این مطلب را دنبال کنید.

قسمت پنجم : همکاری در پروژه های اوپن سورس

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

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

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

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

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

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

نظر سنجی

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

farasun.wordpress.com

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

farasun.wordpress.com

مطالب مرتبط :